李宏毅机器学习(5)

本文深入探讨了逻辑回归的原理,包括函数设定、最大似然估计、梯度下降法以及参数优化。通过交叉熵损失函数来度量模型性能,并对比了判别式与生成式模型的差异。此外,还介绍了如何通过特征转换解决线性边界限制,并提及了多类别分类的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Logistic Regression

步骤

Step 1:Function Set:

fw,b(x)=Pw,b(C1∣x)f_{w,b}(x)=P_{w,b}(C_1|x)fw,b(x)=Pw,b(C1x) including all different www and bbb
fw,b(x)=σ(∑iwi⋅xi+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)=fw,b(x1)fw,b(x2)(1−fw,b(x3))…fw,b(xn)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^*wb∗b^*b使L(w,b)L(w,b)L(w,b)最大。
w∗,b∗=arg maxw,bL(w,b)=arg minw,b−lnL(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)
这种方法类似于最大似然估计。
在这里插入图片描述
所以:
在这里插入图片描述
最后得出−lnL(b,w)=∑n−[y^nlnfw,b(xn)+(1−y^n)ln(1−fw,b(xn))]-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[ynlnfw,b(xn)+(1yn)ln(1fw,b(xn))]
y^nlnfw,b(xn)+(1−y^n)ln(1−fw,b(xn))\widehat{y}_nlnf_{w,b}(x_n)+(1-\widehat{y}_n)ln(1-f_{w,b}(x_n))ynlnfw,b(xn)+(1yn)ln(1fw,b(xn))叫做交叉熵(Cross entropyCross\ entropyCross entropy),可以衡量两个分布的接近程度。在上例中是在衡量两个伯努利分布的接近程度。

Distribution p:Distribution\ p:Distribution p:----------------------------------------Distribution q:Distribution\ q:Distribution q:
p(x=1)=y^np(x=1)=\widehat{y}_np(x=1)=yn-------------------------------------------q(x=1)=f(xn)q(x=1)=f(x_n)q(x=1)=f(xn)
p(x=0)=1−y^np(x=0)=1-\widehat{y}_np(x=0)=1yn-------------------------------------q(x=0)=1−f(xn)q(x=0)=1-f(x_n)q(x=0)=1f(xn)
cross entropy:H(p,q)=−∑xp(x)ln(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:(xn,y^n)(x_n,\widehat{y}_n)(xn,yn)
y^n\widehat{y}^nyn:1 for class 1,0 for class 2
L(f)=∑nC(f(xn),y^n)L(f)=\sum_{n}{C(f(x_n),\widehat{y}_n)}L(f)=nC(f(xn),yn)
Cross entropy:C(f(xn),y^n)=−[y^nlnf(xn)+(1−y^n)ln(1−f(xn))]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),yn)=[ynlnf(xn)+(1yn)ln(1f(xn))]

Step 3:Find the best function

fw,b(x)=σ(z)=11+exp(−z),z=w⋅x+b=∑iwi⋅xi+bf_{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
αlnfw,b(x)αwi=αlnfw,b(x)αzαzαwi\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

其中αlnσ(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)

αln(1−fw,b(x))αwi=αln(1−fw,b(x))αzαzαwi\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
所以,−lnL(w,b)αwi=∑n−[y^n(1−fw,b(xn)xn,i)−(1−y^n)fw,b(xn)xn,i]=∑n−(y^n−fw,b(xn))xn,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[yn(1fw,b(xn)xn,i)(1yn)fw,b(xn)xn,i]=n(ynfw,b(xn))xn,i
wi←wi−η∑n−(y^n−fw,b(xn))xn,iw_i\leftarrow w_i-η\sum_n{-(\widehat{y}_n-f_{w,b}(x_n))x_{n,i}}wiwiηn(ynfw,b(xn))xn,i
有趣的是,linear regression也是:wi←wi−η∑n−(y^n−fw,b(xn))xn,iw_i\leftarrow w_i-η\sum_n{-(\widehat{y}_n-f_{w,b}(x_n))x_{n,i}}wiwiηn(ynfw,b(xn))xn,i
在这里插入图片描述

为什么不用Square Error?

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

Discriminative vs. Generative

相同:

  • 模型都是P(C1∣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,Σ,则wT=(μ1−μ2)TΣ−1w^T=(μ_1-μ_2)^TΣ^{-1}wT=(μ1μ2)TΣ1b=−12(μ1)T(Σ1)−1μ1+12(μ2)T(Σ1)−1μ2+lnN1N2b=-\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

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

Multi-class Classification(3 classes as example)

刚才的例子都是二元分类的,但如果是多元分类做法会有所不同。
在这里插入图片描述
在这里插入图片描述
其中,y^n\widehat{y}_nyn是target值。
logistic regression的限制:分界线只是一条直线,这就会导致有的情况无法处理,如下图:
在这里插入图片描述
解决方案(Feature transformation):改变Feature Space,如:[x1x2]→[x1′x2′]\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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值