1. 程式人生 > >各種回歸算法

各種回歸算法

局部加權線性回歸 ati 最小 tin 參與 權重 reference 算法 gpo

  • 線性回歸

線性回歸(linear regression)是最簡單的模型,通過學習一個線性模型來預測輸出值。多元線性回歸可表示為$$f(x_i)=w^Tx_i+b$$根據最小二乘法,尋找最優$$\hat{w}^*=argmin(y-W\hat{w})^T(y-X\hat{w})$$求導得到$$\hat{w}^*=(X^TX)^{-1}X^Ty$$在實際樣例中,矩陣$X^TX$往往不是滿秩矩陣,如樣本特征數量大於樣本數量,則必然不滿秩,此時可以求解出多個使均方誤差最小的$\hat{w}$,此時則需要引入正則化(regularization)項。

  • 局部加權線性回歸

對於用高階多項式進行線性回歸,若階數過低,容易造成欠擬合(underfitting);階數過高,容易造成過擬合(overfitting)。因此可以引入加權項,即$$\hat{w}^*=argmin(y-X\hat{w})^TW(y-X\hat{w})$$其中$W$為權重矩陣,為對角矩陣,其對角線上元素$W_{ii}$為對應樣本點$x_i$的權重值。

我們需要使距離所給定的$x$越近的樣本點的權重越高。常用高斯核函數,其對應表達式為$$w_{ii}=exp(frac{|x_i-x|}{-2k^2})$$可以看出,當$k$過大,所有樣本權重都近似為1,容易造成欠擬合;當$k$過小,距離過遠的點無法參與到回歸過程,容易造成過擬合現象。

局部加權線性回歸缺點和KNN近似,即每次要計算一個點的預測值時,需要利用所有的已知數據樣本進行計算,計算量很大。

  • Reference

[1]《機器學習》,周誌華

[2] http://python.jobbole.com/88747/

各種回歸算法