李宏毅机器学习(5)

Logistic Regression

步骤

Step 1:Function Set:

f w , b ( x ) = P w , b ( C 1 ∣ x ) f_{w,b}(x)=P_{w,b}(C_1|x) fw,b(x)=Pw,b(C1x) including all different w w w and b b b
f w , b ( x ) = σ ( ∑ i w i ⋅ x i + b ) f_{w,b}(x)=σ(\sum_{i}w_i·x_i+b) fw,b(x)=σ(iwixi+b)Output:0~1

Step 2:Goodness of a Function

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}(x_1)f_{w,b}(x_2)(1-f_{w,b}(x_3))…f_{w,b}(x_n) L(w,b)=fw,b(x1)fw,b(x2)(1fw,b(x3))fw,b(xn)
要求 w ∗ w^* w b ∗ b^* b使 L ( w , b ) L(w,b) L(w,b)最大。
w ∗ , b ∗ = a r g   m a x w , b L ( w , b ) = a r g   m i n w , b − l n L ( w , b ) w^*,b^*=arg\ max_{w,b}L(w,b)=arg\ min_{w,b}-lnL(w,b) w,b=arg maxw,bL(w,b)=arg minw,blnL(w,b)
这种方法类似于最大似然估计。
在这里插入图片描述
所以:
在这里插入图片描述
最后得出 − l n L ( b , w ) = ∑ n − [ y ^ n l n f w , b ( x n ) + ( 1 − y ^ n ) l n ( 1 − f w , b ( x n ) ) ] -lnL(b,w)=\sum_{n}{-[\widehat{y}_nlnf_{w,b}(x_n)+(1-\widehat{y}_n)ln(1-f_{w,b}(x_n))]} lnL(b,w)=n[y nlnfw,b(xn)+(1y n)ln(1fw,b(xn))]
y ^ n l n f w , b ( x n ) + ( 1 − y ^ n ) l n ( 1 − f w , b ( x n ) ) \widehat{y}_nlnf_{w,b}(x_n)+(1-\widehat{y}_n)ln(1-f_{w,b}(x_n)) y nlnfw,b(xn)+(1y n)ln(1fw,b(xn))叫做交叉熵( C r o s s   e n t r o p y Cross\ entropy Cross entropy),可以衡量两个分布的接近程度。在上例中是在衡量两个伯努利分布的接近程度。

D i s t r i b u t i o n   p : Distribution\ p: Distribution p:---------------------------------------- D i s t r i b u t i o n   q : Distribution\ q: Distribution q:
p ( x = 1 ) = y ^ n p(x=1)=\widehat{y}_n p(x=1)=y n------------------------------------------- q ( x = 1 ) = f ( x n ) q(x=1)=f(x_n) q(x=1)=f(xn)
p ( x = 0 ) = 1 − y ^ n p(x=0)=1-\widehat{y}_n p(x=0)=1y n------------------------------------- q ( x = 0 ) = 1 − f ( x n ) q(x=0)=1-f(x_n) q(x=0)=1f(xn)
c r o s s   e n t r o p y : H ( p , q ) = − ∑ x p ( x ) l n ( q ( x ) ) cross\ entropy:H(p,q)=-\sum_{x}{p(x)ln(q(x))} cross entropy:H(p,q)=xp(x)ln(q(x))

Training data: ( x n , y ^ n ) (x_n,\widehat{y}_n) (xn,y n)
y ^ n \widehat{y}^n y n:1 for class 1,0 for class 2
L ( f ) = ∑ n C ( f ( x n ) , y ^ n ) L(f)=\sum_{n}{C(f(x_n),\widehat{y}_n)} L(f)=nC(f(xn),y n)
C r o s s   e n t r o p y : C ( f ( x n ) , y ^ n ) = − [ y ^ n l n f ( x n ) + ( 1 − y ^ n ) l n ( 1 − f ( x n ) ) ] Cross\ entropy:C(f(x_n),\widehat{y}_n)=-[\widehat{y}_nlnf(x_n)+(1-\widehat{y}_n)ln(1-f(x_n))] Cross entropy:C(f(xn),y n)=[y nlnf(xn)+(1y n)ln(1f(xn))]

Step 3:Find the best function

f w , b ( x ) = σ ( z ) = 1 1 + e x p ( − z ) , z = w ⋅ x + b = ∑ i w i ⋅ x i + b f_{w,b}(x)=σ(z)=\frac{1}{1+exp(-z)},z=w·x+b=\sum_{i}{w_i·x_i+b} fw,b(x)=σ(z)=1+exp(z)1,z=wx+b=iwixi+b
α l n f w , b ( x ) α w i = α l n f w , b ( x ) α z α z α w i \frac{αlnf_{w,b}(x)}{αw_i}=\frac{αlnf_{w,b}(x)}{αz}\frac{αz}{αw_i} αwiαlnfw,b(x)=αzαlnfw,b(x)αwiαz

