美文网首页
深度学习中的概率论与信息论基础

深度学习中的概率论与信息论基础

作者: 笑傲NLP江湖 | 来源:发表于2021-10-14 12:00 被阅读0次

1. 一些信息论中的概念

1. 自信息

自信息(self-information),由香农提出,是与离散随机变量的值相关的信息量的量度,常用 bit 作为单位。通俗点来说就是一个随机事件以某个概率发生时携带的信息量有多大。可按照如下方式计算:
I(x)=-\log_2(p(x))
思考一下为什么是上面这个形式进行计算?首先可以考虑一个事件发生的概率越大意味着它越有可能发生,极端一点一个概率为 1 的事件,那么它一定会发生,所以这类事件是一个确定性事件没什么新鲜的,也就是说它没什么信息量。再考虑一个反向极端例子,一个概率为 0.000001 的事而发生了,这在人们心中往往是一个不可能发生的事,现在却发生了,为什么会这样?怎么发生的?人们心中一定会有各种疑问,当需要搞清楚这个小概率事件发生的原委时,人们也就从中获取了巨大的信息量。所以信息量是随着随机事件发生概率单调递减的,且非负。此时符合这个规律的候选函数还很多,比如 log(x),1/x

再考虑两个不相关的随机事件 X 和 Y,如果它们同时发生,那我们获得的信息量有多少?

不相关意味着任何一方出现都不会让对方更容易发生,也就是说不会影响对方的发生概率,所以信息量之和为:
I_{X=x,Y=y}=I(P(X=x))+I(P(Y=y))
两个不相关事件同时发生的概率为:
P(X=x,Y=y)=P(X=x)*P(Y=y)
也就是说
I(P(X=x))+I(P(Y=y))=I(P(X=x)*P(Y=y))
也就是说 I(x) 的函数具有性质:I(xy)=I(x)+I(y)

此时不难想到对数函数就有这个性质吧,所以得出了前面定义中的自信息的计算式,以 2 为底是因为以 bit 作为单位,也可以以 e 和 10 为底,不过单位就不是 bit 了

2. 熵

熵(entropy),表示接收到的每条消息中包含信息的平均量,又称为平均自信息量。所以可以按照下式计算:
H(X)=-\sum_{x\in X}P(X=x)\log(P(X=x))

3. 交叉熵

交叉熵(cross entropy),主要用于度量两个概率分布间的差异性。具体的,有真实概率分布 p,用于拟合 p 的概率分布 q,用 q 来表示 p 中事件发生所需要的平均比特数,越大表示这两个分布之间差异性越大
H(p,q)=-\sum_{x\in X}P(X=x)\log(Q(X=x))

4. KL 散度

KL 散度(kullback-leibler divergence),用于度量使用基于概率分布 q 来编码服从概率分布 p 的样本所需要的额外的平均比特数,也就等于交叉熵减去熵
\begin{align} D_{KL}(P||Q)&=H(p,q)-I(p) \\ &=-\sum_{x\in X}P(X=x)\log(Q(X=x))-(-\sum_{x\in X}P(X=x)\log(P(X=x))) \\ &=\sum_{x \in X}P(X=x)\log(\frac{P(X=x)}{Q(X=x)}) \end{align}
所以,KL 散度和交叉熵之间数值上只差了真实分布的熵,对于深度学习的损失来说,二者其实没有差别都可以用作损失函数,因为真实分布是未知的、确定的,一个常量不影响优化过程

5. 条件熵

条件熵(conditional entropy),表示已知随机变量 X 的条件下随机变量 Y 的不确定性
\begin{align} H(Y|X)&=\sum_{x\in X}p(x)H(Y|X=x) \\ &=-\sum_{x\in X}p(x)\sum_{y\in Y}p(y|x)\log(p(y|x)) \\ &=-\sum_{x\in X}\sum_{y\in Y}p(x,y)\log(\frac{p(x,y)}{p(x)}) \end{align}
和熵之间的关系为:

\begin{aligned} H(Y|X)&=H(X,Y)-H(X) \\ &=-\sum_{x\in X,y\in Y}p(x,y)\log(p(x,y))+\sum_{x\in X}p(x)\log(p(x)) \\ &=-\sum_{x\in X,y\in Y}p(x,y)\log(p(x,y))+\sum_{x\in X}\sum_{y\in Y}p(x,y)\log(p(x)) \\ &=-\sum_{x\in X}\sum_{y\in Y}p(x,y)\log(\frac{p(x,y)}{p(x)}) \end{aligned}

6.互信息

互信息(mutual information),度量了两个变量之间相互依赖的程度。简单来说就是现有两个变量 X 和 Y,在 Y 的条件下,X 的不确定性较少了多少
\begin{align} I(X;Y)&=H(X)-H(X|Y) \\ &=-\sum_ip(x_i)\log(p(x_i))+\sum_i\sum_jp(x_i,y_i)\log(\frac{p(x_i,y_j)}{p(y_j)}) \\ &=-\sum_i\sum_jp(x_i,y_j)\log(p(x_i))+\sum_i\sum_jp(x_i,y_j)\log(\frac{p(x_i,y_j)}{p(y_j)}) \\ &=\sum_i\sum_jp(x_i,y_j)\log(\frac{p(x_i,y_j)}{p(x_i)p(y_j)}) \end{align}

