最大熵模型怎么理解?熵是什么??

最大熵模型怎么理解?熵是什么??


前言

最大熵模型在机器学习里面很重要,很重要,很重要(重要的事情说三遍)!但是也比较难理解。很多人连熵代表混乱度都没法理解,所以写这篇文章,希望可以帮助你们理解!

一、熵是什么?

首先我们来看一个简单的列子:

u1,u2,u3…为输入,v1,v2,v3…为输出。p1,p2,p3…代表u1,u2,u3…发生的概率。
易知:

这里的 I(ui)代表的是信息发生前的不确定性。很容易理解,如果 ui发生的概率越大,那么其他输入信号发生的概率越小。那么这里信号的混乱度就越小。

我们都知道期望可以代表的是一堆事件里面的平均值,那么所有的信号的混乱程度就可以通过期望表现出来。log(1/pi)就是对应的自信息,可以理解为这个输入信息对应的不确定性,乘以对应的概率,求和就是期望。(忘了期望的定义,可以去复习哈)
H ( U ) = − ∑ i = 1 r p i I ( u i ) = − ∑ i = 1 r p i log ⁡ p i H(U) = - \sum\limits_{i = 1}^r { {p_i}I({u_i})} = - \sum\limits_{i = 1}^r { {p_i}\log {p_i}} H(U)=i=1rpiI(ui)=i=1rpilogpi

这个就是信息熵的公式,也叫先验不确定性。
所以说,熵就是代表的不确定性。

二、最大熵原理是什么

最大熵指的就是混乱度最大,信息的纯度最低。我们容易知道当信息满足均匀分布的时候,熵最大。
当一个模型在没有更多的信息的情况下,那些不确定的部分都是等可能(比如说,你在任何情况都不知道的情况下,你同学问你明天下雨么?你肯定会回答,下雨,不下雨各占一半)。
然而这个等可能在模型里面却不好操作,而熵就是一个可优化的数值指标。可以让模型找到熵最大的模型(这里一般指的是约束条件最优化)。

看一个简单的列子:

假设随机变量X有5个取值{A,B,C,D,E},要估计取 各个值的概率P(A),P(B),P(C),P(D),P(E):

约束条件为:
P ( A ) + P ( B ) + P ( C ) + P ( D ) + P ( E ) = 1 P(A)+P(B)+P(C)+P(D)+P(E)=1 P(A)+P(B)+P(C)+P(D)+P(E)=1
如果没有任何其他信息, 仍要对概率分布进行估计,一个办法就是认为这个分布中取各个值的 概率是相等的。既:
P ( A ) = P ( B ) = P ( C ) = P ( D ) = P ( E ) = 1 5 P(A)=P(B)=P(C)=P(D)=P(E)=\frac{1}{5} P(A)=P(B)=P(C)=P(D)=P(E)=51

此时,在这里熵是最大的(带进公式算可以得到)。你想一下,如果你去买彩票,卖彩票的告诉你,以下几种彩票中奖的可能性都相同,你是不是觉得很难选? 这时混乱度最大。如果卖彩票的人告诉你,A彩票中奖的概率比其他的大点,你是不是就知道怎么了选择了?

三、最大熵模型的定义

最大熵模型的统计学原理为最大熵原理,即根据不完整的信息推断随机事件的概率分布时,应计算满足分布限制条件的具有最大熵的概率分布,熵最大的分布最接近真实状态。(这里这么理解,就是在已知的约束条件,其他情况未知,这是最接近真实的情况就是等可能的时候,也就是熵最大的时候。)

以下是最大熵模型的计算公式(这里要记得最大熵模型相当于是求最优的约束参数)。


式中:H ( P)为条件熵, P(y∣x)为条件概率分布假设,P( x) 为经验分布, E p (fi) 表示特征函数关于经验分布的期望.求解过程中使用拉格朗日乘数法,并将带约束的最优化之原始问题转换为无约束的最优化之对偶问题进行求解.这里怎么求解可以去看看李航的树上对应的部分,有很详细的解答过程。

