DataScience 板


LINE

ot大的建議讓我弄懂了neural net訓練時 為什麼都要附上一組validation set (如果我又錯了 再請g大幫我validate一下!) 是的 我們就假設 如果沒有validation set會發生什麼事 另外我們再來假設 我們有無窮無盡的時間或是運算資源 沒有validation set 我們可以訓練neural net嗎? 答案是可以的 YES! 訓練到底需要什麼: (1) 訓練資料 (2)預先設好的超參數 (e.g. layer size, layer type, mini batch size 等等; 特別注意 我沒有設定epoch size; 或者我們把epoch size設為無限大(反正我們有無限 的時間和運算資源); (1)(2) 弄好就可以開始epoch by epoch 的訓練了; 每次搞定一個epoch 我們就會得到一個模組 我們讓它訓練到天荒地老; 產生無數個模組; 用數學集合的方式來表示的話,我們就會得到下面的集合. trained_models= {<epoch_i, train_preplexity_i, train_accuracy_i, Same_HyperParameter> |for i in N } 這個時候問題就來了!!! trained_models 是一個無限大的集合 我們想要從中挑一個最好成員 那該怎麼挑呢? 這些成員的超參數都一樣 所以超參數不能用來作為挑選的依據 那有哪些特徵是可能有用的呢? train_preplexity, train_accuracy 可能有用 但很可能不準 因為我們會有overfitting 的問題; epoch number也不能用, 因為也不一定高的epoch越好, 一樣是overfitting的問 題. 每個epoch的模組都一模一樣!!! 這樣就像唐伯虎點秋香 每個都戴上面具 那個才是我們的秋香呢? 隨便選一個 大家拼人品嗎? 挑到石榴姊怎麼辦? 唐伯虎就大喊了 "別人笑我太瘋癲 我笑他人看不川 ..." 看誰抖了一下 我們可以用類似的方式 預先準備好一個validation set,每個epoch訓練好,就要它預測validation set看看 現在加進了validation set, 我們的模組集合就會變成這樣 {<epoch_i, train_preplexity_i, train_accuracy_i, validation_preplexity_i, validation_accuracy_i, Same_HyperParameter> |for i in N } 現在我們就可以從validation preplexity 和 accuracy 來判斷要挑那個好. 注意這裡,我們依然*不是*挑超參數,因為這組模組集合的成員的超參數還是依然一模一樣 現在我的理解就變成跟著一起訓練的validation set的作用就是用來挑ephoch number了 還有 這裡的validation 跟 cross validation 沒有關聯; 因為我們沒有*cross* 用的一直是同一份的validation dataset 這個就僅僅算是*hold-out validation* 以上是算是澄清事實吧 要是講錯了 再麻煩大家指點! ###################################### 以下我再來提問 兩個問題 (a)用偷偷把validation set塞回去 這樣好嗎? 會有什麼問題? 如果這個validation set就是拿來挑 那個ephoch好, 那我們現在可以作弊一下 我們先使用validation set 找到最佳的ephoch number 記住這個黃金數字 現在把validation set放到training set 兩個合在一起 (這樣我們就有更多樣本了) 再把這個新的較大的training set再重新一次 反正我們已經*預先*知道那個epoch最好了 用偷偷把validation set塞回去 這樣好嗎? 會有什麼問題? 實作上 這是慣用手法嗎? (b)用了validation set 就*一定*能挑到最好的了嗎? 我認為覺得不是 這跟我們的validation set挑的好不好非常有關 要是人品不好 正好挑到不具代表性的樣本來做validation 那我們的validation preplexity 和 accuracy 也就不可靠了 (以後我要罵人都要罵 "祝你的validation set都挑到壞樣本!" 推文就說 "希望你的validation set挑的特別好!") 這個也呼應了pipidog大前文說的 validation set 怎麼挑是個大學問 validation成績最好 應該也不是一定最好的模組吧 要避免挑到極端樣本的機會 還是得來弄一下n-fold cross-validation 但是弄了n folds 之後訓練時間就增加了n倍 除了增加時間成本外 這樣的作法可能會有什麼問題呢? 實作上 這是慣用手法嗎? ※ 引述《outrunner (ot)》之銘言: : ※ 引述《lucien0410 (lucein)》之銘言: : : 可是可是我的問題沒有回答到 (是我一開始沒問對問題) : 不如你來回答問題, 你怎麼知道模型要訓練到什麼時候(epoch size)? : : 換個方式講 : : 假設我有兩份已知資料(AB兩份資料) : : A拿來訓練 : : B拿來測試 : : B的測試結果告訴我們成果到底怎樣 公平的驗證 : : B就是終極測試 : 這樣做當然很好, 但代價也很昂貴. : 回到上面的問題, 你需要驗證多少次? 每個epoch驗證一次? : 更別提很多時候是沒辦法這樣做的. : (ex. B沒有答案. 有的話我會拿來做訓練) : : 但其實訓練A之前 可以調整很多hyperparameter : : 所以就先把A切成 a b : : 拿a 訓練 b 測試 找尋最佳的hyperparameter : : 找到後 再依這樣的設定訓練A (期待B的測試會最好) : : 但是OpenNMT要求在訓練小寫a時也必須提供val set : : 這就是我的問題了 : 他就是邊訓練邊測試啊, 不然你怎麼知道訓練得如何了? : 其實就是把你想手動做的事情自動化啦. : 如果你有看他的說明書: : Validation files are required and used to evaluate : the convergence of the training. : It usually contains no more than 5000 sentences. : 第一句就是前面講的. : 第二句的意思是做這個很浪費時間. (別誤會, 是學問很大的意思) : 然後"找尋最佳的hyperparameter"也不是很重要, : 想太多不如先train下去, train久了就有fu了. --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 68.230.60.98
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1522376082.A.FDF.html ※ 編輯: lucien0410 (68.230.60.98), 03/30/2018 10:28:42
1F:→ EGsux: 你都要做seq2seq了 你要不要認真查一下書看一次這些ML DL 03/30 12:08
2F:→ EGsux: 基本阿 03/30 12:08
3F:推 yoyololicon: 原po感覺很興奮XD 03/30 12:46
4F:推 goldflower: 1. 假設你validation set找到epoch數 沒道理他就不能 03/30 16:51
5F:→ goldflower: 拿來挑其他超參數 03/30 16:51
6F:→ goldflower: 2. 你挑完超參數後你就能期待你已經找到很不錯的model 03/30 16:52
7F:→ goldflower: 所以放進去當然是可以 除非你validation分佈特別怪 03/30 16:52
8F:→ goldflower: 但validation分布特別怪的話你的training應該就GG惹 03/30 16:53
9F:→ goldflower: 3. 當然不一定R 你今天上班路線每天都會撿到一百塊 03/30 16:56
10F:→ goldflower: 所以你都挑那個時間出門 但是還是可能被別人撿走R 03/30 16:57
11F:→ goldflower: 4. 我很廢所以不要cue我 QQ 03/30 16:57
12F:推 galapous: 塞回去不就本末倒置,validation set 就是用來避免 03/31 12:56
13F:→ galapous: overfitting,你塞回去 train 你怎麼知道你 train 多久 03/31 12:56
14F:→ galapous: 不會 overfitting 03/31 12:57
15F:推 goldflower: 樓上可以參考下田神機器學習基石validation那部分 03/31 17:15
16F:→ goldflower: 比較直覺的想法就是當你選擇好超參數後 如果你認為 03/31 17:20
17F:→ goldflower: 加入validation會導致overfitting 也就是你相信 03/31 17:20
18F:→ goldflower: validation在母體當中偏向雜訊 那麼也就代表你整個 03/31 17:21
19F:→ goldflower: training過程完全是不可信的 03/31 17:21
20F:→ goldflower: 那麼你當初選出來的超參數就是不可信任的 03/31 17:23
21F:推 goldflower: 上述筆誤 training過程改成validation才對 03/31 17:26
22F:推 goldflower: 呃 我說比較直覺是對我比較直覺 不知道其他人如何XD 03/31 17:36
23F:→ ACMANIAC: 回樓上,假設你 train 10 epoch 收斂,超過就 overfit- 04/01 11:54
24F:→ ACMANIAC: 那你怎知道 train + val 幾個 epoch 不會 overfitting? 04/01 11:55
25F:→ ACMANIAC: 還是直接設定 10 ? 訓練樣本不同,收斂情形會相同嗎? 04/01 11:57
26F:推 goldflower: 你都知道10個了 那就只訓練10不就好了 04/01 12:57
27F:→ goldflower: 資料越多越難overfitting 04/01 12:58
28F:→ goldflower: 而你在validation的時候你已經找出一組超參數使得他 04/01 12:59
29F:→ goldflower: 在validation上也運作的不錯 所以收斂情形也不會差太 04/01 12:59
30F:→ goldflower: 多 如果收斂情形差很多 那你當初根本沒有選擇到這組 04/01 12:59
31F:→ goldflower: 超參數的機會 04/01 12:59
32F:→ lucien0410: g大果然懂很多 04/01 13:38
33F:→ lucien0410: g大我的理解是如果train在epoch k收斂, train+val應 04/03 01:18
34F:→ lucien0410: 該會在epoch k的時候收斂. 這樣對嗎? 04/03 01:18
35F:推 goldflower: 我們只能"希望"如此 經驗上可能不會差太多 04/03 12:48
36F:→ lucien0410: 這可以是一個實證問題吧 paired t-test 可以搞定 04/03 13:22
37F:→ lucien0410: 一組train 一組train加val 04/03 13:24
38F:推 goldflower: 雖然我沒看過這樣做的 不過或許可以吧 拿training 04/03 15:37
39F:→ goldflower: error差何時顯著這樣看? 04/03 15:37
40F:→ lucien0410: 手機推文吃掉我的符號了 04/03 16:35
41F:→ lucien0410: 如果train在epoch k收斂, train+val應該會在 04/03 16:37
42F:→ lucien0410: 在epoch >= k的時候收斂. 這樣對嗎? 04/03 16:38
43F:推 goldflower: 直覺上來說是這樣 數學上的證明要交給高手了@@ 04/03 23:20
44F:→ goldflower: 如果小於就收斂的話就代表validation的部分在w的超空 04/03 23:20
45F:→ goldflower: 間中提供了更好的梯度方向 那就回到上面 我們可能 04/03 23:21
46F:→ goldflower: 挑不到這組美妙的超參數 04/03 23:21
47F:推 goldflower: 恩...似乎也不一定挑不到 小於就收斂我目前想不到 04/03 23:26
48F:→ goldflower: 太好的解釋 04/03 23:26
49F:→ lucien0410: g大真的是高手 04/04 00:49







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