以上就是机器学习中一些常用的信息论概念及其之间的联系

2. 极大似然估计与交叉熵

1. 极大似然估计

假设现在我们有一组通过某个未知分布采样得到的样本,现在我们要寻找这个分布的参数,那怎么的参数算是对原分布较好的拟合的参数呢?应该是能够使得当前这组样本出现概率最高的参数

举个例子,现有一枚硬币,连续抛一百次,共出现40次正面,60次反面,现在要我们估计这枚硬币抛出正面的概率 p

假设 p=0.8,那么得到以上100次的结果的概率为 0.8^{40}*0.2^{60}=1.533e^{-46}

假设 p=0.6,那么得到以上100次的结果的概率为 0.6^{40}*0.4^{60}=1.7768e^{-33}

假设 p=0.4,那么得到以上100次的结果的概率为 0.4^{40}*0.6^{60}=5.908e^{-30}

所以在以上 3 个选择中,很合理地我们会认为 p=0.4

下面进行数学化描述:

假设有一组独立同分布的样本x=(x_1,...,x_N) 来自参数总体 p_{\theta},密度函数为 f(x_i|\theta),那么这组样本出现的概率为:
f(x|\theta)=\prod_{i=1}^Nf(x_i|\theta)
然后我们要最大化这个函数,其中 \theta 视为变量,x_i 为给定的样本(参数),优化中通常对累乘取对数:
L(\theta|x)=\log_2(f(x|\theta))=\sum_i^N\log_2(f(x_i|\theta))
得到优化目标后,我们就可以使用例如梯度下降法进行优化求解,得到一个 \hat{\theta} 使得对数似然函数最大化:
\hat{\theta}=\arg \max _{\theta}L(\theta|x)

2. 交叉熵

交叉熵衡量的是两个分布之间的差异,在这里,我们有不知道 p 真实值的原始分布,现在我们希望尽可能合理地估计 p 的值,也就是估计分布 f(x_i|\theta),另外设 y_i 为每次实验出现的是正面还是反面,正面是 1,反面是 0, f(x_i|\theta) 表示每次实验出现正面的概率, 我们的目标是希望估计分布和原始分布的差异尽可能小,那么根据交叉熵的计算表达式有:
L(\theta|x)=-\sum_i^N(y_i\log_2(f(x_i|\theta))+(1-y_i)\log_2(1-f(x_i|\theta)))
以上,当 f(x_i|\theta) 表示当前实验结果对应的估计概率,y_i 表示当前的实验结果,取 1,所以上式可化为:
L(\theta|x)=-\sum_i^N\log_2(f(x_i|\theta))
然后,最小化交叉熵就可以得到我们想要的参数。可以看到和极大似然估计的目标函数就相差了一个符号,当极大似然估计加上一个符号,也就变成了最小化负对数极大似然估计,和交叉熵也就一致了

3. 小结

极大似然估计和交叉熵的结果是一样的,只是它们解决问题的角度不一样,交叉熵从信息论的角度出发,极大似然估计从概率论的角度出发。

参考

  1. https://zh.wikipedia.org/wiki/%E7%86%B5_(%E4%BF%A1%E6%81%AF%E8%AE%BA)
  2. https://www.zhihu.com/question/30828247
  3. https://zh.wikipedia.org/wiki/%E7%9B%B8%E5%AF%B9%E7%86%B5
  4. https://www.zhihu.com/question/24124998

相关文章

  • 花书第三章笔记

    @[toc] 第三章 概率与信息论 掌握深度学习中所需要的概率论相关知识 概率论[p47-p71] 3.1 为什么...

  • 深度学习中的概率论与信息论基础

    1. 一些信息论中的概念 1. 自信息 自信息(self-information),由香农提出,是与离散随机变量的...

  • AI技术体系和领域浅总结

    数学基础 微积分 《高等数学》 线性代数 《线性代数》 概率统计 《概率论与数理统计》 信息论 《信息论基础》( ...

  • 自然语言处理NLP(三)

    数学基础(重要) 统计学+信息论 概率论+统计学+信息论+语言学知识 ----概率论 1. 样本空间 2. 条件概...

  • 数据挖掘 数据分析

    数据挖掘: 预备基础知识 : 概率论 、线性代数、信息论 、概率论、统计学 。 编程基础 : 数据库 、pytho...

  • 2019-04-28《deep learning》深度学习“花书

    深度学习“花书”中的概率论部分梳理以及要点记录。 首先是概念的梳理,见下图: 上图都是最基础的本科概率论课程内容,...

  • 先于概率

    “信息论理应先于概率论,而非基于概率论。” ...

  • 知识的应用领域

    高等数学: 概率论: 信息论:

  • 概率论之古典模型

    今天看信息论基础这本书,突然发现自己之前学的概率论只是都还给老师了,于是下了一本概率论的大致浏览了一下 ,很自然的...

  • 深度学习中的概率与信息论

    主要摘录一些深度学习过程中所需的概率与信息论知识 不确定性的三种来源: 1、被建模系统内在的随机性 2、不完全观测...

网友评论

      本文标题:深度学习中的概率论与信息论基础

      本文链接:https://www.haomeiwen.com/subject/ndoyoltx.html