第六章逻辑斯蒂回归与最大熵模型6.1逻辑斯蒂回归与最大熵


本课程来自深度之眼,部分截图来自课程视频以及李航老师的《统计学习方法》第二版。
公式输入请参考: 在线Latex公式

前言

学习第6章逻辑斯谛回归与最大熵模型
任务简介:理解逻辑斯蒂回归的模型形式和求解方法,了解最大熵模型的思想和求解方法。
详细说明:第6章介绍的逻辑斯蒂回归与最大熵模型都属于对数线性模型,都用来解决分类问题。通过学习第1节,需要掌握逻辑斯蒂回归的模型形式和似然函数,理解最大熵模型的思想和求解方法;通过学习第2节,了解改进的迭代尺度算法的思想。
学习目标:
0.导读视频。
1.掌握二项逻辑斯蒂和多项逻辑斯蒂模型的模型形式和似然函数。
2.掌握二项逻辑斯蒂求解中的梯度下降法。
3.理解最大熵模型的思想,了解拉格朗日对偶性。
4.理解最大熵模型中的改进的迭代尺度算法。
5.掌握逻辑斯谛回归与最大熵的算法实现。
在这里插入图片描述

导入

先回顾之前的感知机
f ( x ) = sign ( w ⋅ x + b ) f(x)=\text{sign}(w\cdot x+b) f(x)=sign(wx+b)
1.只输出-1和+1是不是太生硬了?这样的判别方式真的有效吗?
2.超平面左侧0.001距离的点和超平面右侧0.001距离的点真的有天壤之别吗?(如下图所示)
在这里插入图片描述
我们观察感知机函数图形可知:
1.感知机通过梯度下降更新参数,但在sign函数中,x=0是间断点,不可微。
2.感知机由于sign不是连续可微的,因此在梯度下降时脱去了壳子sign函数。
在这里插入图片描述

逻辑斯蒂回归

定义

P ( Y = 1 ∣ x ) = exp ⁡ ( w ⋅ x ) 1 + exp ⁡ ( w ⋅ x ) P ( Y = 0 ∣ x ) = 1 1 + exp ⁡ ( w ⋅ x ) (1) P(Y=1|x)=\cfrac{\exp(w\cdot x)}{1+\exp(w\cdot x)}\\P(Y=0|x)=\cfrac{1}{1+\exp(w\cdot x)}\tag1 P(Y=1x)=1+exp(wx)exp(wx)P(Y=0x)=1+exp(wx)1(1)
在这里插入图片描述
其好处在于
1.整个值域连续可微
2.由于 a a + b + b a + b = 1 \cfrac{a}{a+b}+\cfrac{b}{a+b}=1 a+ba+a+bb=1每一项值域都是[0,1],因此可以把这两项可以看做是条件概率。整个模型就是吃样本,得概率

参数估计p93

