1. 程式人生 > >【Machine Learning, Coursera】機器學習Week6 機器學習應用建議

【Machine Learning, Coursera】機器學習Week6 機器學習應用建議

Advice for Applying ML

本節內容:機器學習系統設計的過程中,很可能會出現訓練的模型預測誤差較大的情況。選用最正確、有效的方法來改進演算法是機器學習成功的關鍵,它可以幫我們節省大量時間。本節就是關於如何高效訓練模型,把時間用在刀刃上。

相關機器學習概念:
1. 訓練集(training set)、交叉驗證集(cross validation set)、測試集(test set)
2. 模型選擇(model selection)
3. 學習曲線(learning curves)

1. Evaluating a Learning Algorithm

1.1 Evaluating a hypothesis

評估假設函式擬合效果:
- 特殊方法:畫圖,觀察圖形趨勢
- 標準方法:
Step1: 隨機選擇資料集的70%作為訓練集(training set),30%作為測試集(test set)
Step2: 用訓練集訓練引數θ
Step3: 用測試集計算測試誤差Jtest(θ)

對於迴歸問題,

Jtest(θ)=12mtesti=1mtest(hθ(xtest(i))ytest(i)))2

對於分類問題,如邏輯迴歸,有

Jtest(θ)=1mtesti=1mtest[ytest(i)log(hθ(xtest(i)))+(1ytest(i))log(1hθ(xtest(i)))]

分類問題的測試誤差還有另一種更好理解的表達方式,也被稱作0/1錯分率(misclassification error)

Jtest(θ)=1mtesti=1mtesterr(hθ(xtest),ytest)

其中

err(hθ(x),y)={1ifhθ(x)0.5,y=0orhθ(x)0.5,y=10otherwise.

1.2 Model selection and training/validation/test sets

1.2.1 Model selection

模型的特徵數不是越多越好,過多的特徵數容易導致過擬合。確定模型的多項式次數d(d=polynomial level)是機器學習系統設計中重要的一環,這也被稱作模型選擇(model selection)問題。

假設我們有十個多項式次數遞增的備選模型(d=1,2,…,10),確定多項式次數的步驟如下:
Step1: 用訓練集訓練每個模型,得到引數