机器学习中交叉熵和相对熵的关系

机器学习中交叉熵和相对熵的关系

首先需要了解几个概念
自信息: 描述单个事件的不确定性
 I  ( x ) = − log ⁡ [ p ( x ) ] \text { I }(x)=-\log [\boldsymbol{p}(\boldsymbol{x})]  I (x)=log[p(x)]
信息熵:描述整个事件的不确定性,事件越不确定,熵也就越大。即对自信息在事件上的概率分布求期望
 H(P)  = E x ∼ p [ I ( x ) ] = − ∑ i N P ( x i ) log ⁡ P ( x i ) \text { H(P) }=\boldsymbol{E}_{\boldsymbol{x} \sim p}[\boldsymbol{I}(\boldsymbol{x})]=-\sum_{i}^{N} \boldsymbol{P}\left(\boldsymbol{x}_{\boldsymbol{i}}\right) \log \boldsymbol{P}\left(\boldsymbol{x}_{\boldsymbol{i}}\right)  H(P) =Exp[I(x)]=iNP(xi)logP(xi)
机器学习中交叉熵和相对熵的关系_第1张图片
上图是对一个简单的二项分布求熵的结果,可以看到当probability=0.5时,信息熵的值最大等于0.69也就是最不确定。
交叉熵:描述两个分布有多接近
H ( P , Q ) = − ∑ i = 1 N P ( x i ) log ⁡ Q ( x i ) \mathrm{H}(\boldsymbol{P}, \boldsymbol{Q})=-\sum_{i=1}^{N} \boldsymbol{P}\left(\boldsymbol{x}_{i}\right) \log \boldsymbol{Q}\left(\boldsymbol{x}_{\boldsymbol{i}}\right) H(P,Q)=i=1NP(xi)logQ(xi)
相对熵(KL距离): 描述两个分布的距离
D K L ( P , Q ) = E x ∼ p [ log ⁡ P ( x ) Q ( x ) ] \quad \boldsymbol{D}_{K L}(\boldsymbol{P}, \boldsymbol{Q})=\boldsymbol{E}_{\boldsymbol{x} \sim p}\left[\log \frac{P(\boldsymbol{x})}{Q(\boldsymbol{x})}\right] DKL(P,Q)=Exp[logQ(x)P(x)]
将上式进行变换
D K L ( P , Q ) = E x ∼ p [ log ⁡ P ( x ) Q ( x ) ] = E x ∼ p [ log ⁡ P ( x ) − log ⁡ Q ( x ) ] = ∑ i = 1 N P ( x i ) [ log ⁡ P ( x i ) − log ⁡ Q ( x i ) ] = ∑ i = 1 N P ( x i ) log ⁡ P ( x i ) − ∑ i = 1 N P ( x i ) log ⁡ Q ( x i ) = H ( P , Q ) − H ( P ) \begin{aligned} \boldsymbol{D}_{K L}(\boldsymbol{P}, \boldsymbol{Q}) &=\boldsymbol{E}_{\boldsymbol{x} \sim p}\left[\log \frac{P(\boldsymbol{x})}{Q(\boldsymbol{x})}\right] \\ &=\boldsymbol{E}_{\boldsymbol{x} \sim p}[\log \boldsymbol{P}(\boldsymbol{x})-\log \boldsymbol{Q}(\boldsymbol{x})] \\ &=\sum_{i=1}^{N} \boldsymbol{P}\left(\boldsymbol{x}_{i}\right)\left[\log \boldsymbol{P}\left(\boldsymbol{x}_{i}\right)-\log \boldsymbol{Q}\left(\boldsymbol{x}_{i}\right)\right] \\ &=\sum_{i=1}^{N} \boldsymbol{P}\left(\boldsymbol{x}_{i}\right) \log \boldsymbol{P}\left(\boldsymbol{x}_{i}\right)-\sum_{i=1}^{N} \boldsymbol{P}\left(\boldsymbol{x}_{i}\right) \log \boldsymbol{Q}\left(\boldsymbol{x}_{i}\right) \\ &=\boldsymbol{H}(\boldsymbol{P}, \boldsymbol{Q})-\boldsymbol{H}(\mathrm{P}) \end{aligned} DKL(P,Q)=Exp[logQ(x)P(x)]=Exp[logP(x)logQ(x)]=i=1NP(xi)[logP(xi)logQ(xi)]=i=1NP(xi)logP(xi)i=1NP(xi)logQ(xi)=H(P,Q)H(P)
最终得到:
 交叉熵:  H ( P , Q ) = D K L ( P , Q ) + H ( P ) \text { 交叉熵: } \mathrm{H}(\boldsymbol{P}, \boldsymbol{Q})=\boldsymbol{D}_{K L}(\boldsymbol{P}, \boldsymbol{Q})+\mathrm{H}(\boldsymbol{P})  交叉熵: H(P,Q)=DKL(P,Q)+H(P)
由于 H ( P ) H(P) H(P)是常数,所以在进行优化的时候可以忽略,故优化交叉熵函数即优化相对熵(KL距离)。

你可能感兴趣的:(机器学习中的数学知识,机器学习,算法,人工智能)