softmax回归中最大化似然和最小化交叉熵的等价性,sigmoid推广到softmax

s o f t m a x softmax softmax回归是一个多分类模型 f ( X ) = s o f t m a x ( X n × d W d × k + b 1 × k ) f(X)=softmax(X_{n\times d}W_{d\times k}+b_{1\times k}) f(X)=softmax(Xn×dWd×k+b1×k),它的输出是每个类别的概率,样本集的标签以独热编码 o n e − h o t   e n c o d i n g one-hot\ encoding onehot encoding给出,这个模型认为给定输出特征 x 1 × d x_{1\times d} x1×d,类别是 j j j的概率是 s o f t m a x ( x W + b ) softmax(xW+b) softmax(xW+b)的第 j j j项,即 P ( y j ∣ x ) = s o f t m a x ( x W + b ) j = y ^ j P(y_j|x)=softmax(xW+b)_j=\hat{y}_j P(yjx)=softmax(xW+b)j=y^j,其中 y j y_j yj是标签的独热编码向量,它的第 j j j项不为 0 0 0,其他项都是 0 0 0,而 y ^ j \hat{y}_j y^j是一个数值,是输出向量中的第 j j j个分量。下面说明的是对这种分类任务而言,最大化对数似然函数等价于最小化交叉熵损失

尽管 s o f t m a x softmax softmax是一个非线性函数 s o f t m a x ( o i ) = e x p ( o i ) ∑ k e x p ( o k ) softmax(o_i)=\frac{exp(o_i)}{\sum_k exp(o_k)} softmax(oi)=kexp(ok)exp(oi),但它不改变输出 o o o的相对大小,分类结果 a r g m a x j   y j ^ = a r g m a x j   o j ^ argmax_j\ \hat{y_j}=argmax_j\ \hat{o_j} argmaxj yj^=argmaxj oj^不会改变,因此 s o f t m a x softmax softmax回归的输出仍然由输入特征的仿射变换决定,因此 s o f t m a x softmax softmax回归是一个线性分类模型