其中 α l n σ ( z ) α z = 1 σ ( z ) α σ ( z ) α z = 1 σ ( z ) σ ( z ) ( 1 − σ ( z ) ) = 1 − σ ( z ) \frac{αlnσ(z)}{αz}=\frac{1}{σ(z)}\frac{ασ(z)}{αz}=\frac{1}{σ(z)}σ(z)(1-σ(z))=1-σ(z) αzαlnσ(z)=σ(z)1αzασ(z)=σ(z)1σ(z)(1σ(z))=1σ(z)

α l n ( 1 − f w , b ( x ) ) α w i = α l n ( 1 − f w , b ( x ) ) α z α z α w i \frac{αln(1-f_{w,b}(x))}{αw_i}=\frac{αln(1-f_{w,b}(x))}{αz}\frac{αz}{αw_i} αwiαln(1fw,b(x))=αzαln(1fw,b(x))αwiαz
所以, − l n L ( w , b ) α w i = ∑ n − [ y ^ n ( 1 − f w , b ( x n ) x n , i ) − ( 1 − y ^ n ) f w , b ( x n ) x n , i ] = ∑ n − ( y ^ n − f w , b ( x n ) ) x n , i \frac{-lnL(w,b)}{αw_i}=\sum_{n}{-[\widehat{y}_n(1-f_{w,b}(x_n)x_{n,i})-(1-\widehat{y}_n)f_{w,b}(x_n)x_{n,i}]}=\sum_{n}{-(\widehat{y}_n-f_{w,b}(x_n))x_{n,i}} αwilnL(w,b)=n[y n(1fw,b(xn)xn,i)(1y n)fw,b(xn)xn,i]=n(y nfw,b(xn))xn,i
w i ← w i − η ∑ n − ( y ^ n − f w , b ( x n ) ) x n , i w_i\leftarrow w_i-η\sum_n{-(\widehat{y}_n-f_{w,b}(x_n))x_{n,i}} wiwiηn(y nfw,b(xn))xn,i
有趣的是,linear regression也是: w i ← w i − η ∑ n − ( y ^ n − f w , b ( x n ) ) x n , i w_i\leftarrow w_i-η\sum_n{-(\widehat{y}_n-f_{w,b}(x_n))x_{n,i}} wiwiηn(y nfw,b(xn))xn,i
在这里插入图片描述

为什么不用Square Error?

因为在距离很远和很近是, α L α w i \frac{αL}{αw_i} αwiαL都为0,区分不了,而且迭代的速度会很慢。

Discriminative vs. Generative

相同:

  • 模型都是 P ( C 1 ∣ x ) = σ ( w ⋅ x + b ) P(C_1|x)=σ(w·x+b) P(C1x)=σ(wx+b)

不同:

  • discriminative:直接找w和b
  • Generative:先找 μ 1 , μ 2 , Σ μ_1,μ_2,Σ μ1,μ2,Σ,则 w T = ( μ 1 − μ 2 ) T Σ − 1 w^T=(μ_1-μ_2)^TΣ^{-1} wT=(μ1μ2)TΣ1 b = − 1 2 ( μ 1 ) T ( Σ 1 ) − 1 μ 1 + 1 2 ( μ 2 ) T ( Σ 1 ) − 1 μ 2 + l n N 1 N 2 b=-\frac{1}{2}(μ_1)^T(Σ_1)^{-1}μ_1+\frac{1}{2}(μ_2)^T(Σ_1)^{-1}μ_2+ln\frac{N_1}{N_2} b=21(μ1)T(Σ1)1μ1+21(μ2)T(Σ1)1μ2+lnN2N1

然而用两种方法得到的 w w w b b b会不一样,因为做了不同的假设。
一般是discriminative model更好,因为generative会自己脑补,用的是Naive Byes。
但如果training data很少,generative更好。
在这里插入图片描述

Multi-class Classification(3 classes as example)

刚才的例子都是二元分类的,但如果是多元分类做法会有所不同。
在这里插入图片描述
在这里插入图片描述
其中, y ^ n \widehat{y}_n y n是target值。
logistic regression的限制:分界线只是一条直线,这就会导致有的情况无法处理,如下图:
在这里插入图片描述
解决方案(Feature transformation):改变Feature Space,如: [ x 1 x 2 ] → [ x 1 ′ x 2 ′ ] \left[ \begin{matrix}x_1 \\x_2 \\\end{matrix} \right]\rightarrow \left[ \begin{matrix}x_1^{'} \\x_2^{'} \\\end{matrix} \right] [x1x2][x1x2]
在这里插入图片描述
这只是一种简单的分类法,有时候要将多个model串联起来,前一个model的output作为后一个model的input,最终改变data的Feature。在这里插入图片描述
从图中看出,每个model形同人脑细胞Neuron,所以这就是Neural Network Deep learning。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值