逻辑斯谛回归模型学习时,对于给定的训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),,(xN,yN)},,其中, x i ∈ R n , y ∈ { 0 , 1 } x_i\in R^n,y\in \{0,1\} xiRn,y{0,1},可以应用极大似然估计法估计模型参数,从而得到逻辑斯谛回归模型。假设
P ( Y = 1 ∣ x ) = π ( x ) , P ( Y = 0 ∣ x ) = 1 − π ( x ) P(Y=1|x)=\pi(x),P(Y=0|x)=1-\pi(x) P(Y=1x)=π(x),P(Y=0x)=1π(x)
根据之前之前抛硬币的例子,可以写成上式对应的似然函数:
∏ i = 1 N [ π ( x i ) ] y i [ 1 − π ( x i ) ] 1 − y i \prod_{i=1}^N[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i} i=1N[π(xi)]yi[1π(xi)]1yi
取对数得到对数似然函数:
L ( w ) = ∑ i = 1 N log ⁡ [ π ( x i ) ] y i [ 1 − π ( x i ) ] 1 − y i = ∑ i = 1 N [ log ⁡ [ π ( x i ) ] y i + log ⁡ [ 1 − π ( x i ) ] 1 − y i ] = ∑ i = 1 N [ y i log ⁡ π ( x i ) + ( 1 − y i ) log ⁡ ( 1 − π ( x i ) ) ] = ∑ i = 1 N [ y i log ⁡ π ( x i ) + log ⁡ ( 1 − π ( x i ) ) − y i log ⁡ ( 1 − π ( x i ) ) ] = ∑ i = 1 N [ y i log ⁡ π ( x i ) 1 − π ( x i ) + log ⁡ ( 1 − π ( x i ) ) ] (2) L(w)=\sum_{i=1}^N\log[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i}\\ =\sum_{i=1}^N\left [\log[\pi(x_i)]^{y_i}+\log[1-\pi(x_i)]^{1-y_i}\right ]\\ =\sum_{i=1}^N\left [y_i\log\pi(x_i) +(1-y_i)\log(1-\pi(x_i))\right ]\\ =\sum_{i=1}^N\left [y_i\log\pi(x_i) +\log(1-\pi(x_i))-y_i\log(1-\pi(x_i))\right ]\\ =\sum_{i=1}^N\left [y_i\log\cfrac{\pi(x_i)}{1-\pi(x_i)} +\log(1-\pi(x_i))\right ]\tag2 L(w)=i=1Nlog[π(xi)]yi[1π(xi)]1yi=i=1N[log[π(xi)]yi+log[1π(xi)]1yi]=i=1N[yilogπ(xi)+(1yi)log(1π(xi))]=i=1N[yilogπ(xi)+log(1π(xi))yilog(1π(xi))]=i=1N[yilog1π(xi)π(xi)+log(1π(xi))](2)
这里我们看一下把假设的两个式子相除,然后把定义的(1)代入:
P ( Y = 1 ∣ x ) P ( Y = 0 ∣ x ) = π ( x ) 1 − π ( x ) = exp ⁡ ( w ⋅ x ) 1 + exp ⁡ ( w ⋅ x ) ⋅ 1 + exp ⁡ ( w ⋅ x ) 1 = exp ⁡ ( w ⋅ x ) \cfrac{P(Y=1|x)}{P(Y=0|x)}=\cfrac{\pi(x)}{1-\pi(x)}=\cfrac{\exp(w\cdot x)}{1+\exp(w\cdot x)}\cdot \cfrac{1+\exp(w\cdot x)}{1}\\ =\exp(w\cdot x) P(Y=0x)P(Y=1x)=1π(x)π(x)=1+exp(wx)exp(wx)11+exp(wx)=exp(wx)
将上式以及逻辑斯蒂定义代入2可得:
L ( w ) = ∑ i = 1 N [ y i log ⁡ [ exp ⁡ ( w ⋅ x i ) ] + log ⁡ 1 1 + exp ⁡ ( w ⋅ x i ) ] = ∑ i = 1 N [ y i log ⁡ [ exp ⁡ ( w ⋅ x i ) ] + log ⁡ [ 1 + exp ⁡ ( w ⋅ x i ) ] − 1 ] = ∑ i = 1 N [ y i ( w ⋅ x i ) − log ⁡ ( 1 + exp ⁡ ( w ⋅ x i ) ) ] L(w)=\sum_{i=1}^N\left [y_i\log[\exp(w\cdot x_i)]+\log\cfrac{1}{1+\exp(w\cdot x_i)}\right ]\\ =\sum_{i=1}^N\left [y_i\log[\exp(w\cdot x_i)]+\log[1+\exp(w\cdot x_i)]^{-1}\right ]\\ =\sum_{i=1}^N\left [y_i(w\cdot x_i)-\log(1+\exp(w\cdot x_i))\right ] L(w)=i=1N[yilog[exp(wxi)]+log1+exp(wxi)1]=i=1N[yilog[exp(wxi)]+log[1+exp(wxi)]1]=i=1N[yi(wxi)log(1+exp(wxi))]
得到似然函数后,再来求最大似然,就是要使得似然函数最大化,要求偏导:
∂ L ( w ) ∂ w = ∑ i = 1 N y i ⋅ x i − 1 1 + exp ⁡ ( w ⋅ x i ) exp ⁡ ( w ⋅ x i ) ⋅ x i = ∑ i = 1 N y i ⋅ x i − exp ⁡ ( w ⋅ x i ) ⋅ x i 1 + exp ⁡ ( w ⋅ x i ) \cfrac{\partial L(w)}{\partial w}=\sum_{i=1}^Ny_i\cdot x_i-\cfrac{1}{1+\exp(w\cdot x_i)}\exp(w\cdot x_i)\cdot x_i\\ =\sum_{i=1}^Ny_i\cdot x_i-\cfrac{\exp(w\cdot x_i)\cdot x_i}{1+\exp(w\cdot x_i)} wL(w)=i=1Nyixi1+exp(wxi)1exp(wxi)xi=i=1Nyixi1+exp(wxi)exp(wxi)xi