在这里主要谈谈对于最大熵模型的理解!
首先来看看最大熵的求解函数:
max ⁡ P ∈ C     H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) log ⁡ P ( y ∣ x ) \mathop {\max }\limits_{ P \in {\bf C}} ~~~ H(P) = - \sum\limits_{x,y} {\tilde P(x)P(y|x)\log P(y|x)} PCmax   H(P)=x,yP~(x)P(yx)logP(yx)
其实这里有点像:
p ( y ) = p ( x ) ∗ p ( y ∣ x ) p(y) = p(x)*p(y|x) p(y)=p(x)p(yx)

所以这里可以理解相当于在求输出熵最大。满足分布限制条件的具有最大熵的概率分布,熵最大的分布最接近真实状态。(这里这么理解,就是在已知的约束条件,其他情况未知,这是最接近真实的情况就是等可能的时候,也就是熵最大的时候。)

其他的解释李航书上都有详细解释。

更加详细也可以看看这个
https://wenku.baidu.com/view/8596834b7375a417876f8f03.html

全部评论

相关推荐

bg:双非本,一段中小厂6个月测开实习今天发这个帖子主要是想聊一聊我秋招以来的一个发展我是在8月底辞职,打算秋招,可是看网上都说金九银十就想着自己就是一个普通本科生,现在九月份都是一些大神在争抢,所以9月份基本上没投,等到了10月份才开始秋招,可是这个时间好像已经有些晚了,今年秋招开启的格外早,提前到了7,8月份,我十月才开始,官网投了很多公司,没有任何一个面试机会,这个情况一直到了十月底才有了第一个面试,当时没有面试经验,所以不出意外的挂了后续就是漫长的投递,但是毫无例外没有面试,没有办法我只能另辟蹊径开始在BOSS上边投递,然后顺便也根据BOSS上边这个公司名称去浏览器搜索看看有没有官网投递渠道,毕竟官网上投递后还是可以第一时间被HR看到的,然后一直不停投递,一开始第一个星期基本上都是投的正式秋招岗位到了第二个星期才开始实习和正式一起投,到十一月底的时候已经沟通了700➕才有一共1个正式的,5个要提前实习的,3个实习的面试,最后结果是过了1个要提前实习的和2个实习的每次面试我都会复盘,发现这些小公司面试官问的五花八门,有的专问基础,有的专问项目,有的啥都问,不过自己也是看出来了一下门道,就是小公司不像大公司面试官那样能力比较强基本上你简历上边的他都会,然后会根据简历来问,小公司面试官他们更多的是看自己会什么,然后看看你简历上边哪些他也是会的然后来问,经过不断的复盘加上背各种各样面试题,到了11月底12月初才有了1个要提前实习的offer还有2个实习的offer,而且薪资待遇对我来说已经很可观了可是啊,人总是这样得了千钱想万钱,我又开始不满现状,但是此时的我面试能力经过这么多面试和复盘已经很强了,然后在十二月份运气爆棚,被极兔和小鹏补录捞起来面试,还有个百度测开的实习面试,这个时候因为有了offer所以感觉有了底气,面试也很自信,最后结果是全部都过了那个时候我感觉自己真的很厉害,我问了极兔那边的HR像我这样的双非本收到offer的在极兔有多少?他告诉我产研岗90%都是硕士,10%里边基本上都是211,985,想我这样的很少很少,那一刻感觉自己超级牛逼,小鹏就更不用说了,最后也是不出意外选择了小鹏所以我就我个人经历想对和我学历履历差不多的牛友一些建议第一:秋招一定要趁早,真到了9,10月,那个时候可能你投的结果可能还不如7,8,11月,第二:最好先拿小公司实习或者正式练练手,提升一下面试能力,我个人觉得因为小公司问的五花八门所以你会更加横向去提升自己能力,而且大公司其实面试没有那么难,除了一些非常卷的岗位,公司大神比较多会问的很难,一般好点的公司都不会问的那么难,他们也知道都是应届生不会要求那么高第三:当有一定能力后,就是坚持了,对于我们这样的学历,没有特别强的履历情况下,就是要抓住提前批和补录的机会,这个时候各方面不会卡的很严,是我们很好很好的一个机会第四:就是运气也是很重要的一部分,不过这个很难去说什么最后祝各位牛友都能收获自己满意的offer😁😁😁
秋招,不懂就问
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务