為了發研究所學生畢業論文,開始系統的學習逃不過的機器學習。實驗室師兄推薦了李宏毅老師B站的課程,我将以部落格的形式對所學的内容的大架構進行總結回顧,詳細筆記記在ipad上,友善之後的複習。
機器學習,即是讓機器找出輸入與輸出之間對應的函數。分為regression(回歸)和classification(分類)兩種。
對于訓練集的處理步驟如下:
1)設定帶未知參數的函數
這是基于設定Model的人的domain knowledge,也就得是相關領域專業人士來設定。在通過機器訓練一段時間後,具有了一定的經驗,也可對Model進行調整。
2)設定Loss函數
表示為L(b,w),函數的自變量為Model中的未知參數。
3)找最優解
最優解根據Error Surface(誤差曲面)來解。
介紹了一種最優解的解法:Gradient Descent(梯度下降),可能會面臨local minima(局部最優解)的問題,解法如下:
- 先在Error Surface上随機找一個初始點。(其實有比随機更合适的選擇方法)
- 計算随機點的微分(此為Loss函數的因變量對每一各自變量的未知參數取微分)。下一次的點的某一參數坐标W1=W0- *W0處的微分。 為learning rate,此為自己設定的hyperparameter。
- 疊代更新所找的點。(這個點即為合适的參數組)
可将資料N随機分成batchs。Epoch:把所有的batch都看一次;update:每一次更新參數。
Batch size也是一個超參數。
【我為什麼上傳不了圖檔!哭哭】