看板 Python 關於我們 聯絡資訊
不好意思,打擾了 想請教下面圖片中關於 實作四折的k fold交叉驗證的程式碼 (出自市面上的教學書) http://imgur.com/LM1nonA 自己的理解是 交叉驗證只建立一次模型 之後執行k次拆解訓練集去訓練跟驗證 但圖中迴圈中會呼叫四次build_model方法 不過為什麼不會變成重新建立四次新模型,而覆蓋之前的權重? 自己以為會是建立一次編譯模型後 再連續四次用切割過的不同子資料集 呼叫fit做訓練就好 謝謝 ----- Sent from JPTT on my Sony I4193. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.121.145 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1615203035.A.66F.html ※ 編輯: Tombo (111.71.121.145 臺灣), 03/08/2021 19:31:42
aassdd926: 每次的訓練集不同,模型就不同,等於 5 folds 給你 503/08 23:32
aassdd926: 個模型03/08 23:32
aassdd926: 而為何不同,就是因為模型會根據 training data fit03/08 23:36
aassdd926: 出它的 weights / parameters03/08 23:36
Tombo: 我最後的問法有問題沒講清楚,我是想連續用k個不同的分割資03/08 23:53
Tombo: 料集來一口氣訓練完成,但是他的做法不是會一次又一次覆蓋03/08 23:53
Tombo: 權重,而不能巡迴一遍資料集03/08 23:53
※ 編輯: Tombo (140.122.136.109 臺灣), 03/08/2021 23:55:29
empireisme: 想問哪本教科書,感恩 03/09 00:05
aassdd926: 我不太確定我理解的對否,但這樣的概念不就是1個訓練 03/09 10:48
aassdd926: 集,然後你用不同的batch size 03/09 10:48
Tombo: tensorflow與keras- python深度學習應用實務,這本書 /他會 03/09 13:07
Tombo: 分割成子資料集,跟不同驗證資料集,所以好像也不太算bach si 03/09 13:07
Tombo: ze不同而已??就像最新回文的那位版友說的可以加強論證的 03/09 13:07
Tombo: 感覺,抱歉最近才剛學習很多不了解 03/09 13:07
min86615: 不同的initialization weight有一定程度的會影響模型表 03/09 18:17
min86615: 現,所以通常會重新創建.(模型可能會學到上個模型留下來 03/09 18:17
min86615: 的pattern) 03/09 18:17
Tombo: 看完大家的回覆跟再看一次書後,應該是自己誤解交叉驗證的 03/09 19:37
Tombo: 背後精神,感覺是透過子資料集創建不同模型(所以需要重建 03/09 19:37
Tombo: ),再透過這k個模型用平均數據或是其他方法找出結論,不是 03/09 19:37
Tombo: 用同一個模型重複訓練不同子資料集 03/09 19:37
min86615: 原po如果你用其他可解釋性高的機器學習算法就不用重建, 03/10 08:11
min86615: 像是線性回歸之類的,因為答案是唯一,不會因初始化影響 03/10 08:11
min86615: ,反正你只要得知error,所以這本書為何要重建其實是因 03/10 08:11
min86615: 為他用了NN,NN只能找到局部最優解,不像線性回歸,所以 03/10 08:11
min86615: 導致每次NN的重量權值是不同的,甚至有可能被init weigh 03/10 08:11
min86615: t影響。我認為原po的盲點應該在這 ,Kfold 就只是交叉驗 03/10 08:11
min86615: 證的手法,你問我模型該不該保留等MSEMAE都符合需求要去 03/10 08:11
min86615: 做預測時再保留就行 03/10 08:11
ddavid: 其實K-fold就是驗證而已,並沒有打算要用這K個模型找結論 03/10 18:08
ddavid: 用多個模型綜合得到結論的方式有很多種,例如我回應文提到 03/10 18:09
ddavid: 的bagging、另外boosting、random forest也都是 03/10 18:11
ddavid: 他們在「做法上」有些地方看起來跟K-fold有相似性,但意義 03/10 18:11
ddavid: 上並不是相同的 03/10 18:12
ddavid: 只是「剛好」你可以把K-fold的K個模型留下來做bagging省去 03/10 18:12
ddavid: 重train的時間而已,但就只是剛好可利用而已 03/10 18:13