iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
自我挑戰組

30天淺談機器學習系列 第 4

Day4:梯度下降法(Gradient descent)

  • 分享至 

  • xImage
  •  

  梯度下降法經常被使用為優化學習的一種方式,尋找局部最佳解(至於為何是局部,之後會提到),想像有個半圓形的碗,在任何位置放入一顆球,那顆球就會在碗內滾動,每次滾動的高度都會越來越小,直到停在碗底。梯度下降法正是運用這樣的方式來計算,求出最佳解。
https://ithelp.ithome.com.tw/upload/images/20210914/20140722k76OjcV7td.png
  在原有的函式(也就是黑色曲線),隨機找到一個點,用微分的方式找到與這曲線的切線,目標是要把這切線變成水平線(也就是切線為零),因此發現這切線不為零的時候,接著調整切線的參數,計算曲線與切線相交的點,再慢慢調整直到找到最佳解。
  但要注意切線的調整大小,如果調整幅度太大,可能會無法找到最佳解,一直卡在同一個地方,如下圖直接把切線調整為零,則永遠無法抵達最佳解。
https://ithelp.ithome.com.tw/upload/images/20210914/20140722yd8SYMyGLY.png
 至於為何只能找到局部最佳解,因為不可能剛好就只有一個凹下去的最佳解,如下圖,如果先找到了其中一個局部最佳解,就無法發現有更好的最佳解了,除非用其他資料測試的時候,有發現到原先的解並沒有那麼好,才有可能再做調整,因此為什麼機器學習要一直不斷的訓練,會比一次次更好,有一部份原因正是找到更好的局部最佳解。
https://ithelp.ithome.com.tw/upload/images/20210914/20140722DjiIF0h0vm.png
 另外,梯度下降法,如果剛好在坡度較為平緩,但並非最佳解的地方,也會使機器學習上頗有困難,如下圖。
https://ithelp.ithome.com.tw/upload/images/20210914/201407228hhVUEZrUW.png
 雖然梯度下降法仍然有些缺點,但只要透過不斷地訓練就避免陷入莫名的狀況,使得機器越來越好。


上一篇
Day3:交叉驗證法(Cross-validation)
下一篇
Day5:類神經網路架構
系列文
30天淺談機器學習13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言