总结

1.逻辑斯蒂以输出概率的形式解决了极小距离带来的+1和-1的天壤之别。同时概率也可作为模型输出的置信程度。
2.逻辑斯蒂使得了最终的模型函数连续可微。训练目标与预测目标达成了一致。
3.逻辑斯蒂采用了极大似然估计来估计参数。

最大熵

在我们猜测概率时,不确定的部分我们认为是等可能的,就好像骰子一样,我们知道有6个面,因此认为每个面的概率是1/6,也就是等可能。
换句话说,就是趋向于均匀分布,最大熵使用的就是一个这么朴素的道理:
凡是我们知道的,就把它考虑进去,凡是不知道的,通通均匀分布。
例如,一个骰子,1朝上的概率是1/2,那剩下的面出现的概率就是1/10。
回顾熵的公式为:
H ( P ) = − ∑ x P ( x ) log ⁡ P ( x ) H(P)=-\sum_xP(x)\log P(x) H(P)=xP(x)logP(x)
假设我们目标是要求 P ( Y ∣ X ) P(Y|X) P(YX),将这个目标代入熵的公式:
H ( P ) = − ∑ x P ( y ∣ x ) log ⁡ P ( y ∣ x ) H(P)=-\sum_xP(y|x)\log P(y|x) H(P)=xP(yx)logP(yx)
然后要最大化熵,这样才可以得到均匀分布,此时先对熵做些调整,定义条件熵:
H ( y ∣ x ) = H ( P ) = − ∑ x P ~ ( x ) P ( y ∣ x ) log ⁡ P ( y ∣ x ) H(y|x)=H(P)=-\sum_x\tilde P(x)P(y|x)\log P(y|x) H(yx)=H(P)=xP~(x)P(yx)logP(yx)

约束条件

