机器学习(四)从信息论交叉熵的角度看softmax/逻辑回归损失

机器学习中会常见到softmaxLoss,逻辑回归损失(或者叫交叉熵损失),这两种损失的来源可以由两方面考虑,一方面可以看做是来源于概率论中的极大似然估计,此部分可参见机器学习(二),另一方面可以看做是来源于信息论中的交叉熵损失
本文主要从信息论中交叉熵的角度来解读这两种损失的由来。

softmax损失与逻辑回归损失的来源

交叉熵的定义

信息量:事件X=x0的信息量为

I(X0)=log(p(x0))

:信息量的度量/期望,对于二值事件来说,
Entropy=[p(X=x0)log(p(X=x0))+(1p(X=x0))log(1p(X=x0))]
对于多值事件来说
Entropy=xXp(x)log(p(x))
由熵的定义可知,其表示该事件的不确定性大小,熵值越大,表明事件X的随机性越大
相对熵:也叫作KL散度,信息增益,其主要是2个随机分布之间的距离度量。对于两个分布p,q,其KL距离为
DKL(p||q)=xX[p(x)log(p(x)q(x))]
其表示的含义是,当样本的真实分布为p,而估计的样本分布q的有效性。其值越小,表示估计的分布q越接近真实分布p。
交叉熵
同样是衡量两个分布之间的相似性。 其中x代表该样本的某一个类别,X代表该样本的所有可能类别集合,p(x)表示样本取值为x的真实概率,q(x)表示样本取值为x的预测概率
ζp(ζ=x)01
,对于这个样本的交叉熵损失如下
CrossEntropy(p,q)=xXp(ζ=x)log(q(ζ=x))
当p(x)为固定的分布时,交叉熵与相对熵是等价的。当p(x)表示为样本的真实分布,q(x)表示预测的分布时,这两者同样表示了预测与真实之间的差距。

特别的,当事件X为二值事件(取值为0或1)时,假设

XPprob(x=1)=p
Qprob(x=1)=q
则此时用来预测的分布Q和真实的分布P之间的交叉熵为
CrossEntropy(P,Q)=[plog(q)+(1p)log(1q)]=[labelXlog(hθ(X))+(1labelX)log(1hθ(X))]

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