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。下面说明的是对这种分类任务而言,最大化对数似然函数等价于最小化交叉熵损失

尽管 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,而最大化似然函数相当于最小化负对数似然函数 − 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 = 1 n H ( y , y ^ ) -logP(Y|X)=\sum_{i=1}^n-logP(y^{(i)}_j|x^{(i)})=\sum_{i=1}^n-log\hat{y}_j=\sum_{i=1}^nH(y,\hat{y}) logP(YX)=i=1nlogP(yj(i)x(i))=i=1nlogy^j=i=1nH(y,y^),其中真实标签向量和预测标签向量的交叉熵 H ( y , y ^ ) = − ∑ j = 1 k y j l o g y ^ j H(y,\hat{y})=-\sum_{j=1}^ky_jlog\hat{y}_j H(y,y^)=j=1kyjlogy^j,由于独热编码中只有一项是 1 1 1,因此 H ( y , y ^ ) = − l o g y ^ j H(y,\hat{y})=-log\hat{y}_j H(y,y^)=logy^j,其中 y ^ j \hat{y}_j y^j是真实标签 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回归模型,这里是 s o f t m a x softmax softmax l o g i s t i c logistic logistic回归的区别和联系

你可能感兴趣的:(学习笔记,回归,人工智能)