李宏毅機器學習5(P9)

一.推導LR損失函數

邏輯迴歸的函數是
fw,b(x)=σ(iwixi+b) f_{w, b}(x)=\sigma\left(\sum_{i} w_{i} x_{i}+b\right)
output是在0到1之間。
我們先進行一個假設,假設上面的數據都是來自於Posterior probability(後驗概率),fw,b(x)=Pw,b(C1x)f_{w, b}(x)=P_{w, b}\left(C_{1} | x\right)
L(w,b)就是這個Posterior probability產生這些數據的概率,然後我們看看哪個w和b是能讓這個概率最大。
L(w,b)=fw,b(x1)fw,b(x2)(1fw,b(x3))fw,b(xN) L(w, b)=f_{w, b}\left(x^{1}\right) f_{w, b}\left(x^{2}\right)\left(1-f_{w, b}\left(x^{3}\right)\right) \cdots f_{w, b}\left(x^{N}\right)
也就是找到一個w和b讓L(w,b)最大:w,b=argmaxw,bL(w,b)w^{*}, b^{*}=\arg \max _{w, b} L(w, b)

通過等式變換
L(w,b)=fw,b(x1)fw,b(x2)(1fw,b(x3))fw,b(xN)L(w, b)=f_{w, b}\left(x^{1}\right) f_{w, b}\left(x^{2}\right)\left(1-f_{w, b}\left(x^{3}\right)\right) \cdots f_{w, b}\left(x^{N}\right)
轉換到
lnL(w,b)=lnfw,b(x1)+lnfw,b(x2)+ln(1fw,b(x3))-\ln L(w, b)=\ln f_{w, b}\left(x^{1}\right)+\ln f_{w, b}\left(x^{2}\right)+\ln \left(1-f_{w, b}\left(x^{3}\right)\right) \cdots
y^n\widehat{y}^{n}是class 1的時候爲1,class 2的時候爲0
lnL(w,b)=n[y^nlnfw,b(xn)+(1y^n)ln(1fw,b(xn))]-\ln L(w, b)=\sum_{n} [\hat{y}^{n} \ln f_{w, b}\left(x^{n}\right)+\left(1-\hat{y}^{n}\right) \ln \left(1-f_{w, b}\left(x^{n}\right)\right)]
我們可以這樣看
Distribution p p(x=1)=y^np(x=1)=\hat{y}^{n}p(x=0)=1y^np(x=0)=1-\hat{y}^{n}
Distribution q q(x=1)=f(xn)q(x=1)=f\left(x^{n}\right),q(x=0)=1f(xn)q(x=0)=1-f\left(x^{n}\right)
我們就是通過變換得到這個形式,這個就是cross entropy,左邊是label p,右邊是預測 q,然後儘可能縮小這兩個分佈的差距 H(p,q)=xp(x)ln(q(x))H(p, q)=-\sum_{x} p(x) \ln (q(x))

二.學習LR梯度下降

通過上面的推導,我們知道了邏輯迴歸的損失函數公式,但是我們應該如何通過這個函數來更新w和b呢。
lnL(w,b)wi=n[y^nlnfw,b(xn)wi+(1y^n)ln(1fw,b(xn))wi]\frac{-\ln L(w, b)}{\partial w_{i}}=\sum_{n} - [\hat{y}^{n} \frac{\ln f_{w, b}(x^{n})}{\partial w_{i}}+\left(1-\hat{y}^{n}\right) \frac{\ln \left(1-f_{w, b}\left(x^{n}\right))\right.}{\partial w_{i}}]
我們拆開分解:
前面的:
lnfw,b(x)wi=lnfw,b(x)zzwi\frac{\partial \ln f_{w, b}(x)}{\partial w_{i}}=\frac{\partial \ln f_{w, b}(x)}{\partial z} \frac{\partial z}{\partial w_{i}}

