李宏毅2020机器学习深度学习笔记 P11 Logistic Regression

Logistic Regression

Step1:Function Set

目的:

要找几率 P w , b ( C 1 ∣ x ) Pw,b(C_1|x) Pw,b(C1x)
P w , b ( C 1 ∣ x ) ≥ 0.5 Pw,b(C_1|x) \ge 0.5 Pw,b(C1x)0.5,输出为C1;
P w , b ( C 1 ∣ x ) < 0.5 Pw,b(C_1|x) \lt 0.5 Pw,b(C1x)<0.5,输出为C2。

若要用高斯分布, P w , b ( C 1 ∣ x ) = σ ( z ) Pw,b(C_1|x)=\sigma(z) Pw,b(C1x)=σ(z)
[ σ ( z ) = 1 1 + e − z \sigma(z)=\frac{1}{1+e^{-z}} σ(z)=1+ez1]

把z带进 σ ( z ) \sigma(z) σ(z)就得到几率
z = w ⋅ x + b = ∑ i w i x i + b z=w\cdot x+b=\sum_{i}w_ix_i+b z=wx+b=iwixi+b

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)

(下标为w和b的意思是f是受w和b的控制的)

f w , b ( x ) = P w , b ( C 1 ∣ x ) = σ ( z ) = 1 1 + e − z f_{w,b}(x)=P_{w,b}(C_1|x)=\sigma(z)=\frac{1}{1+e^{-z}} fw,b(x)=Pw,b(C1x)=σ(z)=1+ez1

Logistic Regression

f w , b ( x ) = σ ( ∑ i w i x i + b ) f_{w, b}(x)=\sigma(\sum_{i} w_{i} x_{i}+{b}) fw,b(x)=σ(iwixi+b)
他的输出通过signoid function,所以是介于0到1之间的

Linear Regression

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
他的输出没有通过signoid function,所以他的output可以是任何值


Step2:Goodness of a Function

定义损失函数(LOSS)来评价模型好坏
w ∗ , b ∗ = arg max ⁡ w , b L ( w , b ) = arg min ⁡ w , b ( − l n L ( w , b ) ) w^*,b^*=\argmax_{w,b}L(w,b)=\argmin_{w,b}(-lnL(w,b)) w,b=w,bargmaxL(w,b)=w,bargmin(lnL(w,b))
通过ln 将连乘变成连加,简化了计算机的计算
在计算机中,连乘后的数值容易溢出,变成连加后,数值不容易溢出。
− l n L ( w , b ) = ∑ n − [ y ^ n l n f w , b ( x n ) + ( 1 − y ^ n ) l n ( 1 − f w , b ( x n ) ) ] -lnL(w,b)=\sum_{n}-[\hat{y}^n lnfw,b(x^n)+(1-\hat{y}^n)ln(1-fw,b(x^n))] lnL(w,b)=n[y^nlnfw,b(xn)+(1y^n)ln(1fw,b(xn))]
注: ∑ n − [ y ^ n l n f w , b ( x n ) + ( 1 − y ^ n ) l n ( 1 − f w , b ( x n ) ) ] \sum_{n}-[\hat{y}^n lnfw,b(x^n)+(1-\hat{y}^n)ln(1-fw,b(x^n))] n[y^nlnfw,b(xn)+(1y^n)ln(1fw,b(xn))]
这一项是两个Bernoulli distribution(伯努利分布)的cross entropy(交叉熵
若把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:
p ( x = 1 ) = f ( x n ) p(x=1)=f(x^n) p(x=1)=f(xn)
p ( x = 0 ) = 1 − f ( x n ) p(x=0)=1-f(x^n) p(x=0)=1f(xn)
进行交叉熵运算(cross entropy)
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))
则算出的结果就是 − [ y ^ n l n f w , b ( x n ) + ( 1 − y ^ n ) l n ( 1 − f w , b ( x n ) ) ] -[\hat{y}^n lnfw,b(x^n)+(1-\hat{y}^n)ln(1-fw,b(x^n))] [y^nlnfw,b(xn)+(1y^n)ln(1fw,b(xn))]


