熵、贝叶斯、极大似然

熵及熵在机器学习中的作用

reference:https://blog.csdn.net/tsyccnh/article/details/79163834

在这里插入图片描述

香农给熵的定义:无损编码事件信息的最小平均编码长度

直观理解熵的定义:表示某一件事的不确定性
I ( x 0 ) = − l o g ( p ( x 0 ) ) I(x_0)=-log(p(x_0)) I(x0)=log(p(x0))
通常会用-log(x)函数来表示信息量,当概率趋近于1时,表示越确定,那么信息量接近于0,如下图所示

在这里插入图片描述

熵用于表示信息量的期望
H ( X ) = − ∑ i = 1 n p ( x i ) l o g ( p ( x i ) ) H(X)=-\sum_{i=1}^n p(x_i)log(p(x_i)) H(X)=i=1np(xi)log(p(xi))

相对熵

相对熵听得比较少,但是如果提到KL散度(Kullback-Leibler (KL) divergence)应该就比较常见(强化学习常客),KL散度可以用于衡量两个分布的差异性

在机器学习中,P往往用来表示样本的真实分布,Q用来表示模型所预测的分布。我们希望训练到最后Q越来越接近于P,即P与Q的KL散度越来越小。

KL散度的计算公式:
D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) l o g ( p ( x i ) q ( x i ) ) D_{KL}(p||q)=\sum\limits_{i=1}^n p(x_i)log(\dfrac{p(x_i)}{q(x_i)}) DKL(p∣∣q)=i=1np(xi)log(q(xi)p(xi))
n是样本数量

交叉熵

交叉熵这个概念如果单独看会很迷糊,但是从KL散度出发看就很清晰了

对上文中的KL散度展开可以得到
D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) l o g ( p ( x i ) ) − ∑ i = 1 n p ( x i ) l o g ( q ( x i ) ) = − H ( p ( x ) ) + [ − ∑ i = 1 n p ( x i ) l o g ( q ( x i ) ] \begin{aligned}D_{KL}(p||q)&=\sum_{i=1}^{n}p(x_i)log(p(x_i))-\sum_{i=1}^n p(x_i)log(q(x_i))\\ &=-H(p(x))+\lbrack-\sum\limits_{i=1}^{n}{p(x_i)}log(q(x_i)\rbrack\end{aligned} DKL(p∣∣q)=i=1np(xi)log(p(xi))i=1np(xi)log(q(xi))=H(p(x))+[i=1np(xi)log(q(xi)]
前一部分就是P的熵,后一部分就是交叉熵。因为H§是不变的,因此我们只需要关注交叉熵就可以,这就是为什么ML习惯将交叉熵作为loss

贝叶斯、似然

参考:

首先明确一个重要的概念,什么是概率,什么是统计

  • 概率:已知模型(分布),求样本点x出现的概率
  • 统计:已知数据,推测模型以及参数

接下来明确另一个概念,概率函数和似然函数,这两个函数都可以表示为 p ( x , θ ) p(x,\theta) p(x,θ)

  • 概率函数:已知 θ \theta θ,求x样本出现的概率
  • 似然函数:已知 x x x数据,似然表示对于不同的参数 θ \theta θ,x出现的概率

接下来用一个经典例子来解释极大似然估计(Maximum likelihood estimation,MLE)

极大似然估计

假如有一个罐子,里面有黑白两种颜色的球,数目多少不知,两种颜色的比例也不知。我们想知道罐中白球和黑球的比例,但我们不能把罐中的球全部拿出来数。那应该怎么办呢?很简单,前面提到了可以通过采样数据来求得模型参数。我们可以每次任意从已经摇匀的罐中拿一个球出来(采样),记录球的颜色,然后把拿出来的球再放回罐中。这个过程可以重复,我们可以用记录的球的颜色来估计罐中黑白球的比例。假如在前面的一百次重复记录中,有七十次是白球,请问罐中白球所占的比例最有可能是多少?

我们假设白球的比例为p,那么黑球的比例就是(1-p),假设模型的参数为 θ \theta θ

上面事件发生的似然函数可以表示为:
P ( x ∣ θ ) = P ( x 1 , x 2 , . . . , x 100 ∣ θ ) = P ( x 1 ∣ θ ) P ( x 2 ∣ θ ) . . . P ( x 100 ∣ θ ) = p 70 ( 1 − p ) 30 P(x|\theta) = P(x1,x2,...,x100|\theta) \\ = P(x1|\theta)P(x2|\theta)...P(x100|\theta) \\ =p^{70} (1-p)^{30} P(xθ)=P(x1,x2,...,x100∣θ)=P(x1∣θ)P(x2∣θ)...P(x100∣θ)=p70(1p)30
极大似然的思想就是,事件已经发生,那么我们就求让这个事件发生概率最大的模型参数,使得上面似然最大,那就是求个导,就可以,求得p = 70%

以上思想就是统计学派的思想

但是,贝叶斯学派不认可,他们认为一个事件发生,存在一个先验概率 p ( θ ) p(\theta) p(θ) ,例如,我们直观的认为硬币正反两面发生的概率都是0.5,这就是先验概率

极大后验概率估计

利用贝叶斯思想来求模型参数称为极大后验概率估计,首先给出贝叶斯公式
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) \mathrm{P}(\mathrm{A} \mid \mathrm{B})=\frac{\mathrm{P}(\mathrm{B} \mid \mathrm{A}) \mathrm{P}(\mathrm{A})}{\mathrm{P}(\mathrm{B})} P(AB)=P(B)P(BA)P(A)
直接看公式很难理解对吧,下面我们一步步拆解这个公式

我们先把A换成 θ \theta θ,然后把B换成 x x x,那么上面公式可以变为
P ( θ ∣ x ) = P ( x ∣ θ ) P ( θ ) P ( x ) \mathrm{P}(\theta \mid x) = \frac{\mathrm{P}(x \mid \theta) \mathrm{P}(\theta)}{\mathrm{P}(x)} P(θx)=P(x)P(xθ)P(θ)
现在我们再来看这个公式,我们可以惊奇的发现 P ( x ∣ θ ) P(x|\theta) P(xθ)不就是我们前面提到的似然函数吗,而 P ( θ ) P(\theta) P(θ)表示先验概率,即我们基于经验得到的先验知识, P ( x ) P(x) P(x)是客观事实数据,是一个已知的值。而 P ( θ ∣ x ) P(\theta|x) P(θx)表示后验概率,即我们最大化的函数。

关于 P ( x ) P(x) P(x),我们可以从实验数据得到这个值,例如我们每一次实验都是投10个硬币,总共做了1000次实验,某一个路径“反正正正正反正正正反”出现了n次,则 P ( x 0 ) = n / 1000 P(x_0) = n / 1000 P(x0)=n/1000,总之这个数据不影响我们对于后验概率的计算,所以 P ( θ ∣ x ) ∝ P ( x ∣ θ ) P ( θ ) \mathrm{P}(\theta \mid x) \propto \mathrm{P}(x \mid \theta) \mathrm{P}(\theta) P(θx)P(xθ)P(θ) 中间符号表示正比于

贝叶斯拓展

可以将贝叶斯的公式看成是我们人类的学习过程, P ( θ ) {P}(\theta) P(θ)是我们对某件事发生的先验概率, P ( x ∣ θ ) \mathrm{P}(x \mid \theta) P(xθ)是我们在生活中学习观察到数据后的似然,我们就是使用似然来更新对某件事的认知。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jiong-952

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值