線性回歸:
優點:結果易于了解,計算上不複雜
缺點:對非線性的資料拟合不好
适用資料類型:數值型和标稱型
設X為資料集,xi為每一行所包含的特征的值,yi為每一行xi的結果,如圖:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICOyAjMwYTMwETNxgDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
其中xiT表示為xi的轉置,abc。。。n表示xi所包含的特征值。
設Yi表示用回歸系數的向量wi預測出來的y值,如圖:
有大量的訓練集X,也會出現大量的回歸系數W,但我們隻取一個最好的w,也就是與真實值得誤差最小的一個,
于是我們可以累計一個系數w預測的所有值與真實值的差的平方,也即平方誤差(抵消正內插補點與負內插補點)。
但是怎麼取出誤差最小的一個呢?利用求導的知識就可以。
在吳恩達老師的視訊裡下面式子的解釋直接就跳過了,結合《機器學習實戰》裡的解釋,我又推導了下,
大緻應該是這樣的。如果有錯,歡迎指正。
于是令最後的結果等于0,可以的得到最優w的估計值:
于是便可以利用這個回歸系數w畫出回歸曲線。
使用python3.6實作标準回歸函數:
def standRegres(xArr,yArr):
xMat = np.mat(xArr); yMat = np.mat(yArr).T
xTx = xMat.T*xMat
if np.linalg.det(xTx) == 0.0:
print("This matrix is singular, cannot do inverse")
return
ws = xTx.I*(xMat.T*yMat)
return ws
高斯核,權重線性回歸。。下次再看。。再更新