線性迴歸、預測迴歸、一般迴歸
平方誤差代價函式
我們的目標就是讓J()儘可能的小
梯度下降
- := 是賦值的意思
- 是指learning rate(學習速度)
對theta求導(斜率),theta在左半邊的時候,斜率為負,所以theta會向右更新,同理在又邊的時候會向左更新。可以得出當斜率為0的時候,theta不再更新。
我們可以用梯度下降對多個引數(theta)進行求導,當多個引數均開始收斂(即前後兩次迭代的值不再發生變化了。一般情況下,會設定一個具體的引數,當前後兩次迭代差值小於該引數時候結束迭代)的時候,這即為一個比較合適的值。
最小二乘法
將訓練特徵表示為X矩陣,結果表示成y向量,仍然是線性迴歸模型,誤差函式不變。那麼θ可以直接由下面公式得出
此方法要求X是列滿秩的,而且求矩陣的逆比較慢。
帶權重的線性迴歸
上面提到的線性迴歸的誤差函式裡系統都是1,沒有權重。帶權重的線性迴歸加入了權重資訊。
基本假設是
!其中假設w(i)符合公式:
其中x是要預測的特徵,這樣假設的道理是離x越近的樣本權重越大,越遠的影響越小。這個公式與高斯分佈類似,但不一樣,因為W(i)不是隨機變數。
此方法成為非引數學習演算法,因為誤差函式隨著預測值的不同而不同,這樣θ無法事先確定,預測一次需要臨時計算,感覺類似KNN。
分類和對數迴歸
一般來說,迴歸不用在分類問題上,因為迴歸是連續型模型,而且受噪聲影響比較大。如果非要應用進入,可以使用對數迴歸。
對數迴歸本質上是線性迴歸,只是在特徵到結果的對映中加入了一層函式對映,即先把特徵線性求和,然後使用函式g(z)將最為假設函式來預測。g(z)可以將連續值對映到0和1上。
對數迴歸的假設函式如下,線性迴歸假設函式只是θ^T x
######sigmod函式/Logistic函式
對數迴歸用來分類0/1問題,也就是預測結果屬於0或者1的二值分類問題。這裡假設了二值滿足伯努利分佈,也就是
當然假設它滿足泊松分佈、指數分佈等等也可以,只是比較複雜,後面會提到線性迴歸的一般形式。
與第7節一樣,仍然求的是最大似然估計,然後求導,得到迭代公式結果為
這個結果看上去與線性迴歸類似,只是θ^T x(i)換成了hθ (x(i)),但其實h就是θ^T x(i)經過g(z)對映過來的,而這也是它與最小二乘迴歸的最大區別
嶺迴歸
簡單來說,嶺迴歸是在矩陣X^tX上加入一個∂ I 從而使矩陣奇異,進而能對X^tX+ ∂ I 求逆。其中矩陣I是一個m*m的單位矩陣,對角線元素為1,其餘元素為0,而∂是一個使用者定義的數值。在這種情況下,迴歸係數的計算公式變成:
嶺迴歸最先用於處理特徵數多於樣本數的情況,現在也用於在估計中加入偏差,從而得到更好的估計,這裡通過引入∂來限制了所有w之和,通過引入懲罰項,能夠減少不重要的引數,這個技術在統計學中也叫做縮減。