机器学习随笔——Entropy Loss的本质

1. 疑问

今天突然想到了logloss,也就是 cross-entropyloss。

我们知道:entropy的计算公式如下:

机器学习随笔——Entropy Loss的本质_第1张图片

为什么二分类的时候会写成如下公式:

 

 首先,我们从交叉熵的由来分析:

2. 交叉熵由来

相对熵(KL散度):
如果对于两个分布P(x)和Q ( x ),则我们可以使用KL散度来衡量这两个概率分布之间的差异,如果两个分布越近似,其值越小。公式如下:

机器学习随笔——Entropy Loss的本质_第2张图片

进行变形:

机器学习随笔——Entropy Loss的本质_第3张图片

前面一项是信息熵,后面的公式就是我们的交叉熵。所以这个KL散度就等于 (交叉熵)- (信息熵)。

信息熵是固定的,我们要减小KL散度,就只需要关注前面的交叉熵,减小交叉熵。

3. 交叉熵和机器学习联系起来

 这里,我们把ground truth看成不变的分布(标签是不变的)Q(x)。我们要做的是将我们预测出来的分布P(x)去逼近ground truth的标签的分布Q(x)。

所以我们如果用KL散度,就可以测出两个分布的接近程度。上一节也说了,只需要管交叉熵就好。所以我们要做的就是: min(-Q(x)*log(P(x)) = min(sum(qi(x)*log(p(x)))/n)

如此便推导出来了我们的cross-entropy loss。

4. 二分类情况

 

之所以这样写,是因为这个公式把Q(x)和P(x)具象化了。我们可以分析一下对于一个样本的标签分布是怎么样的:假设yi=True. 我的分布是不是{'True': 1.0, 'False':0.0},表示的是分布对应的概率。如果把True标签写成1,yi=1,我的分布可以这样写:{'1': yi, '0':1-yi}。

这样下来,模型预测的分布就是:{'1': yi_pred, '0':1-yi_pred}。对应位置带入公式:

min(sum(qi(x)*log(pi(x)))/n)

就得到了如下的形式。

你可能感兴趣的:(人工智能)