嶺回歸與多項式回歸的最大差別就是損失函數上的差別。嶺回歸的代價函數如下:
為了友善計算導數,通常也會寫成以下形式:
上述式子中w為長度為n的向量,不包括偏置項的系數 θ0,θ是長度為n+1的向量,包括偏置項系數θ0;m為樣本數,n為特征數。
嶺回歸的代價函數仍然是凸函數,是以可以利用梯度等于0的方式求得全局最優解:
上述方程與一般線性回歸方程相比多了一項λi,其中i表示機關矩陣,加入xtx是一個奇異矩陣(不滿秩),添加這一項之後可以保證該項可逆,由于機關矩陣上的對角元素均為1,其餘元素都為0,看起來像是一條山嶺,是以而得名。
還可以使用随機梯度下降算法來求解:
參數更新就可以如下表示:
首先還是定義一個基類,各種線性回歸都需要繼承該基類:
嶺回歸的核心就是l2正則化項:
然後是嶺回歸的核心代碼:
最後是主函數:
結果: