Coursera吳恩達機器學習課程 總結筆記及作業程式碼——第6周有關機器學習的小建議
1.1 Deciding what to try next
當你除錯你的學習演算法時,當面對測試集你的演算法效果不佳時,你會怎麼做呢?
- 獲得更多的訓練樣本?
- 嘗試更少的特徵?
- 嘗試獲取附加的特徵?
- 嘗試增加多項式的特徵?
- 嘗試增加
λ ? - 嘗試減小
λ ?
由此我們引出了機器學習診療法
1.2 EvaluaDng a hypothesis
我們通過將資料集分成訓練集和測試集,
將訓練集訓練出的引數用測試集資料測試效能。
線性迴歸時:
邏輯迴歸時:
1.3 Model selecDon and training/validaDon/test sets
在多項式迴歸時,我們該怎麼選擇次數作為我們的假設模型呢?
我們可以把資料集分為三類,訓練集,交叉驗證集和測試集,
用交叉驗證集來作為評判選擇的標準,選擇合適的模型,而測試集則是作為演算法效能的評判。
1.4 Diagnosing bias vs variance
上面的圖分別表示了高偏差,剛好,高方差
從圖中可以看出,隨著多項式次數的增大,訓練集上的偏差逐漸變小,而交叉驗證集上的偏差在減小到一定程度後開始升高。
在高偏差(欠擬閤中)
在高方差(過擬閤中)
1.5 Regularization and bias/variance
在加入正則化項後根據
我們同樣可以通過在交叉驗證集上的測試選擇較好的
根據
1.6 Learning curves
根據樣本的大小與誤差的關係我們可以畫出一般的學習曲線模樣
在高偏差的情況下,隨著樣本數目的增大,訓練集上的誤差和交叉驗證集上的誤差逐漸逼近。
也就是說,增大樣本的方法對高偏差的模型並不能起到一定作用
而模型處於高方差的情況下,增大樣本可能會起到效果。
對開頭提出的各種措施,我們看看他們適合於什麼樣的模型
2.1 Machine learning system design
以做一個垃圾郵件分類器為例。
我們需要尋找最頻繁出現出現的n個單詞(10000~50000)作為訓練集,而不是隨意手工