交叉熵(Cross Entropy)

交叉熵应用到机器学习问题的简要介绍

   交叉熵可以用于定义机器学习问题和最优化问题的损失函数。我们可以假定,真实标签中正类别的概率为 pi ,而当前训练出的模型的预测值是正类别的概率是 qi ,这样我们可以通过交叉熵计算 pi qi 的相似度,然后对模型进行进一步的优化。
   使用一个更加具体的例子,我们使用逻辑回归(logistic regression)作为处理二分类问题的模型,定义两个类别分别为 0 1 。这样的话,我们可以将结果的概率模型定义为 g(z)=1/(1+ez) 。当我们要计算 y=1 的概率的时候,我们通过以下公式进行计算:

qy=1=y^g(wx)=1/(1+ewx)
这里,权重向量 w 是通过梯度下降等优化算法计算出来的。相同的, y=0 的互补概率可以简单地表示为:
qy=0=1y^
上述的两个公式表示的是当前模型预测值的概率分布。
   对于数据的真实概率分布,我们可以表达为: py=1=y py=0=1y
   综合上述的概率表达,我们可以将真实概率表达为 p{y,1y} ,并且将预测概率表达为 q{y^,1y^} 。这样的话,我们可以通过交叉熵来测量 p q 之间的相似度:
H(p,q)=ipilogqi=ylogy^(1y)log(1y^)
这个公式其实就是在逻辑回归中计算某个数据样本的损失的表达式,要想计算整个模型的损失,我们只需要计算所有数据样本的损失的平均值即可:
L(w)=1Nn=1NH(pn,qn)=1Nn=1N[ynlogy^n+(1yn)log(1y^n)]
这里 y^ng(wxn)=11+ewxn g(z) 就是逻辑函数。

参考资料

交叉熵-维基百科 https://en.wikipedia.org/wiki/Cross_entropy

你可能感兴趣的:(机器学习)