1. 程式人生 > >CS229機器學習個人筆記(3)——Logistic Regression+Regularization

CS229機器學習個人筆記(3)——Logistic Regression+Regularization

1.Classification

Logistic Regression其實就是Classification,但是由於歷史原因名字被記作了邏輯迴歸。它與線性迴歸的區別在於 hθ(x) 被限制在了0與1之間,這是通過下面的S函式(Sigmoid function)實現的: g(z)=11+ez
其中: z=θTx
此時我們的假設函式 hθ(x)=g(θtx)=11+eθTx

2.Cost Function

線性迴歸中的損失函式是:

J(θ0,θ1θn)=12mi=1m(hθ(x(i))y(i)))2

其中: hθ(x)=θ0+x1θ1+x2θ2++xnθn


線性迴歸損失函式有很明顯的實際意義,就是平方損失。而邏輯迴歸卻不是,它的預測函式 hθ(x) 明顯是非線性的,如果類比的使用線性迴歸的損失函式於邏輯迴歸,那 J(θ) 很有可能就是非凸函式,即存在很多區域性最優解,但不一定是全域性最優解。我們希望構造一個凸函式,也就是一個碗型函式做為邏輯迴歸的損失函式。
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
注: 雖然得到的梯度下降演算法表面上看上去與線性迴歸的梯度下降演算法一樣, 但是這裡的 hθ(x)=g(θTX) 與線性迴歸中不同, 所以實際上是不一樣的。 另外, 在執行梯度下降演算法之前,進行特徵縮放依舊是非常必要的。

具體求導公式的推導:
這裡寫圖片描述

3.Multiclass Classification-One-vs-all

這裡寫圖片描述

4.Regularization

線性迴歸中的Overfitting與Underfitting:
這裡寫圖片描述

邏輯迴歸中的Overfitting與Underfitting:

這裡寫圖片描述

Overfitting:高偏差
Underfitting:高方差
下圖很直觀的展現出偏差與方差的區別:
這裡寫圖片描述

怎麼來解決過擬合的問題?簡單來說造成過擬合是因為次數高的項存在,那麼只要減小相應的係數 θ 就能避免過擬合。

對於線性迴歸:

這裡寫圖片描述

對於邏輯迴歸:
這裡寫圖片描述