天天看點

機器學習筆記:線性回歸線性回歸:

線性回歸:

優點:結果易于了解,計算上不複雜

缺點:對非線性的資料拟合不好

适用資料類型:數值型和标稱型

設X為資料集,xi為每一行所包含的特征的值,yi為每一行xi的結果,如圖:

機器學習筆記:線性回歸線性回歸:

其中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
           

高斯核,權重線性回歸。。下次再看。。再更新