数学证明交叉熵函数的原理

关于交叉熵函数是什么,这里不解释。

 

【本文讨论的问题】

若已知n个已知的真实值为\left \{ y_i \right \}_{i=1}^n\in R^+,且

\sum _{i=1}^ny_i=Y

现在有相应的n个未知的预测值\left \{ x_i \right \}_{i=1}^n\in R^+,且

\sum _{i=1}^nx_i=X

X, Y为定值。问这些未知的预测变量满足什么条件时,可以使得E=\sum _{i=1}^ny_i\log x_i  达到最大?

 

【解答】

利用拉格朗日乘数法求解。

构造函数L如下:

L\left ( x_1,\cdots ,x_n, \lambda \right )=E+\lambda\left(\sum _{i=1}^nx_i-X\right) =\sum _{i=1}^ny_i\log x_i+\lambda\left(\sum _{i=1}^nx_i-X\right)

对所有自变量求偏导,得

\frac{\partial L}{\partial x_i}=\frac{y_i}{x_i}+\lambda

\frac{\partial L}{\partial \lambda}=\sum _{i=1}^nx_i-X

分别令偏导数等于0,有

y_i = -\lambda x_i,\sum _{i=1}^nx_i=X

\because \sum _{i=1}^ny_i=Y,\therefore -\lambda\sum _{i=1}^nx_i=Y

\therefore \lambda=-\frac{Y}{X}

\therefore x_i=\frac{X}{Y}y_i

这就说明,当预测值为真实值得某一固定比例时,可以使得E最大。

当X=Y时,x_i=y_i,即当预测值等于真实值时,E最大,这就迫使预测和真实十分接近。

 

【1】交叉熵函数能达到这个效果,还得感谢对数函数。

如果将E中得对数函数换成线性函数,那就不能达到这个效果了,只会是让最大的y_i对应的x_i取X,而其他所有x_j取0。这不是我们想要的。

【2】离散信息熵的最大值证明也是用拉格朗日乘数法就可以了。

E=-\sum _{i=1}^n p_i\log p_i

  s.t. \sum_{i=1}^n p_i =1

p_i=\frac{1}{n}时达到最大。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值