Logistic Regression算法
這裏須要使用到sigmoid函數--g(z):函數
\[\begin{equation} h_θ(x) = g(θ^Tx) \end{equation} \]優化
\[\begin{equation} z = θ^Tx \end{equation} \]spa
\[\begin{equation} g(z) = \frac{1}{1+e^{-z}} \end{equation} \]ci
決策邊界:數學
\[h_θ(x) ≥ 0.5 → y=1 \]
\[h_θ(x) < 0.5 → y=0 \]it
等價於io
\[g(z) ≥ 0.5 → y=1 \]
\[g(z) < 0.5 → y=0 \]function
等價於class
\[z ≥0 → y=1 \]
\[z < 0 → y=0 \]
這裏之因此再次提到損失函數,是由於線性迴歸中的損失函數會使得輸出呈現起伏,形成許多局部最優值,也就是說線性迴歸中的cost function在運用到邏輯迴歸時,將可能再也不是凸函數。
邏輯迴歸的cost function以下:
\[J_θ = \frac{1}{m} \sum {Cost}( h_θ(x^{(i)}, y^{(i)} ) )\]
\[ {Cost}(h_θ(x), y) ) = - log(h_θ(x)) \quad \quad if \quad y=1\]
\[ {Cost}(h_θ(x), y) ) = - log(1 - h_θ(x)) \quad if \quad y=0\]
結合圖來理解:
由上圖可知,y=1,hθ(x)是預測值,
- 當其值爲1時,表示預測正確,損失函數爲0;
- 當其值爲0時,表示錯的一塌糊塗,須要大大的懲罰,因此損失函數趨近於∞。
上圖同理
\[Cost(h_θ(x), y) = -ylog(h_θ(x)) - (1-y)log(1-h_θ(x))\]
Jθ
\[J_θ=-\frac{1}{m} \sum Cost(h_θ(x), y) \]
\[\quad =-\frac{1}{m} \sum [-y^{i}log(h_θ(x^{(i)})) - (1-y^i)log(1-h_θ(x^{(i)}))] \]
如圖左邊顯示的是優化方法,其中後三種是更加高級的算法,其優缺點由圖郵編所示:
優勢
缺點
後面三種方法只需瞭解便可,老師建議若是你不是專業的數學專家,不必本身使用這些方法。。。。。。固然瞭解一下原理也是好的。
主要說一下過擬合的解決辦法:
1)減小特徵數量
圖示右邊很明顯是過擬合,所以爲了糾正加入了正則化項:1000·θ32,爲了使得J(θ)最小化,因此算法會使得θ3趨近於0,θ4也趨近於0。
正則化損失函數表達式:
\[J(θ)=\frac{1}{2m} [\sum_{i=1}^m( h_θ(x^{(i)}) - y^{(i)})^2 + λ\sum_{j=1}^n θ_j^2]\]
\[min_θ [\frac{1}{2m} (\sum_{i=1}^m( h_θ(x^{(i)}) - y^{(i)})^2 + λ\sum_{j=1}^n θ_j^2)]\]
\[J(θ)=\frac{1}{2m} [\sum_{i=1}^m( h_θ(x^{(i)}) - y^{(i)})^2 + λ\sum_{j=1}^n θ_j^2]\]
\[\frac{∂J_θ}{∂θ_j} = \frac{1}{m} \sum_{i=1}^m( h_θ(x^{(i)} ) - y^{(i)} )x_j^{(i)} + \frac{λ}{m}θ_j \]
Repeat{
\[θ_0 := θ_0 - α\frac{1}{m}\sum_{i=1}{m}( h_θ(x^{(i)} ) - y^{(i)} )x_0^{(i)}\]
\[θ_j := θ_j - α[(\frac{1}{m}\sum_{i=1}{m}( h_θ(x^{(i)} ) - y^{(i)} )x_0^{(i)} ) + \frac{λ}{m}θ_j ] \quad j∈\{1,2,3……n\}\]
}
前面提到過,若m< n,那麼XTX是不可逆的,可是加上λ·L後則變爲可逆的了。
\[J(θ)=-\frac{1}{m} \{\sum_{i=1}^m[ y^{(i)} log(h_θ(x^{(i)}))+(1-y^{(i)})log(1-h_θ(x^{(i)}))]\} + \frac{λ}{2m}\sum_{j=1}^n θ_j^2\]
梯度降低過程