zwi=xi\frac{\partial z}{\partial w_{i}}=x_{i}
而其中的lnfw,b(x)z\frac{\partial \ln f_{w, b}(x)}{\partial z}
lnσ(z)z=1σ(z)σ(z)z=(1σ(z))\frac{\partial \ln \sigma(z)}{\partial z}=\frac{1}{\sigma(z)} \frac{\partial \sigma(z)}{\partial z}=(1-\sigma(z))
同理,後面的:
ln(1fw,b(x))wi=ln(1fw,b(x))zzwi \frac{\partial \ln \left(1-f_{w, b}(x)\right)}{\partial w_{i}}=\frac{\partial \ln \left(1-f_{w, b}(x)\right)}{\partial z} \frac{\partial z}{\partial w_{i}}
zwi=xi \frac{\partial z}{\partial w_{i}}=x_{i}
ln(1σ(z))z=11σ(z)σ(z)z=σ(z) \frac{\partial \ln (1-\sigma(z))}{\partial z}=-\frac{1}{1-\sigma(z)} \frac{\partial \sigma(z)}{\partial z}= - \sigma(z)
所以總結起來就是:
lnL(w,b)wi=n[y^nlnfw,b(xn)wi+(1y^n)ln(1fw,b(xn))wi] \frac{-\ln L(w, b)}{\partial w_{i}} =\sum_{n} - [\hat{y}^{n} \frac{\ln f_{w, b}(x^{n})}{\partial w_{i}}+\left(1-\hat{y}^{n}\right) \frac{\ln \left(1-f_{w, b}\left(x^{n}\right))\right.}{\partial w_{i}}]
=n[y^n(1fw,b(xn))xin(1y^n)fw,b(xn)xin] =\sum_{n} - [\hat{y}^n(1-f_{w,b}(x^n))x^n_i - (1 - \hat{y}^n)f_{w,b}(x^n)x^n_i ]
=n[y^ny^nfw,b(xn)fw,b(xn)+y^nfw,b(xn)]xin =\sum_{n} - [\hat{y}^n - \hat{y}^n f_{w,b}(x^n) - f_{w,b}(x^n) + \hat{y}^n f_{w,b}(x^n) ]x^n_i
=n(y^nfw,b(xn))xin=\sum_{n} -(\hat{y}^n - f_{w,b}(x^n))x^n_i
最後總結起來就是這樣
wiwiηn(y^nfw,b(xn))xin w_{i} \leftarrow w_{i}-\eta \sum_{n}-\left(\hat{y}^{n}-f_{w, b}\left(x^{n}\right)\right) x_{i}^{n}

三.利用代碼描述梯度下降(選做)

四.Softmax原理

C1:w1,b1z1=w1x+b1C2:w2,b2z2=w2x+b2C3:w3,b3z3=w3x+b3 \begin{array}{ll}{C_{1} : w^{1}, b_{1}} & {z_{1}=w^{1} \cdot x+b_{1}} \\ {C_{2} : w^{2}, b_{2}} & {z_{2}=w^{2} \cdot x+b_{2}} \\ {C_{3} : w^{3}, b_{3}} & {z_{3}=w^{3} \cdot x+b_{3}}\end{array}
softmax做的就是事情就是對z進行exponential(指數化),將exponential的結果相加,再分別用exponential的結果除以相加的結果。原本z1,z2,z3z_1,z_2,z_3原本可以是任何值,但是做完softmax之後,就把輸出都限制在0到1之間,而且概率和是1。
在這裏插入圖片描述
如這個展示圖,y1y_1表示x屬於類別1的概率:0.88,y2y_2表示x屬於類別2的概率:0.12,y3y_3表示x屬於類別3的概率:0。
Softmax的輸出就是用來估計後驗概率(Posterior Probability)

五.softmax損失函數

這個代價函數類似於上面的邏輯迴歸,一樣是用交叉熵。剩下的就是基本帶進去
I{expression}={0 if expression = false 1 if expression =true I\{\text {expression}\}=\left\{\begin{array}{ll}{0} & {\text { if expression }=\text { false }} \\ {1} & {\text { if expression }=\text {true}}\end{array}\right.
J(θ)=1m[i=1mj=1kI{y(i)=j}logeθjTx(i)l=1keθTx(i)] J(\theta)=-\frac{1}{m}\left[\sum_{i=1}^{m} \sum_{j=1}^{k} I\left\{y^{(i)}=j\right\} \log \frac{e^{\theta_{j}^{T} \mathbf{x}^{(i)}}}{\sum_{l=1}^{k} e^{\theta T \mathbf{x}^{(i)}}}\right]
類別對應的,才納入倒損失函數中去。

六.softmax梯度下降

在這裏插入圖片描述

參考文獻
https://blog.csdn.net/google19890102/article/details/49738427

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章