李宏毅机器学习课程梳理【四】:Logistics Regression

摘要

由于Generative方法参数过多,计算复杂且不易得到很好结果,在数学分析Generative结果表达式后,根据其线性模型,引入Logistics Regression方法。本文介绍了Logistics Regression的操作步骤,并分析其采用交叉熵作代价函数的优点,最后与Generative方法对比,解释Logistics Regression结果更好的原因。

1 Logistics Regression分析步骤

1.1 基础知识

Cross entropy between two Bernoulli distribution— C ( f ( x n ) , y ^ n ) = − [ y ^ n l n f ( x n ) + ( 1 − y ^ n ) l n ( 1 − f ( x n ) ) ] C\big( f(x^n),\hat y^n\big)=-[\hat y^nlnf(x^n) + (1-\hat y^n)ln\big(1-f(x^n)\big)] C(f(xn),y^n)=[y^nlnf(xn)+(1y^n)ln(1f(xn))],交叉熵,表示两个概率分布之间的差异。数值越小,差异越小。

Sigmoid函数,作为本文章的激活函数,模型应用此函数。

1.2 Step1:Function Set

上篇采用高斯分布,计算很多个参数才做出分类。本篇分析上篇中Generative model的表达式,数学推导出 P ( C 1 ∣ x ) = σ ( w ⋅ x + b ) P(C_1|x)=\sigma(w \cdot x + b) P(C1x)=σ(wx+b),那么最终目标就变成计算出vector w和constant b

模型采用 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),其值介于0到1之间,记作 σ ( z ) \sigma(z) σ(z),表示后验概率Posterior Probability,其图像如图1。
sigmoid(z)

1.3 Step2:Goodness of a Function

  • 现在有一组Training Data: x 1 ∈ C 1 , x 2 ∈ C 1 , x 3 ∈ C 2 , . . . , x N ∈ C 1 x^1 \in C_1, x^2 \in C_1, x^3 \in C_2, ..., x^N \in C_1 x1C1,x2C1,x3C2,...,xNC1
  • 模型采用 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)
  • 现在计算每一组不同的 w , b w,b w,b产生这组Training
    Data的概率 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)\Big( 1-f_{w,b}(x^3)\Big) \cdot\cdot\cdot f_{w,b}(x^N) L(w,b)=fw,b(x1)fw,b(x2)(1fw,b(x3))fw,b(xN)
  • 概率最大的一组 w , b w,b w,b记为 w ∗ , b ∗ w^*,b^* w,b w ∗ , b ∗ = a r g max ⁡ w , b L ( w , b ) = a r g min ⁡ w , b − l n L ( w , b ) w^*,b^*=arg \max\limits_{w,b} L(w,b)=arg \min\limits_{w,b} -lnL(w,b) w,b=argw,bmaxL(w,b)=argw,bminlnL(w,b)
    − l n L ( w , b ) = − l n f w , b ( x 1 ) − l n f w , b ( x 2 ) − l n ( 1 − f w , b ( x 3 ) ) ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ -lnL(w,b)=-lnf_{w,b}(x^1)-lnf_{w,b}(x^2)-ln\Big(1-f_{w,b}(x^3)\Big)\cdot\cdot\cdot\cdot\cdot\cdot lnL(w,b)=lnfw,b(x1)lnfw,b(x2)ln(1fw,b(x3))
  • 做一个符号上的变换 y ^ n \hat y^n y^n表示: x n x^n xn属于class1时,值为1, x n x^n xn属于class2时,值为0;
  • − l n L ( w , b ) = − [ y ^ 1 l n f ( x 1 ) + ( 1 − y ^ 1 ) l n ( 1 − f ( x 1 ) ) ] − [ y ^ 2 l n f ( x 2 ) + ( 1 − y ^ 2 ) l n ( 1 − f ( x 2 ) ) ] − [ y ^ 3 l n f ( x 3 ) + ( 1 − y ^ 3 ) l n ( 1 − f ( x 3 ) ) ] ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ = ∑ n − [ y ^ n l n f w , b ( x n ) + ( 1 − y ^ n ) l n ( 1 − f w , b ( x n ) ) ] = ∑ n C ( f ( x n ) , y ^ n ) -lnL(w,b)=-[\hat y^1lnf(x^1)+(1-\hat y^1)ln\big(1-f(x^1)\big)]-[\hat y^2lnf(x^2)+(1-\hat y^2)ln\big(1-f(x^2)\big)]-[\hat y^3lnf(x^3)+(1-\hat y^3)ln\big(1-f(x^3)\big)]\cdot\cdot\cdot\cdot\cdot\cdot=\displaystyle\sum_n-[\hat y^nlnf_{w,b}(x^n)+(1-\hat y^n)ln\big(1-f_{w,b}(x^n)\big)]=\displaystyle\sum_nC\big(f(x^n),\hat y^n\big) lnL(w,b)=[y^1lnf(x1)+(1y^1)ln(1f(x1))][y^2lnf(x2)+(1y^2)ln(1f(x2))][y^3lnf(x3)+(1y^3)ln(1f(x3))]=n[y^nlnfw,b(xn)+(1y^n)ln(1fw,b(xn))]=nC(f(xn),y^n)

1.4 Step3: Find the best function

采用Gradient descent,对 − l n L ( w , b ) -lnL(w,b) lnL(w,b)做偏微分,得到 ∑ n − [ y ^ n − f w , b ( x n ) ] x i n \displaystyle\sum_n-[\hat y^n-f_{w,b}(x^n)]x_i^n n[y^nfw,b(xn)]xin

1.5 小结

在这里插入图片描述

2 对Logistics Regression选用Cross Entropy而非Square Error的说明

假设选用Square Error,按照机器学习的三个步骤,进行Gradient descent时,对 ( f w , b ( x ) − y ^ ) 2 \big(f_{w,b}(x)-\hat y\big)^2 (fw,b(x)y^)2偏微分后,得 2 ( f w , b ( x ) − y ^ ) f w , b ( x ) ( 1 − f w , b ( x ) ) x i 2\big(f_{w,b}(x)-\hat y\big)f_{w,b}(x)\big(1-f_{w,b}(x)\big)x_i 2(fw,b(x)y^)fw,b(x)(1fw,b(x))xi,因为表达式只有这一项,而 f w , b ( x ) f_{w,b}(x) fw,b(x) ( 1 − f w , b ( x ) ) \big(1-f_{w,b}(x)\big) (1fw,b(x))又是乘积因子,那么会导致参数更新非常慢,不容易得到好的结果。将代价函数作图,如下图。
在这里插入图片描述

3 Generative与Discriminative的对比

上篇中的高斯分布概率模型分类方法为Generative,本文中的Logistics Regression分类方法为Discriminative(判别式分类),对同一个问题进行分类时,两者的Function Set是相同的,但是找出的 w , b w,b w,b却不相同。通常,判别式分类可以得到更好结果。

4 展望

本文介绍了作为神经网络基本单位的Logistics Regression,接下来将通过其与Generative的具体差异的对比,更深入理解Logistics Regression,进而利用它解决多分类问题,再发现其局限性并进行优化。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值