假设模型给出的分类概率向量是 y ^ ( i ) \hat{y}^{(i)} y^(i),似然函数是 P ( Y ∣ X ) = ∏ i = 1 n P ( y j ( i ) ∣ x ( i ) ) P(Y|X)=\prod_{i=1}^nP(y^{(i)}_j|x^{(i)}) P(YX)=i=1nP(yj(i)x(i))其中 x ( i ) x^{(i)} x(i)是第 i i i个样本向量,其中 y j ( i ) y^{(i)}_j yj(i)是第 i i i个标签的独热编码且第 j j j项不为 0 0 0,其他项都是 0 0 0(注意这里 y j ( i ) y^{(i)}_j yj(i)是一个向量,而不是分量数值,它表示的是真实发生的标签),而最大化似然函数相当于最小化负对数似然函数 − l o g P ( Y ∣ X ) = ∑ i = 1 n − l o g P ( y j ( i ) ∣ x ( i ) ) = ∑ i = 1 n − l o g y ^ j ( i ) = ∑ i = 1 n H ( y ( i ) , y ^ ( i ) ) -logP(Y|X)=\sum_{i=1}^n-logP(y^{(i)}_j|x^{(i)})=\sum_{i=1}^n-log\hat{y}_j^{(i)}=\sum_{i=1}^nH(y^{(i)},\hat{y}^{(i)}) logP(YX)=i=1nlogP(yj(i)x(i))=i=1nlogy^j(i)=i=1nH(y(i),y^(i)),其中真实标签向量和预测标签向量的交叉熵 H ( y ( i ) , y ^ ( i ) ) = − ∑ j = 1 k y j ( i ) l o g y ^ j ( i ) H(y^{(i)},\hat{y}^{(i)})=-\sum_{j=1}^ky_j^{(i)}log\hat{y}_j^{(i)} H(y(i),y^(i))=j=1kyj(i)logy^j(i),由于独热编码中只有一项是 1 1 1,因此 H ( y ( i ) , y ^ ( i ) ) = − l o g y ^ j ( i ) H(y^{(i)},\hat{y}^{(i)})=-log\hat{y}_j^{(i)} H(y(i),y^(i))=logy^j(i),其中 y ^ j ( i ) \hat{y}_j^{(i)} y^j(i)是真实标签 y y y中不为零的那一项对应的预测概率,是一个数值。因此得到 m a x   P ( Y ∣ X )    ⟺    min ⁡ ∑ i = 1 n H ( y , y ^ ) max\ P(Y|X)\iff\min\sum_{i=1}^nH(y,\hat{y}) max P(YX)mini=1nH(y,y^)
下面是损失函数 − ∑ j = 1 k y j l o g y ^ j -\sum_{j=1}^ky_jlog\hat{y}_j j=1kyjlogy^j代入模型的过程
l ( y , y ^ ) = − ∑ j = 1 k y j l o g e x p ( o j ) ∑ i = 1 k e x p ( o k ) = ∑ j = 1 k y j l o g ∑ i = 1 k e x p ( o k ) − ∑ i = 1 k o j y j = l o g ∑ i = 1 k e x p ( o k ) − ∑ i = 1 k o j y j l(y,\hat{y})=-\sum_{j=1}^ky_jlog\frac{exp(o_j)}{\sum_{i=1}^kexp(o_k)}\\ =\sum_{j=1}^ky_jlog\sum_{i=1}^kexp(o_k)-\sum_{i=1}^ko_jy_j\\ =log\sum_{i=1}^kexp(o_k)-\sum_{i=1}^ko_jy_j l(y,y^)=j=1kyjlogi=1kexp(ok)exp(oj)=j=1kyjlogi=1kexp(ok)i=1kojyj=logi=1kexp(ok)i=1kojyj
最后一个等式也是利用了 y y y中只有一项是 1 1 1,下面求偏导数
∂ o j l ( y , y ^ ) = e x p ( o j ) ∑ k e x p ( o k ) − y j = s o f t m a x ( o ) j − y j \partial_{o_j}l(y,\hat{y})=\frac{exp(o_j)}{\sum_k exp(o_k)}-y_j=softmax(o)_j-y_j ojl(y,y^)=kexp(ok)exp(oj)yj=softmax(o)jyj
因此偏导就是输出中的每一个分量与真实独热标签直接的差异,这很类似回归问题中的绝对损失函数,其中梯度是观测值 y y y和估计值 y ^ \hat{y} y^之间的差异。这不是巧合,在任何指数族分布模型中,对数似然的梯度正是由此得出的,这使得梯度的计算在实践中变得容易很多
这里 l o g i s t i c logistic logistic回归模型, l o g i s t i c logistic logistic回归模型实际上是 s o f t m a x softmax softmax回归损失函数的特殊情况,下面给出公式解释
下面的表述中忽略转置符号和偏置项(只需在w和x中多加一项即可表达),在softmax回归中
P ( y = j ∣ x ) = s o f t m a x ( w x ) = e w j x ∑ k = 1 K e w k x P(y=j|x)=softmax(wx)=\frac{e^{w_jx}}{\sum_{k=1}^{K}e^{w_kx}} P(y=jx)=softmax(wx)=k=1Kewkxewjx
K = 2 , j = 0 / 1 K=2,j=0/1 K=2,j=0/1时,
P ( y = 1 ∣ x ) = s o f t m a x ( w x ) = e w 1 x e w 0 x + e w 1 x P(y=1|x)=softmax(wx)=\frac{e^{w_1x}}{e^{w_0x}+e^{w_1x}} P(y=1∣x)=softmax(wx)=ew0x+ew1xew1x
而在logistic回归中
p ( y = 1 ∣ x ) = s i g m o i d ( w x ) = 1 1 + e − w x = e w x 1 + e w x p(y=1|x)=sigmoid(wx)=\frac{1}{1+e^{-wx}}=\frac{e^{wx}}{1+e^{wx}} p(y=1∣x)=sigmoid(wx)=1+ewx1=1+ewxewx
将logistic中的 w w w理解为 w 1 − w 0 w_1-w_0 w1w0(这里就是推广扩展的点),即可得到与softmax一致的表达式
p ( y = 1 ∣ x ) = e ( w 1 − w 0 ) x 1 + e ( w 1 − w 0 ) x = e w 1 x e w 0 x + e w 1 x p(y=1|x)=\frac{e^{(w_1-w_0)x}}{1+e^{(w_1-w_0)x}}=\frac{e^{w_1x}}{e^{w_0x}+e^{w_1x}} p(y=1∣x)=1+e(w1w0)xe(w1w0)x=ew0x+ew1xew1x
关于理解w,下面做出解释:在sigmoid(wx)中,分类为0/1的临界点是wx=0,按照softmax中的思路, w 1 w_1 w1表达了
类别1,而 w 0 w_0 w0表达了类别0, w 1 x w_1x w1x即表达了x为与类别1的相似度,那么分类临界点即应该是 w 1 x w_1x w1x= w 0 x w_0x w0x,即 w w w理解为 w 1 − w 0 w_1-w_0 w1w0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_森罗万象

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

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

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

打赏作者

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

抵扣说明:

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

余额充值