一、几个先行概念和想法
1.概率分布的分类
在本文讨论中,为了更好的理解和表述,我们把概率密度近似表示概率分布
1.1主要分类及特征
联合概率分布and条件概率分布
- 联合概率分布 P θ ( X , Y ) P_\theta(X,Y) Pθ(X,Y) :该概率分布是描述,数据和标签,共同出现的概率
- 条件概率分布 P θ ( Y ∣ X ) P_\theta(Y|X) Pθ(Y∣X) :该概率分布是描述,给定数据条件下,对应标签的概率
2.监督学习其中一种的分类方式
2.1.生成式模型and判别式模型
- 生成式模型
- 基于联合概率分布
- 主要是通过数据 X X X来预测 Y Y Y
- 代表算法:朴素贝叶斯(NB)、隐马尔可夫模型(HMM)
- 判别式模型
- 基于条件概率分布
- 无法通过数据 X X X来预测 Y Y Y,但是相比之下有较高的精度
- 代表算法:Logistic回归、条件随机场
3.关于概率分布和信息熵的宏观理解和推导
3.1什么是熵
熵的概念很多很复杂,这里只再强调其中一种最核心的观点:熵是描述一个系统混乱程度的概念。用通俗的表述方式,就是一个人随机做一件事情,被发现或者被看出来做的是什么的难度多大。
3.2什么是信息
最近在读之前看了一半的《香农传》,里面有关信息的论述让我影响非常深刻。
”信息是什么? 信息就是用来消除事物的不确定性的。“
其实这里对于信息的描述,很有深意也非常准确。什么是不确定性?
比如你手上刚好有一束花,路过操场,看见操场边上的长凳上坐着一位非常文静但又素未谋面的女生,你朋友说,要不把你手上的一束花送给她,你说自己不认识她,冒冒失失送给她不知道她会不会要,甚至会给她带来不好的印象。
这个地方就可以很形象的说明信息的观点,”你不知道…“说明你犹豫,犹豫就代表着不确定性
,而这个不确定性的来源是因为你不认识她,而不认识她的原因就是因为你知道她的信息太少了。假如说,那个女生是你的班主任,那你就很有可能就把花送给她(一般来说),是因为你们认识,你对她的性格、风格、做事方式有较为充足的信息,因此你会更有把握,更有把握也就是说你对她会不会收你送的花的不确定性会减小。
因此,也就说你要想做事减少不确定性,那就要多去了解,多去了解的实质就是获取多方面的信息,因此从该角度来审视信息定义就呼之欲出了~
3.3概率和信息量/信息熵的关联
1)抽象的来看
- 太阳从东边升起,西边落下 (发生概率100%,我们可以认为这句话是常理,假设是在聊天场景里,不能提供有效信息,因此认为信息量比较低)
- 你打开手机你看见你暗恋对象给你发的消息 (发生概率比较低,但是这句话包含的信息会比较充分,比如这个人是谁?什么时候?可能会发的什么消息? 因此我们认为这件事情的)
2)数理化说明
由上面的两个例子,我们可以总结和思考出三条想法,并用数学话语说出来
- 概率越低,可能信息量越大,因此想一想概率和信息量两个指标可能构建出单调递减的函数
- 这个事件可能不发生为0,一定发生为1,因此事件概率的范围是0-1
- 如果说,我们知道一个事件的发生是一定的,是100%的,那就等于没有信息量,也就是说,概率为1,信息量为0;即对于单调函数而言就是通过(1,0)点
由此我们向,满足上面需求的函数(单调递减、过(1,0)),有没有可能就是一个log函数,底数是取值为(0,1)呢
我们选择
y
=
log
1
2
x
y=\log _{\frac{1}{2}} x
y=log21x来plot一下试试看
如果需要更换底数为(0-1)区间,但是仍然保留该函数特性
log
a
b
=
log
c
b
log
c
a
\log _a b=\frac{\log _c b}{\log _c a}
logab=logcalogcb
将
y
=
log
1
2
x
y=\log _{\frac{1}{2}} x
y=log21x带入:
log
1
2
x
=
log
2
x
log
2
1
2
=
−
log
2
x
\log _{\frac{1}{2}} x=\frac{\log _2 x}{\log _2 \frac{1}{2}}=-\log _2 x
log21x=log221log2x=−log2x
从中可以看出,出现的概率和信息量的关系:事件发生概率越大,信息量越小
3)什么是信息熵呢
信息熵简单来说,就是信息量的加权平均;我们可以把这个形象的理解为事件出现的期望。
举个大家都会说的例子:如果是抛一枚硬币,一般只会有正面和反面向上的两种情况,因此我们可以得出此事件的信息量(注意不是信息熵)
H
正面向上
=
−
log
2
1
2
=
1
H
反面向上
=
−
log
2
1
2
=
1
\begin{aligned} & H_{\text {正面向上 }}=-\log _2 \frac{1}{2}=1 \\ & H_{\text {反面向上 }}=-\log _2 \frac{1}{2}=1 \end{aligned}
H正面向上 =−log221=1H反面向上 =−log221=1
而根据定义,信息熵(
H
H
H)是信息量的加权平均,即
H
=
1
2
(
H
正面向上
+
H
正面向下
)
=
1
2
(
−
log
2
+
−
log
2
)
=
1
+
1
2
=
1
H=\frac{1}{2}( H_{\text {正面向上 }}+ H_{\text {正面向下 }})=\frac{1}{2}(-\log _2+-\log _2)=\frac{1+1}{2}=1
H=21(H正面向上 +H正面向下 )=21(−log2+−log2)=21+1=1
如果能很好理解这个例子,那我们就可以更好的引出信息熵的公式:
H
=
−
∑
i
=
1
M
p
i
⋅
log
p
i
H=-\sum_{i=1}^M p_i \cdot \log p_i
H=−i=1∑Mpi⋅logpi
因此,此处需要明白,事件发生概率越低,包含信息量越大,因此信息熵也越高
3.3信息熵为什么一定是对数函数?
如果我们假象,有没有可能是一个反比例函数经过上下平移,比如 1 x \frac{1}{x} x1经过向下平移一个单位,变成 1 x \frac{1}{x} x1-1,也能满足上述所说单调递减、且过(1,0)的条件
但是有件事情我们没有讲清楚,就是在描述信息熵的过程中,我们是否往往会忽略信息与信息之间的关系,也就是说,这个函数的选择一定要很好的度量信息与信息之间的关系
有位博主做了很形象的举例
作对一道有ABCD四个选项的选择题的难度和做对两道判断题(对or错)是等价的。
比如说
一道判断题:对or错
等价于
请问这两道题的答案是什么:A.对对 B.错错 C.对错 D.错对
其实,此时选择题产生的信息熵是2,判断题产生的信息熵是1(可带入公式尝试),存在两倍的独特关系
这就要说到了对数的独特特性,能够很准确描述信息量之间的关系:
a
x
=
b
即
x
=
log
a
b
a^x=b \text { 即 } x=\log _a b
ax=b 即 x=logab
很有趣,而且再深入探讨,还有什么特性是普通反比例函数无法表示而对数可以表示的呢
这想到了我们公式必须要有能力清晰表示很小的数,因为这件事情极小可能发生,但代表信息熵无限大这样一件事。因此,想到了泰勒展开,我们选取
l
n
(
1
+
x
)
ln(1+x)
ln(1+x)的泰勒展开,其中包含是无穷多项高阶幂函数叠加的函数
ln
(
1
+
x
)
=
x
−
x
2
2
+
x
3
3
+
…
+
(
−
1
)
n
−
1
⋅
x
n
n
+
o
(
x
n
)
\ln (1+x)=x-\frac{x^2}{2}+\frac{x^3}{3}+\ldots+(-1)^{n-1} \cdot \frac{x^n}{n}+o\left(x^n\right)
ln(1+x)=x−2x2+3x3+…+(−1)n−1⋅nxn+o(xn)
即可很好的说明问题。
二、生成式模型和判别式模型精度讨论
1.从定性的角度来看
如何来看这个问题,我们第一个联想到的实际上是来自于统计学的全概率公式,
P
(
X
,
Y
)
=
∫
P
(
Y
∣
X
)
P
(
X
)
d
X
P(X, Y)=\int P(Y \mid X) P(X) \mathrm{d} X
P(X,Y)=∫P(Y∣X)P(X)dX
此处,我们要算输出数据 X X X的概率分布 P ( X ) P(X) P(X),而这个 P ( X ) P(X) P(X)并不是我们想要关心的,我们只关心给定 X X X情况下 Y Y Y的分布,因此会削弱联合概率分布的准确性,因此会知道生成式模型的准确度会降低。
2.从定量的角度看
- 信息熵: H ( X ) = − ∫ P ( X ) log P ( X ) d X H(X)=-\int P(X) \log P(X) \mathrm{d} X H(X)=−∫P(X)logP(X)dX ( H = − ∑ i = 1 M p i ⋅ log p i H=-\sum_{i=1}^M p_i \cdot \log p_i H=−∑i=1Mpi⋅logpi是另一种表述形式)
- 联合概率信息熵: H ( X , Y ) = − ∫ P ( X , Y ) log P ( X , Y ) d X d Y H(\boldsymbol{X}, \boldsymbol{Y})=-\int \boldsymbol{P}(\boldsymbol{X}, \boldsymbol{Y}) \log \boldsymbol{P}(\boldsymbol{X}, \boldsymbol{Y}) \mathrm{d} \boldsymbol{X} \mathrm{d} \boldsymbol{Y} H(X,Y)=−∫P(X,Y)logP(X,Y)dXdY
- 条件概率信息熵: H ( Y ∣ X ) = − ∫ P ( X , Y ) log P ( Y ∣ X ) d X H(\boldsymbol{Y} \mid \boldsymbol{X})=-\int \boldsymbol{P}(\boldsymbol{X}, \boldsymbol{Y}) \log \boldsymbol{P}(\boldsymbol{Y} \mid \boldsymbol{X}) \mathrm{d} \boldsymbol{X} H(Y∣X)=−∫P(X,Y)logP(Y∣X)dX
因此,在上述的概念的支撑下,再由条件概率的定义: H ( Y ∣ X ) = H ( X , Y ) − H ( X ) H(\boldsymbol{Y} \mid \boldsymbol{X})=H(\boldsymbol{X}, \boldsymbol{Y})-H(\boldsymbol{X}) H(Y∣X)=H(X,Y)−H(X)
我们可以知道,信息熵 H ( X ) H(X) H(X) > 0 >0 >0应该是恒成立的,因为信息熵不可能为负的,因此由上式我们就可以知道 H ( X , Y ) > H ( Y ∣ X ) H(\boldsymbol{X}, \boldsymbol{Y})>H(\boldsymbol{Y} \mid \boldsymbol{X}) H(X,Y)>H(Y∣X);因此联合概率分布 > > >条件概率分布;由3.3概率和信息量/信息熵的关联的相关知识可以知道,联合概率对应的信息熵(量) < < <条件概率分布对应的信息熵(量),即生成式模型信息熵(量)<判别式模型信息熵(量)。
所以,我们在日常的工作中,经常性的会选择判别式模型带来的更多的信息量,消除更多的不确定性,和生成式模型相比,具有更高的精度!