機器學習是在模型空間中選擇最優模型的過程,所謂最優模型,及可以很好地擬合已有數據集,並且正確預測未知數據。
那么如何評價一個模型的優劣的,用代價函數(Cost function)來度量預測錯誤的程度。代價函數有很多中,在Ng的視頻中,Linear Regression用的是平方代價函數:
Logistic Regression 用的是對數似然代價函數:
對於給定的含m個樣本的數據集,其平均損失稱為經驗風險。
損失函數越小,模型就越好。
我們來分析那個房價預測問題,假設房價面積A,樓層L,房間數N相關,那我們的目標就是要通過機器學習得到一個關於A,L,N的模型,這個模型可以預測房價,但問題是我們輸入是應該用A呢?還是A的平方,或者A 的三次方?(同樣對L和N提問)這是個無窮盡的問題,理論上,次數越高,對於已有測試數據能擬合地越好,但是次數越高,就會使模型越復雜,這時就會出現過擬合的問題,例如下圖中的第四張小圖,用9次方去預測,模型能擬合每個點,但是這種模型往往對已知參數預測地很好,未知數據預測能力很差。
當模型復雜度增加時,訓練誤差會越來越小,以至於能擬合樣本中的絕大部分點,但是測試誤差卻隨着復雜度的增加先減小后增加,存在一個極小值。
為了解決過擬合的問題,我們引入“正則化項”,它的作用是選擇經驗風險和模型復雜度同時小。這樣問題就轉化為求經驗風險和正則化項之和的最小值。
正則化項可以采取不同的形式,有L2范數,L1范數: