李宏毅机器学习5(P9)

一.推导LR损失函数

逻辑回归的函数是
f w , b ( x ) = σ ( ∑ i w i x i + b ) f_{w, b}(x)=\sigma\left(\sum_{i} w_{i} x_{i}+b\right) fw,b(x)=σ(iwixi+b)
output是在0到1之间。
我们先进行一个假设,假设上面的数据都是来自于Posterior probability(后验概率), f w , b ( x ) = P w , b ( C 1 ∣ x ) f_{w, b}(x)=P_{w, b}\left(C_{1} | x\right) fw,b(x)=Pw,b(C1x)
L(w,b)就是这个Posterior probability产生这些数据的概率,然后我们看看哪个w和b是能让这个概率最大。
L ( w , b ) = f w , b ( x 1 ) f w , b ( x 2 ) ( 1 − f w , b ( x 3 ) ) ⋯ f w , b ( x N ) 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) L(w,b)=fw,b(x1)fw,b(x2)(1fw,b(x3))fw,b(xN)
也就是找到一个w和b让L(w,b)最大: w ∗ , b ∗ = arg ⁡ max ⁡ w , b L ( w , b ) w^{*}, b^{*}=\arg \max _{w, b} L(w, b) w,b=argmaxw,bL(w,b)

通过等式变换
L ( w , b ) = f w , b ( x 1 ) f w , b ( x 2 ) ( 1 − f w , b ( x 3 ) ) ⋯ f w , b ( x N ) 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) L(w,b)=fw,b(x1)fw,b(x2)(1fw,b(x3))fw,b(xN)
转换到
− ln ⁡ L ( w , b ) = ln ⁡ f w , b ( x 1 ) + ln ⁡ f w , b ( x 2 ) + ln ⁡ ( 1 − f w , b ( x 3 ) ) ⋯ -\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 lnL(w,b)=lnfw,b(x1)+lnfw,b(x2)+ln(1fw,b(x3))
y ^ n \widehat{y}^{n} y n是class 1的时候为1,class 2的时候为0
− ln ⁡ L ( w , b ) = ∑ n [ y ^ n ln ⁡ f w , b ( x n ) + ( 1 − y ^ n ) ln ⁡ ( 1 − f w , b ( x n ) ) ] -\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)] lnL(w,b)=n[y^nlnfw,b(xn)+(1y^n)ln(1fw,b(xn))]
我们可以这样看
Distribution p p ( x = 1 ) = y ^ n p(x=1)=\hat{y}^{n} p(x=1)=y^n p ( x = 0 ) = 1 − y ^ n p(x=0)=1-\hat{y}^{n} p(x=0)=1y^n
Distribution q q ( x = 1 ) = f ( x n ) q(x=1)=f\left(x^{n}\right) q(x=1)=f(xn), q ( x = 0 ) = 1 − f ( x n ) q(x=0)=1-f\left(x^{n}\right) q(x=0)=1f(xn)
我们就是通过变换得到这个形式,这个就是cross entropy,左边是label p,右边是预测 q,然后尽可能缩小这两个分布的差距 H ( p , q ) = − ∑ x p ( x ) ln ⁡ ( q ( x ) ) H(p, q)=-\sum_{x} p(x) \ln (q(x)) H(p,q)=xp(x)ln(q(x))

二.学习LR梯度下降

通过上面的推导,我们知道了逻辑回归的损失函数公式,但是我们应该如何通过这个函数来更新w和b呢。
− ln ⁡ L ( w , b ) ∂ w i = ∑ n − [ y ^ n ln ⁡ f w , b ( x n ) ∂ w i + ( 1 − y ^ n ) ln ⁡ ( 1 − f w , b ( x n ) ) ∂ w i ] \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}}] wilnL(w,b)=n[y^nwilnfw,b(xn)+(1y^n)wiln(1fw,b(xn))]
我们拆开分解:
前面的:
∂ ln ⁡ f w , b ( x ) ∂ w i = ∂ ln ⁡ f w , b ( x ) ∂ z ∂ z ∂ w i \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}} wilnfw,b(x)=zlnfw,b(x)wiz

∂ z ∂ w i = x i \frac{\partial z}{\partial w_{i}}=x_{i} wiz=xi
而其中的 ∂ ln ⁡ f w , b ( x ) ∂ z \frac{\partial \ln f_{w, b}(x)}{\partial z} zlnfw,b(x)
∂ 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)) zlnσ(z)=σ(z)1zσ(z)=(1σ(z))
同理,后面的:
∂ ln ⁡ ( 1 − f w , b ( x ) ) ∂ w i = ∂ ln ⁡ ( 1 − f w , b ( x ) ) ∂ z ∂ z ∂ w i \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}} wiln(1fw,b(x))=zln(1fw,b(x))wiz
∂ z ∂ w i = x i \frac{\partial z}{\partial w_{i}}=x_{i} wiz=xi
∂ ln ⁡ ( 1 − σ ( z ) ) ∂ z = − 1 1 − σ ( 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) zln(1σ(z))=1σ(z)1zσ(z)=σ(z)
所以总结起来就是:
− ln ⁡ L ( w , b ) ∂ w i = ∑ n − [ y ^ n ln ⁡ f w , b ( x n ) ∂ w i + ( 1 − y ^ n ) ln ⁡ ( 1 − f w , b ( x n ) ) ∂ w i ] \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}}] wilnL(w,b)=n[y^nwilnfw,b(xn)+(1y^n)wiln(1fw,b(xn))]
= ∑ n − [ y ^ n ( 1 − f w , b ( x n ) ) x i n − ( 1 − y ^ n ) f w , b ( x n ) x i n ] =\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^n(1fw,b(xn))xin(1y^n)fw,b(xn)xin]
= ∑ n − [ y ^ n − y ^ n f w , b ( x n ) − f w , b ( x n ) + y ^ n f w , b ( x n ) ] x i n =\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^ny^nfw,b(xn)fw,b(xn)+y^nfw,b(xn)]xin
= ∑ n − ( y ^ n − f w , b ( x n ) ) x i n =\sum_{n} -(\hat{y}^n - f_{w,b}(x^n))x^n_i =n(y^nfw,b(xn))xin
最后总结起来就是这样
w i ← w i − η ∑ n − ( y ^ n − f w , b ( x n ) ) x i n w_{i} \leftarrow w_{i}-\eta \sum_{n}-\left(\hat{y}^{n}-f_{w, b}\left(x^{n}\right)\right) x_{i}^{n} wiwiηn(y^nfw,b(xn))xin

三.利用代码描述梯度下降(选做)

四.Softmax原理

C 1 : w 1 , b 1 z 1 = w 1 ⋅ x + b 1 C 2 : w 2 , b 2 z 2 = w 2 ⋅ x + b 2 C 3 : w 3 , b 3 z 3 = w 3 ⋅ x + b 3 \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} C1:w1,b1C2:w2,b2C3:w3,b3z1=w1x+b1z2=w2x+b2z3=w3x+b3
softmax做的就是事情就是对z进行exponential(指数化),将exponential的结果相加,再分别用exponential的结果除以相加的结果。原本 z 1 , z 2 , z 3 z_1,z_2,z_3 z1,z2,z3原本可以是任何值,但是做完softmax之后,就把输出都限制在0到1之间,而且概率和是1。
在这里插入图片描述
如这个展示图, y 1 y_1 y1表示x属于类别1的概率:0.88, y 2 y_2 y2表示x属于类别2的概率:0.12, y 3 y_3 y3表示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. I{expression}={01 if expression = false  if expression =true
J ( θ ) = − 1 m [ ∑ i = 1 m ∑ j = 1 k I { y ( i ) = j } log ⁡ e θ j T x ( i ) ∑ l = 1 k e θ T x ( 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] J(θ)=m1[i=1mj=1kI{y(i)=j}logl=1keθTx(i)eθjTx(i)]
类别对应的,才纳入倒损失函数中去。

六.softmax梯度下降

在这里插入图片描述

参考文献
https://blog.csdn.net/google19890102/article/details/49738427

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值