AI课开始,只有你!
很多人说,看了更多的文章,没有人教,AI还是很难真正入门。为了用最简单的方式向大家呈现AI知识体系,从本周开始,新军邀请AI专业人士开设“周末学习班”——每周深入分析AI学习中的一个关键问题,课程分为理论文章和代码文章,理论和实践并重。
加油,退出让你废寝忘食的游戏页面,取消只吃海塞的周末聚会。你和你以后的同龄人的区别可能会从这个每个周末的AI课开始!
核心阅读的读者交流群,请加一个小微信号:知止诸暨。等你。后台回复“周末AI类”,查看相关源代码。
全文2405字,预计学习时间5分钟
复习信息熵
当我们在非参数模型中引入决策树时,我们引入了自信息和信息熵的概念。
• 自信息(self-information):,是从概率角度出发对信息量的刻画。对概率取对数,是为了满足联合概率的信息的可加性,即两个事件均发生的概率要相乘,但反映在信息量上要相加;再取负值,是因为小概率的事件信息量更大,大概率事件的信息量更小。自我信息:,是从概率角度对信息量的表征。概率的对数是为了满足联合概率信息的可加性,即两个事件发生的概率要相乘,但要在信息量上相加;因为小概率事件的信息较大,大概率事件的信息较小,所以再次取负值。
• 信息熵(Information Entropy):,是自信息的期望值,即来自于一个概率分布的自信息的加权平均。信息熵:,是自我信息的期望值,即来自某一概率分布的自我信息的加权平均值。
我们得到的熵是自变量的函数。当自变量均匀分布时,会得到最大值。当均匀分布时,自变量在可能状态下的概率相等,所以我们称均匀分布为等概率分布。在均匀分布下,可以进一步增加变量的可能状态数来增加变量的不确定性,变量的不确定性越大,对应的信息熵越大。这就是为什么我们使用信息增益率来提高决策树的信息熵。就有:如果两个变量相互独立,因为有:
即两个自变量携带的熵之和就是它们联合分布的熵。我们也会在很多地方看到所谓的互信息,它在信息熵的基础上变得非常容易理解,把两个随机变量的熵分别相加,减去它们的联合熵:如果不为零,说明两个随机变量不是相互独立的。值越高,关联度越高。
如果两个可能出现的随机变量之间存在依赖关系,那么就存在条件概率和条件熵:
我们可以把条件熵理解为一个随机变量在另一个特定随机变量下的条件熵取所有可能性的结果,第一个公式右边要求和的熵就是为特定X定义的条件熵,最后我们对所有X下的条件熵进行加权平均,得到最终的条件熵。本质上可以理解为条件熵在已知随机变量x的前提下描述随机变量y的信息熵,这也说明条件熵本身是不对称的。
我们可以扩展它以获得:
对比联合熵的公式和自信息的定义,我们可以将条件熵的公式理解为,我们只是将联合熵的自信息变为随机变量x的分布与联合分布的差,就得到了条件熵。如果随机变量x的分布与联合分布一致,说明,条件熵为零。条件熵衡量的正是随机变量x与联合分布的差异!将联合熵的公式与自信息的定义进行比较,可以理解条件熵的公式,即我们只需要将联合熵的自信息转化为随机变量x的分布与联合分布的差值,就可以得到条件熵。如果随机变量x的分布符合联合分布,则条件熵为零。条件熵衡量随机变量x和联合分布的区别!
我们可以继续把对数内的除法改成对数外的减法,就可以得到:我们可以将其理解为,存在两个随机变量的系统熵就是联合熵,当我们确定了其中一个变量,不确定程度就减弱了,那么这个变量所携带的熵就可以被减去,得到的正是条件熵。正好与相对应。我们可以理解为两个随机变量的系统熵就是联合熵。当我们确定其中一个变量时,不确定度被削弱,那么这个变量携带的熵就可以被减去,得到条件熵。正好对应。
相对熵和交叉熵
如果能通过信息熵顺利理解互信息和条件熵,那么相对熵和交叉熵就变得很简单了。
互信息的方法给我们提供了一个非常重要的思路。我们可以通过概率分布的信息熵来比较两个分布的依赖性质,那么我们也可以通过信息熵来比较两个分布的差异吗?
有人认为可以通过对两个分布的信息熵做一个差值来间接度量分布的差异,但只能比较两个分布的不确定性,不能比较分布本身的差异。如上所述,条件熵度量的是随机变量和联合分布的差异,所以当推广到其他分布时,我们只需要改变自身信息就可以达到度量分布差异的目的!
所谓相对熵,也叫KL散度,就是把自我信息变成两个分布的差来衡量分布的差,假设两个分布p和q:
得到了在一定分布下,作为自我信息的分布差的期望值。从公式中可以看出,相对熵是不对称的,即:
我们不需要编码长度的知识来理解这种不对称性。我们只需要用一个我们已经知道的事实,就是一般情况下条件熵本身是不对称的。我们把Q看作联合分布或者P看作联合分布,得到了两个条件熵。
如果我们在相对熵的基础上加上某一分布的信息熵,就会得到交叉熵:
交叉熵常用作损失函数。在前一节中,我们给出了sigmoid函数作为伯努利分布的逻辑回归的最大似然估计。如果我们用交叉熵作为损失函数,假设概率由sigmoid函数给出,实际概率由数据给出:
最小化它自然可以得到最大似然估计的形式,因为我们可以根据交叉熵的定义直接写出:
最大熵原理
在物理热力学中,经典粒子在等概率原理下的玻尔兹曼分布实际上对应的是最大熵原理,因为等概率对应的是均匀分布。在很多情况下,假设高熵分布,保持尽可能多的不确定性,就像骰子一样,是最安全的。如果你对它的信息一无所知,自然会假设它的六个面的概率都为零。比如我们常用的高斯分布,就是在标准差和均值已知的前提下,熵最大的分布。
我们用指数分布和广义线性模型来推导软极大值函数,但同时也可以根据最大熵模型给出软极大值函数。
很多教材都会详细讲解约束优化下最大熵原理推导出来的推论。由于篇幅所限,这里就不详细解释了,只用一个很重要的结论。我们用I来标记样本,用J来标记可能的结果,那么最大熵模型将给出:
其中是参数,是特征函数。当我们将参数和特征函数均视为一个向量,向量的长度就是样本的个数。其中是参数,是特征函数。当我们把参数和特征函数都看作一个向量时,向量的长度就是样本的个数。
特征函数的选择不是唯一的。我们可以选择简单的二进制形式。样本的目标值满足一定关系,函数值为X,否则为0。比如一个二元分类问题,当y等于其中一个类别时,函数值为x,其余为0。当我们把参数和特征函数都看作一个向量时,向量的长度就是样本的个数。假设类别标记为{0,1},导出是非常自然的:
得到了sigmoid函数,如果继续推广到多重分类,就可以得到softmax函数。
留言赞朋友圈
我们来讨论一下AI落地的最后一英里
如需转载,请在后台留言并遵守转载规范
1.《entropy 【周末AI课堂】深度学习中的熵(理论篇)| 机器学习你会遇到的“坑”》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《entropy 【周末AI课堂】深度学习中的熵(理论篇)| 机器学习你会遇到的“坑”》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1588859.html