Python 板


LINE

板上的大大好, 最近自學時所遇到這個問題不能理解, 我想利用keras分類2個圖片, 我將這2個圖片資料複製成2000個, 也就是各1000個相同的資料, 並將其中20%設為驗證組, 在沒有設定Dropout的情況下, 為什麼訓練組在第1次訓練時,準確率不會是100%, 因為是用一模一樣的資料不是應該不會有錯誤的情況, 我想問是因為activation的選用所造成的,還是有其他因素導致這個結果? 希望有人能替我解惑,感謝。 以下是模型有關的code #建立模型 model = Sequential() # 模型加入【輸入層】與【第一層卷積層】 model.add(Conv2D(filters=16, kernel_size=(5,5), padding='same', input_shape=(306,102,1), activation='relu')) # 模型加入【第一層池化層】 model.add(MaxPooling2D(pool_size=(2, 2))) # 模型加入【第二層卷積層】 model.add(Conv2D(filters=64, kernel_size=(5,5), padding='same', activation='relu') # 模型加入【第二層池化層】 model.add(MaxPooling2D(pool_size=(2, 2))) # 模型加入【平坦層】 model.add(Flatten()) # 模型加入【隱藏層】 model.add(Dense( units = 128, activation='relu')) model.add(Dense(2, activation='softmax')) print(model.summary()) # 設定模型的訓練方式 model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) train_history=model.fit(x=x_Train4D_normalize, y=y_TrainOneHot, validation_split=0.2, epochs=5, batch_size=2, verbose=2) --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.156.98 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1574163431.A.399.html
1F:推 TuCH: 所以是幾%?11/19 20:22
測了四組,第一個epoch就會99.5%以上,後面每個epoch都會是100%了,但是我以為應該 要第一個epoch就是100%,所以才會問這個問題
2F:推 OnePiecePR: 就沒有說有模型看過資料就能夠100%的規定啊11/19 21:19
3F:推 OnePiecePR: 有可能第一個epoch 67%,第二個epoch 76%,第三個82%,11/19 21:22
4F:→ OnePiecePR: 慢慢爬上去,說不定爬到86%就上不去了。11/19 21:22
5F:→ OnePiecePR: relu 還好啊。我也是新手,希望沒說錯。11/19 21:22
6F:推 OnePiecePR: 不然就再加更多層啊。有沒有考慮第一個卷積層的 filte11/19 21:25
7F:→ OnePiecePR: r 比第二層多看看?11/19 21:25
我會覺得要100%是因為都是同樣兩個資料的關係啦XD 所以想說有沒有其他原因導致這個 問題 基本上20個data在第二個epoch就會100%了 但我想說同樣的資料不是應該第一個e poch就應該100%嗎(? 才會提出這個問題 ※ 編輯: zax5566x2 (140.113.156.98 臺灣), 11/19/2019 21:34:29
8F:推 kaneson: 因為gradient descent 找 loss 的 local min 不是一次到11/19 22:32
9F:→ kaneson: 位, learning rate也是因素11/19 22:32
瞭解,這感覺是我的問題的答案
10F:推 ddavid: 這要看你的準確率怎麼算的吧?11/19 22:39
11F:→ ddavid: 如果是設定為二元分類的話,照理說這邊只有0% 50% 100%三11/19 22:41
12F:→ ddavid: 種值,當然這是你的兩張圖在training testing data都均勻11/19 22:42
13F:→ ddavid: 的情況11/19 22:42
14F:→ ddavid: 但如果你不是做成二元分類而是最後拿到一個分數,比如是A11/19 22:43
15F:→ ddavid: 這張圖的分數0.8 B是0.2,然後把1/0做為正確答案的話,就11/19 22:44
16F:→ ddavid: 會評估出非0% 50% 100%的評估值了11/19 22:45
17F:→ ddavid: 另外如果在testing data裡面不均勻的話,當然也可能有不一11/19 22:46
18F:→ ddavid: 樣的值出現,就算使用二元分類。比如是4:6的話就會有11/19 22:46
19F:→ ddavid: 0% 40% 60% 100%四種可能11/19 22:47
20F:→ ddavid: 而以99.5%這個情況來看,應該不是不均勻的狀態,所以就比 11/19 22:47
21F:→ ddavid: 較像是你最後的結果是regression導致的,你得到了非常接近 11/19 22:48
22F:→ ddavid: 1的分數,但可能訓練還有不足、或是lr不夠小導致最後掉不 11/19 22:49
23F:→ ddavid: 到完美的那個點、又或者掉到某個99.5%的local maximum出不 11/19 22:50
24F:→ ddavid: 來了之類的 11/19 22:50
不太懂二元分類跟分數的說法,二元分類是指只有兩種分類情況就是二元分類,還是說需 要特別去設定。 然後不均勻的狀態是指兩種資料的分佈嗎?但batch size不是會隨機將資料分配,還是因 為只有兩種資料,batch size 設為2容易造成分佈不均勻的情況。
25F:推 numpy: 兩張圖片的情況下你複製資料1000倍跟跑1000倍的epochs其實 11/19 23:43
26F:→ numpy: 應該是一樣的意思XD 11/19 23:43
27F:推 numpy: 剛好你batch size是211/19 23:47
其實主要是我主觀認為應該要第一個epoch就要100%啦XD,因為我自己也沒講清楚我的問 題,但上面好像已經有答案了,就結果而言用相同的資料最終會達到100%是沒問題的,只 是不會在第1個epoch而已QQ。
28F:推 ddavid: 其實如果有洗牌的話就有可能稍微跟1000倍epochs不一樣啦,11/20 00:08
29F:→ ddavid: 因為前者就有可能連續多次train到同一張圖,改epochs的話11/20 00:08
30F:→ ddavid: 就算洗牌也最多就是AB BA這樣的連續兩次XD11/20 00:09
有洗牌的話是指batch size會隨機分佈,導致每個batch裡兩種圖像數量分佈不一樣,所 以還是跟1000倍epoch不一樣嘛(?希望我理解沒有錯 ※ 編輯: zax5566x2 (140.113.156.98 臺灣), 11/20/2019 21:39:12 ※ 編輯: zax5566x2 (140.113.156.98 臺灣), 11/20/2019 21:41:15
31F:推 ddavid: 二元分類其實就是你最後吐output之前有沒有過一層強制把它 11/20 22:45
32F:→ ddavid: 變成1/0 or 1/-1 or 1/2這樣的輸出 11/20 22:46
33F:→ ddavid: 如果沒有的話,例如兩個類別是1 2,那就可能吐出0.892、 11/20 22:47
34F:→ ddavid: 1.812、1.433之類的值,而我們看離1近還離2近最終判斷是哪 11/20 22:48
35F:→ ddavid: 一邊,但計算Error的時候是用實際的y去減預測出來這個值( 11/20 22:49
36F:→ ddavid: 然後看取絕對值或平方或其他處理)來評估的 11/20 22:50
37F:→ ddavid: 也就是說當你最後有沒有通過那層強制離散化處理,則計算的 11/20 22:51
38F:→ ddavid: Error概念是有一點差別的 11/20 22:51
39F:→ ddavid: 有通過的話,你評估的是 預測正確數/應預測總數,也就是以 11/20 22:52
40F:→ ddavid: 案例「數量」為單位的評估 11/20 22:52
41F:→ ddavid: 但最後沒有通過那樣一層的話,你評估的就會是「你的預測平 11/20 22:53
42F:→ ddavid: 均離實際答案多近」。也就是答案是第2類,結果吐出1.9跟 11/20 22:54
43F:→ ddavid: 1.6,雖然到最後實用時都會當成預測第2類正確來處理,但在 11/20 22:55
44F:→ ddavid: 內部分析評估時1.9顯然是比1.6更好的預測 11/20 22:55
45F:→ ddavid: 也因此,例如以你的情況,就算2000張圖都猜對了,但是對第 11/20 22:56
46F:→ ddavid: 1類圖吐出的output都是1.005,對第2類圖吐出的都是1.995, 11/20 22:56
47F:→ ddavid: 那麼你就還是有個0.005的平均誤差存在 11/20 22:57
48F:→ ddavid: 即便實用上它吐出1.995我們就會做為預測為第2類來使用 11/20 22:58
49F:→ ddavid: 然後洗牌的部分是說單一epoch裡面train圖的順序會打亂 11/20 22:58
50F:→ ddavid: 比如你的training data裡面有500張A跟500張B,但連進500張 11/20 22:59
51F:→ ddavid: A再進500張B循環,或者ABABABABAB循環,或者每個epoch都打 11/20 23:00
52F:→ ddavid: 亂,第一個epoch AAABAAABBBABABBA...,第二個BBABAABBAB 11/20 23:00
53F:→ ddavid: ...,不同的打亂方式是有可能讓訓練出來的模型出現差異的 11/20 23:01
54F:→ ddavid: ,並不會因為都是同樣張數就肯定有一樣結果 11/20 23:02
55F:→ ddavid: 這也會跟使用的機器學習模型有關,有些模型確實不受順序影 11/20 23:02
56F:→ ddavid: 響,但以NN往往相對都比較會受到training data順序影響 11/20 23:03
57F:推 Rockman5042: 把最後一層softmax改成sigmoid ,輸出就會只有0跟1 11/21 03:29
58F:推 ddavid: sigmoid也沒有直接變成0/1啊 11/21 22:10
59F:→ ddavid: 你要最後直接過一層離散化的0/1 function才行 11/21 22:11
60F:→ ddavid: Sigmoid跟Softmax的差異不是在這邊 11/21 22:11
61F:推 ddavid: Softmax確保一次輸出多個類別的機率值時,加總會是1 11/21 22:18
62F:→ ddavid: 而Sigmoid沒有這個特性,它可以對A類別說0.9同時也對B類別 11/21 22:18
63F:→ ddavid: 說是0.85 11/21 22:18
64F:→ ddavid: 所以如果做multi-label learning的時候就比較會採Sigmoid 11/21 22:19







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP