zoukankan      html  css  js  c++  java
  • 最大熵与最大似然,以及KL距离。

    DNN中最常使用的离散数值优化目标,莫过于交差熵。两个分布p,q的交差熵,与KL距离实际上是同一回事。

    $-sum plog(q)=D_{KL}(pshortparallel q)-sum plog(p)$

    交差熵实际上就是KL距离减去熵。

    监督学习时,p是目标的分布,无法被改变,能通过训练改变的只有拟合出的分布q,所以loss需要最小化交差熵的时候,实际上就是在最小化KL距离。

    熟悉KL距离定义的话,就知道交差熵实际上是要求p与q分布尽量接近,这样就能使用相近的bit数来编码信息。

    前面的文章已经论证了分类问题中,最大熵必然导致玻尔兹曼分布。

    这里补充一点,关于最大熵与最大似然在分类问题中的等价证明。

    假设N个样本在K个分类下,当N足够大,使nk遵循真实概率分布pk,既$n_{k}/Napprox p_{k}$,且N个样本相互独立。

    对于整个系统而言,最大似然里的联合概率$p(x_{1},x_{2} ext{......}x_{N})=prodlimits _{i=1}^{N}p(x_{i})=prodlimits _{k=1}^{K}p(x=k)^{n_{k}}$

    那么$log(p)=sumlimits _{k=1}^{K}n_{k}log(p(k))=Nsumlimits _{k=1}^{K}p_{k}log(p_{k})=-NH$

    等等,最大似然与熵虽然关联了起来,但是有个负号在前面,最大似然意味着平均每个样本的熵被最小化?这明显是不符合常理的。

    问题的根本其实在于,最大熵与最大似然其实是作用在两个不同分布上的操作。

    先说最大似然,这个操作是在训练模型的时候,更新权重使用梯度下降时,将预测值y_hat的联合概率进行最大似然,既最大化$log(p(hat{oldsymbol{y}}))$,所以需要$frac{partial log(p(hat{oldsymbol{y}}))}{partial w}=0$

    然后最大熵的操作,是针对真实分布p(y),而非预测目标p(y_hat)的,既最大化$H(p(oldsymbol{y}))$。因为更新权重无法影响到真实分布p(y),所以$frac{partial H(Y)}{partial w}$这类的操作是无意义的。

    最大熵的作用,更倾向于描述一个真实分布的样本,其内在遵循的一个客观规律,既热力学第二定律。

    那么,上面分类模型里的关联似然与熵负号,又代表或暗示了什么呢?

    我们知道,随着训练的进行,预测分布Y_hat与Y的交互信息是要逐渐增加的,而交互信息与熵又存在这样的关系

    $I(hat{Y};Y)=H(Y)-H(Ymidhat{Y})$

    减小的不是$H(Y)$,因为无论怎么训练权重参数,它都不受影响。

    真正减少的是$H(Ymidhat{Y})$,通过不断减少$H(Ymidhat{Y})$才能使预测值更接近真实值。

    在给定预测值的计算方法$p(hat{y}=k)=n_{k}/N$之后,我们已知先验分布的p_k后,未知的真实分布Y的混乱程度实际上是降低了。这也很符合直观的理解,我们已知的信息越多,能预测出的分布与真实分布就越接近,真实分布Y的混乱度既熵也就越低,两个分布的KL距离也就越近。

    所以,在我们训练机器学习模型,使似然函数逐渐趋向最大化时,给定训练获得的知识$hat{Y}$之后描述真实分布的熵$H(Ymidhat{Y})$就减小了。

    $log(p)=-NH(Ymidhat{Y})$

  • 相关阅读:
    学习mongodb简单安装、连接数据库、增删改查
    第三方模块glup学习
    npm 借助第三方模块nrm切换淘宝源
    nodemon 学习
    bootstrap和ie浏览器兼容性问题怎么解决?
    所得税
    债务重组
    非货币性资产交换
    政府补助
    收入 费用 和利润
  • 原文地址:https://www.cnblogs.com/ws12345/p/8285374.html
Copyright © 2011-2022 走看看