根据训练集包含的所有样本及对应的标签。可以计算:
P ~ ( X = x , Y = y ) = v ( X = x , Y = y ) N P ~ ( X = x ) = v ( X = x ) N \tilde P(X=x,Y=y)=\cfrac{v(X=x,Y=y)}{N}\\ \tilde P(X=x)=\cfrac{v(X=x)}{N} P~(X=x,Y=y)=Nv(X=x,Y=y)P~(X=x)=Nv(X=x)
上面v代表求符合括号中的条件的样本个数,分母是总样本个数。
然后再定义特征函数:
f ( x , y ) = { 1 ,  if  x 与 y 满 足 某 一 事 实 0 ,  if  x 与 y 不 满 足 某 一 事 实 f(x,y)=\begin{cases} &1, \text{ if }x与y满足某一事实 \\ &0, \text{ if }x与y不满足某一事实 \end{cases} f(x,y)={1, if xy0, if xy
特征函数 f ( x , y ) f(x,y) f(x,y)关于经验分布 P ~ ( x , y ) \tilde P(x,y) P~(x,y)的期望值:
E P ~ ( f ) = ∑ x , y P ~ ( x , y ) f ( x , y ) = ∑ x , y P ~ ( x ) P ~ ( y ∣ x ) f ( x , y ) E_{\tilde P}(f)=\sum_{x,y}\tilde P(x,y)f(x,y)=\sum_{x,y}\tilde P(x)\tilde P(y|x)f(x,y) EP~(f)=x,yP~(x,y)f(x,y)=x,yP~(x)P~(yx)f(x,y)
而对于真实世界而言,特征函数 f ( x , y ) f(x,y) f(x,y)关于模型的期望值为:
E P ( f ) = ∑ x , y P ( x , y ) f ( x , y ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) E_{P}(f)=\sum_{x,y} P(x,y)f(x,y)=\sum_{x,y}\tilde P(x)P(y|x)f(x,y) EP(f)=x,yP(x,y)f(x,y)=x,yP~(x)P(yx)f(x,y)
关于上面两个期望可以这样理解,真实数据的概率分布是 P ( x , y ) P(x,y) P(x,y),我们通过抽样出来的样本得到的概率分布是 P ~ ( x , y ) \tilde P(x,y) P~(x,y),我们希望 P ~ ( x , y ) ≈ P ( x , y ) \tilde P(x,y)\approx P(x,y) P~(x,y)P(x,y),在联合概率分布展开后 P ( x , y ) = P ( x ) P ( y ∣ x ) P(x,y)=P(x)P(y|x) P(x,y)=P(x)P(yx),真实数据的条件概率 P ( y ∣ x ) P(y|x) P(yx)是我们要去估计的东西,于是有了上面两个式子。因此最后的约束就是所有的特征函数得到的期望都相等,另外一个是概率求和为1:
max ⁡ P ∈ C H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) log ⁡ P ( y ∣ x ) s . t . E P ~ ( f i ) − E P ( f i ) = 0 i = 1 , 2 , ⋯   , n ∑ y P ( y ∣ x ) = 1 \underset{P\in C}{\max}H(P)=-\sum_{x,y}\tilde P(x)P(y|x)\log P(y|x)\\ s.t.\quad E_{\tilde P}(f_i)-E_{P}(f_i)=0 \quad i=1,2,\cdots,n\\ \sum_yP(y|x)=1 PCmaxH(P)=x,yP~(x)P(yx)logP(yx)s.t.EP~(fi)EP(fi)=0i=1,2,,nyP(yx)=1
将负号去掉变成最小化问题:
min ⁡ P ∈ C − H ( P ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) log ⁡ P ( y ∣ x ) s . t . E P ~ ( f i ) − E P ( f i ) = 0 i = 1 , 2 , ⋯   , n ∑ y P ( y ∣ x ) = 1 \underset{P\in C}{\min}-H(P)=\sum_{x,y}\tilde P(x)P(y|x)\log P(y|x)\\ s.t.\quad E_{\tilde P}(f_i)-E_{P}(f_i)=0 \quad i=1,2,\cdots,n\\ \sum_yP(y|x)=1 PCminH(P)=x,yP~(x)P(yx)logP(yx)s.t.EP~(fi)EP(fi)=0i=1,2,,nyP(yx)=1
C是模型集合。

求解过程

用拉格朗日乘子法,先把约束条件加到函数中:
L ( P , w ) ≡ − H ( P ) + w 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n w i ( E P ~ ( f i ) − E P ( f i ) ) L(P,w)\equiv-H(P)+w_0\left(1-\sum_yP(y|x)\right)+\sum_{i=1}^nw_i(E_{\tilde P}(f_i)-E_{P}(f_i)) L(P,w)H(P)+w0(1yP(yx))+i=1nwi(EP~(fi)EP(fi))
由于 L ( P , w ) L(P,w) L(P,w)是凸函数因此下面等式成立:
min ⁡ P ∈ C max ⁡ w L ( P , w ) = max ⁡ w min ⁡ P ∈ C L ( P , w ) \underset{P\in C}{\min}\underset{w}{\max}L(P,w)=\underset{w}{\max}\underset{P\in C}{\min}L(P,w) PCminwmaxL(P,w)=wmaxPCminL(P,w)
后面思路就是先求函数对 P P P的偏导,再求解 w w w

总结

1.最大熵强调不提任何假设,以嫡最大为目标。
2.将终极目标代入熵的公式后,将其最大化。
3.在训练集中寻找现有的约束,计算期望,将其作为约束。使用拉格朗日乘子法得到 P ( y ∣ x ) P(y|x) P(yx),之后使用优化算法得到 P ( y ∣ x ) P(y|x) P(yx)中的参数 w w w

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oldmao_2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值