定义function的好坏
Logistic Regression

Training Data: ( x n , y ^ n ) (x^n,\hat{y}^n) (xn,y^n)
y ^ n \hat{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}), \hat{y}^{n}) L(f)=nC(f(xn),y^n)
他的loss是所有例子交叉熵的总和,也就是 x n 与 y ^ n x^n与\hat{y}^n xny^n的交叉熵
希望function的输出与目标相差越小越好

Linear Regression

Training Data: ( x n , y ^ n ) (x^n,\hat{y}^n) (xn,y^n)
y ^ n \hat{y}^n y^n:a real number
L ( f ) = 1 2 ∑ n ( f ( x n ) − y ^ n ) 2 L(f)=\frac{1}{2} \sum_{n}(f(x^{n})-\hat{y}^{n})^{2} L(f)=21n(f(xn)y^n)2


Step3:Find the best function

经过复杂的数学运算后,得到
w i = w i − η ∑ n − ( y ^ n − f w , b ( x n ) ) x i n w_i=w_i-\eta \sum_{n}-(\hat{y}^n-f_{w,b}(x^n))x_i^n wi=wiηn(y^nfw,b(xn))xin

C ( f ( x n ) , y n ) = − y n l n f w , b ( x n ) − ( 1 − y ) l n ( 1 − f w , b ( x n ) ) C(f(x^n),y^n)=-y^nlnfw,b(x^n)-(1-y)ln(1-fw,b(x^n)) C(f(xn),yn)=ynlnfw,b(xn)(1y)ln(1fw,b(xn))
Q:为什么logistic regression的损失函数不能和linear regression一样,选square error(平方误差)?
A:logistic regression + square error不容易得到很好的结果,而cross entropy容易得到很好的结果,会让training顺很多。


Discriminative v.s. Generative

把Logistic Regression(逻辑回归)的方法称为Discriminative(判别模型)的方法
用Gaussian distribution(高斯分布)来描述Posterior Probability(后验概率)的方法是Generative(生成模型)的方法。

生成模型作了假设,而判别模型没有作假设。

  • 生成模型 P ( C 1 ∣ x ) = P ( C 1 ) P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 1 ) + P ( C 2 ) P ( x ∣ C 2 ) = σ ( z ) {P}({C}_{1} \mid {x})=\frac{{P}({C}_{1}) {P}({x} \mid {C}_{1})}{{P}({C}_{1}) {P}({x} \mid {C}_{1})+{P}({C}_{2}) {P}({x} \mid {C}_{2})}=\sigma({z}) P(C1x)=P(C1)P(xC1)+P(C2)P(xC2)P(C1)P(xC1)=σ(z)
  • 判别模型 z = ( μ 1 − μ 2 ) T Σ − 1 x − 1 2 ( μ 1 ) T Σ − 1 μ 1 + 1 2 ( μ 2 ) T Σ − 1 μ 2 + ln ⁡ N 1   N 2 z=(\mu^{1}-\mu^{2})^{{T}} \Sigma^{-1} {x}-\frac{1}{2}(\mu^{1})^{{T}} \Sigma^{-1} \mu^{1}+\frac{1}{2}(\mu^{2})^{{T}} \Sigma^{-1} \mu^{2}+\ln \frac{{N}_{1}}{{~N}_{2}} z=(μ1μ2)TΣ1x21(μ1)TΣ1μ1+21(μ2)TΣ1μ2+ln N2N1
    同样的数据,用生成模型和判别模型得到的w和b是不一样的。

普遍认为,生成模型的性能不如判别模型的性能。不过,生成模型也有优点:

  • 因为假设了概率分布,所以需要的训练数据较少。
  • 因为假设了概率分布,所以受噪声影响较小。
  • 可以从其它资源处估算先验概率和类别独立概率。

Powerful Cascading Logistic Regression

把每一个Logistic Regression叫做一个Neuron,把这些Logistic Regression串起来做成的network就叫做Neural Network(内神经网络)

这就是Deep Learning

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值