過拟合問題(Overfitting)
當我們對一個問題建立線性回歸模型或邏輯回歸模型時,不恰當的選擇特征會導緻過拟合問題。過拟合問題是指當我們選擇了很多的特征值時,模型對資料集的每一個example都符合的很好,但是對新的example卻預測不能,偏差較大。
解決方法
方法一:減少特征量的數量
方法二:正則化
本片部落格暫不讨論方法一,着重于正則化的分析。
正則化(Regularization)
正則化的思想是保留所有特征量,而通過減小
的值解決過拟合,這樣我們就可以在不舍棄任何一個有價值的量的前提下解決過拟合問題。
線性回歸正則化
線性回歸正則化的具體操作方法是在代價函數後添加一項
,其中
是正則化系數,這樣
代價函數變為:
梯度下降算法變為:
repeat until convergence{
}
正規方程法變為:
,其中E是(n+1)*(n+1)的機關矩陣。注意此時不存在不可逆的問題。
邏輯回歸正則化
代價函數變為:
梯度下降算法變為:
repeat until convergence{
}
代碼實作
通過使用MATLAB和Python,實作了邏輯回歸的正則化處理。代碼已上傳至github,檔案夾是machine-learning-ex2。
若對本篇部落格有任何問題,歡迎指正,歡迎讨論。