cross-entropy

1.交叉熵的定义

H(p,q)=-\sum_{i=0}^np(x_i)\log q(x_i)

2.交叉熵与信息熵、KL散度的关系

信息熵是用来衡量不确定性的。

信息量的定义:不确定性越大,所包含的信息量越大;不确定性越小,所包含的信息量

定义:\chi为一个随机分布,p(x)=P(\chi =x),当x=x_0时,所包含的信息量为I(x_0)=-\log p(x_0)

根据概率分布的性质,p(x_0) \subset [0,1],所以I(x_0) \geq 0, 当且仅当p(x_0)=1时,I(x_0)=0;且p(x_0)越大,I(x_0)越小

信息熵可以看作是一个概率分布信息量的期望,H(p) = \sum_\chi p(x = x_i)I(x_i) = - \sum_\chi p(x_i)\log p(x_i)

KL散度(相对熵)是用来衡量两个分布之间的差异,也可以认为是从分布p到到分布q信息增益的期望值:

 KL(p||q)=\sum p_i \log \frac{p_i}{q_i}=E_p \log \frac{p_i}{q_i}

可以证明KL(P||Q) \geq 0:(需要用到对数和不等式)

           KL(p||q)=E_p(\log \frac{p}{q})=-E_p(\log \frac{q}{p}) \geq - \log(\sum_\chi p \frac{q}{p}) = -\log(\sum q) = 0

当两个分布完全相同时,KL散度为0;两个分布越相近,KL散度越小。

并且KL散度是不对称的,可以认为是参照系的差别。

根据KL散度的定义可以推导出交叉熵、信息熵以及KL散度三者的关系,将KL散度的定义展开:

KL(p||q)=\sum_\chi p(x) \log \frac{p_x}{q_x} = \sum_\chi p(x)\log p(x) - \sum_\chi p(x) \log q(x)=-H(p)+H(p,q)

分解之后,第一项就是负的信息熵,后面一项就是p,q的交叉熵

用分布Q去拟合分布P时,P的信息熵不变,因此交叉熵与KL散度等价,所以可以用交叉熵来衡量P、Q的差异

3.使用交叉熵为LOSS FUNCTION

在分类问题中经常使用交叉熵作为Loss Function,在分类问题中,可以把需要拟合的数据\chi看作是多项贝努力分布

对于一个数据:

                                    Loss=-\sum_{i \in c} p(x=i) \log \hat{p}(x=i)

其中c为类别的集合;

在二分类问题中,数据可以看成一个标准的贝努力分布(01分布)

Loss=-\sum_{i \in c} p(x=i) \log \hat{p}(x=i) = -(p\log (\hat{p})+(1-p)\log (1-\hat{p}))

如果\hat{y}是softmax或者sigmoid出来的结果

                                       Loss=-(y\log \hat{y} + (1-y) \log (1-\hat{y}))

在训练时,每一次只计算了ground truth类对应的label,没有训练其他的类。

4.交叉熵与最大似然

 

 

 

Loss Function List:

http://christopher5106.github.io/deep/learning/2016/09/16/about-loss-functions-multinomial-logistic-logarithm-cross-entropy-square-errors-euclidian-absolute-frobenius-hinge.html

 

你可能感兴趣的:(deeplearning)