NO IMAGE

0- 背景

定義邏輯迴歸的代價函式時,不能夠像線性迴歸那樣,否則代價函式變成一個非函式,難以收斂到全域性最優。

1- 線性迴歸代價函式:

線性迴歸中的代價函式:

J(θ)=12m∑i=1m(yi−hθ(xi))2

J(\theta )=\frac{1}{2m}\sum_{i=1}^{m}(y^{i}-h_{\theta }(x^{i}))^{2}

線性迴歸代價函式的實際意義就是平方誤差。而邏輯迴歸卻不是,它的預測函式hθ(x)h_{\theta}(x)是非線性的。如果類比地使用線性迴歸的代價函式於邏輯迴歸,那J(θ)J(θ)很有可能就是非凸函式,即存在很多區域性最優解,但不一定是全域性最優解。我們希望構造一個凸函式,也就是一個碗型函式做為邏輯迴歸的代價函式。

2- 邏輯迴歸代價函式:

按照求最大似然函式的方法,邏輯迴歸似然函式:

L(θ)=∏i=1mP(yi|xi;θ)=∏i=1m(hθ(xi))yi((1−hθ(xi)))1−yi

L(\theta )=\prod_{i=1}^{m}P(y_{i}|x_{i};\theta )=\prod_{i=1}^{m}(h_{\theta }(x_{i}))^{y_{i}}((1-h_{\theta }(x_{i})))^{1-y_{i}}
其中m表示樣本數量,取對數:

l(θ)=logL(θ)=∑i=1m(yiloghθ(xi) (1−yi)log(1−hθ(xi)))

l(\theta )=logL(\theta )=\sum_{i=1}^{m}(y_{i}logh_{\theta }(x_{i}) (1-y_{i})log(1-h_{\theta }(x_{i})))
我們的目標是求最大l(θ)l(θ)時的θ,如上函式是一個上凸函式,可以使用梯度上升來求得最大似然函式值(最大值)。或者上式乘以-1,變成下凸函式,就可以使用梯度下降來求得最小負似然函式值(最小值):

J(θ)=−1ml(θ)

J(\theta )=-\frac{1}{m}l(\theta )
我們把如上的J(θ)J(θ)作為邏輯迴歸的損失函式。

求最大似然函式引數時,對引數θ求偏導=0,然後求解方程組。考慮到引數數量的不確定,即引數數量很大,此時直接求解方程組的解變的很困難,或者根本就求不出精確的引數。於是,一般都是採用隨機梯度下降法,來求解方程組的引數值。
推導過程:
1)梯度下降θθ的更新過程,走梯度方向的反方向:

θj:=θj−αδδθjJ(θ)

\theta _{j}:=\theta _{j}-\alpha\frac{\delta }{\delta _{\theta _{j}}}J(\theta )
其中偏導項的推導如下:

δδθjJ(θ)=−1m∑i=1m(yi1hθ(xi)δδθjhθ(xi)−(1−yi)11−hθ(xi)δδθjhθ(xi))=−1m∑i=1m(yi1g(θTxi)−(1−yi)11−g(θTxi))δδθjg(θTxi)=−1m∑i=1m(yi1g(θTxi)−(1−yi)11−g(θTxi))g(θTxi)(1−g(θTxi))δδθjθTxi=−1m∑i=1m(yi(1−g(θTxi))−(1−yi)g(θTxi))xji=−1m∑i=1m(yi−g(θTxi))xji=1m∑i=1m(hθ(xi)−yi))xji

\frac{\delta }{\delta _{\theta _{j}}}J(\theta )=-\frac{1}{m}\sum_{i=1}^{m}\left ( y_{i}\frac{1}{h_{\theta }(x_{i})} \frac{\delta }{\delta _{\theta _{j}}}h_{\theta }(x_{i})-(1-y_{i})\frac{1}{1-h_{\theta }(x_{i})}\frac{\delta }{\delta _{\theta _{j}}}h_{\theta }(x_{i})\right )
\\=-\frac{1}{m}\sum_{i=1}^{m}\left ( y_{i}\frac{1}{g(\theta ^{T}x_{i})}-(1-y_{i})\frac{1}{1-g(\theta ^{T}x_{i})}\right )\frac{\delta }{\delta _{\theta _{j}}}g(\theta ^{T}x_{i})
\\=-\frac{1}{m}\sum_{i=1}^{m}\left ( y_{i}\frac{1}{g(\theta ^{T}x_{i})}-(1-y_{i})\frac{1}{1-g(\theta ^{T}x_{i})}\right )g(\theta ^{T}x_{i})(1-g(\theta ^{T}x_{i}))\frac{\delta }{\delta _{\theta _{j}}}\theta ^{T}x_{i}
\\=-\frac{1}{m}\sum_{i=1}^{m}(y_{i}(1-g(\theta ^{T}x_{i}))-(1-y_{i})g(\theta ^{T}x_{i}))x_{i}^{j}
\\=-\frac{1}{m}\sum_{i=1}^{m}(y_{i}-g(\theta ^{T}x_{i}))x_{i}^{j}
\\=\frac{1}{m}\sum_{i=1}^{m}(h_{\theta }(x_{i})-y_{i}))x_{i}^{j}

注意下上面推導的第二部分:

(f(x)g(x))′=g(x)f′(x)−f(x)g′(x)g2(x)(ex)′=ex

\left (\frac{f(x)}{g(x)} \right ){}’=\frac{g(x)f{}'(x)-f(x)g{}'(x)}{g^{2}(x)}
\\\left (e^{x} \right ){}’=e^{x}
那麼上述公式中的δδθjg(θTxi)\frac{\delta }{\delta _{\theta _{j}}}g(\theta ^{T}x_{i})推導如下:

δδθjg(θTxi)=−e−θTxi(1 e−θTxi)2δδθj(−1)θTxi=g(θTxi)(1−g(θTxi))δθjθTxi

\frac{\delta }{\delta _{\theta _{j}}}g(\theta ^{T}x_{i})=-\frac{e^{-\theta^{T} x_{i}}}{(1 e^{-\theta^{T} x_{i}})^{2}}\frac{\delta }{\delta _{\theta _{j}}}(-1)\theta^{T} x_{i}
=g(\theta ^{T}x_{i})(1-g(\theta ^{T}x_{i})){\delta _{\theta _{j}}}\theta^{T} x_{i}

因此更新過程可以寫成:

θj:=θj−α1m∑i=1m(hθ(xi)−yi))xji

\theta _{j}:=\theta _{j}-\alpha\frac{1}{m}\sum_{i=1}^{m}(h_{\theta }(x_{i})-y_{i}))x_{i}^{j}