iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 14
0
Google Developers Machine Learning

初心者的自我挑戰系列 第 14

Google Study Jam- Launching into machine learning on coursera Module3 - part1

  • 分享至 

  • xImage
  •  

Generalization and ML Models:
在這章提到之前的問題,當訓練之後Loss最小,Accuracy最高時為甚麼model 在predict unseen data時總是成果不太好?原因是因為overfitting!

overfiting之前提到過,也就是你可以想像你原本在做一個linear regression的問題,當model成功fit你的data point時再加入其他沒看過的data point,此時如果你的model是memorize your training data set, 也就是你的model是記住了考古題的答案的感覺!這樣他們在新的data表現就會很差.

那究竟如何減少overfiting? ---> 使用validation set!
當你今天擁有收集好的data後,把你的data先分成 training set 跟 validation set, 有點像是我們在準備學測阿~ 把歷屆考題拿出來可能100~106年當作訓練, 然後107,108當作測試實力的題目這樣, 這樣可以知道自己在沒看過考題的狀況下到底學到了沒有. 概念就是如此. 然後當今天發現你在training set 上表現很好, validation set 上也表現很好那就知道 prediction 結果可能不錯. 但是有一個問題! 那我們怎麼知道甚麼時候該結束訓練以避免overfiting呢? 很簡單,一般來說training set 和validation set 的結果差不多時就該停止,當validation set 的誤差開始變大,那就是你overfit training set 的時候.
這時候就是該停止訓練的時機點了.
https://ithelp.ithome.com.tw/upload/images/20190928/20121109NcxVL1eCZD.jpg

然而這樣還不足,因為validation set 是你在training過程中驗證的set,你的model會根據validation的output來調整訓練,也就是說你的model已經看過他了,因此validation的結果並不一定等於真的實際看沒看過的data的結果.與就是說經過100~106的考題你準備考試,接著根據107,108的考題,你開始調整讀書的方式補強不足的地方,然而這些都不代表你在109年考試一定會很好!也就是說109年的才是真正的test,使用validation只是在真正test之前先訓練的步驟之一. 因此你還需要testing set 來當真正應用的最後關卡.
如此一來更顯得data的重要性, 但是今天如果data不夠,你也可以採取cross validation的方式,也就是說把training set 和 validation set 拆成很多份,分別去做訓練,每次訓練都隨機用不同批,這樣你每次訓練看到的data都不同一批,如此一來就不怕會overfit特定批的資料. 這樣可以用較少量的data來達成訓練.

下次接著講如何來分批這些data!


上一篇
Google Study Jam- Launching into machine learning on coursera Module2 - Last part - summary
下一篇
Machine learning_Deep learning_yolo v1
系列文
初心者的自我挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言