关于监督学习中生成式模型和判别式模型精度的探讨

一、几个先行概念和想法

1.概率分布的分类

在本文讨论中,为了更好的理解和表述,我们把概率密度近似表示概率分布

1.1主要分类及特征

联合概率分布and条件概率分布

  • 联合概率分布 Pθ(X,Y)P_\theta(X,Y) :该概率分布是描述,数据和标签,共同出现的概率
  • 条件概率分布 Pθ(YX)P_\theta(Y|X) :该概率分布是描述,给定数据条件下,对应标签的概率

2.监督学习其中一种的分类方式

2.1.生成式模型and判别式模型
  1. 生成式模型
  • 基于联合概率分布
  • 主要是通过数据XX来预测YY
  • 代表算法:朴素贝叶斯(NB)、隐马尔可夫模型(HMM)
  1. 判别式模型
  • 基于条件概率分布
  • 无法通过数据XX来预测YY,但是相比之下有较高的精度
  • 代表算法: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=log12xy=\log _{\frac{1}{2}} x来plot一下试试看
ppZJx8e.png

如果需要更换底数为(0-1)区间,但是仍然保留该函数特性

logab=logcblogca\log _a b=\frac{\log _c b}{\log _c a}

y=log12xy=\log _{\frac{1}{2}} x带入:

log12x=log2xlog212=log2x\log _{\frac{1}{2}} x=\frac{\log _2 x}{\log _2 \frac{1}{2}}=-\log _2 x

从中可以看出,出现的概率和信息量的关系:事件发生概率越大,信息量越小

3)什么是信息熵呢
信息熵简单来说,就是信息量的加权平均;我们可以把这个形象的理解为事件出现的期望。

举个大家都会说的例子:如果是抛一枚硬币,一般只会有正面和反面向上的两种情况,因此我们可以得出此事件的信息量(注意不是信息熵

H正面向上 =log212=1H反面向上 =log212=1\begin{aligned} & H_{\text {正面向上 }}=-\log _2 \frac{1}{2}=1 \\ & H_{\text {反面向上 }}=-\log _2 \frac{1}{2}=1 \end{aligned}

而根据定义,信息熵(HH)是信息量的加权平均,即$$H=\frac{1}{2}( H_{\text {正面向上 }}+ H_{\text {正面向下 }})=\frac{1}{2}(-\log _2±\log _2)=\frac{1+1}{2}=1$$
如果能很好理解这个例子,那我们就可以更好的引出信息熵的公式:

H=i=1MpilogpiH=-\sum_{i=1}^M p_i \cdot \log p_i

因此,此处需要明白,事件发生概率越低,包含信息量越大,因此信息熵也越高

3.3信息熵为什么一定是对数函数?

如果我们假象,有没有可能是一个反比例函数经过上下平移,比如1x\frac{1}{x}经过向下平移一个单位,变成1x\frac{1}{x}-1,也能满足上述所说单调递减、且过(1,0)的条件

但是有件事情我们没有讲清楚,就是在描述信息熵的过程中,我们是否往往会忽略信息与信息之间的关系,也就是说,这个函数的选择一定要很好的度量信息与信息之间的关系

有位博主做了很形象的举例

作对一道有ABCD四个选项的选择题的难度和做对两道判断题(对or错)是等价的。
比如说
一道判断题:对or错
等价于
请问这两道题的答案是什么:A.对对 B.错错 C.对错 D.错对

其实,此时选择题产生的信息熵是2,判断题产生的信息熵是1(可带入公式尝试),存在两倍的独特关系

这就要说到了对数的独特特性,能够很准确描述信息量之间的关系:

ax=b 即 x=logaba^x=b \text { 即 } x=\log _a b

很有趣,而且再深入探讨,还有什么特性是普通反比例函数无法表示而对数可以表示的呢

这想到了我们公式必须要有能力清晰表示很小的数,因为这件事情极小可能发生,但代表信息熵无限大这样一件事。因此,想到了泰勒展开,我们选取ln(1+x)ln(1+x)的泰勒展开,其中包含是无穷多项高阶幂函数叠加的函数

ln(1+x)=xx22+x33++(1)n1xnn+o(xn)\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)

即可很好的说明问题。

二、生成式模型和判别式模型精度讨论

1.从定性的角度来看

如何来看这个问题,我们第一个联想到的实际上是来自于统计学的全概率公式,

P(X,Y)=P(YX)P(X)dXP(X, Y)=\int P(Y \mid X) P(X) \mathrm{d} X

此处,我们要算输出数据XX的概率分布P(X)P(X),而这个P(X)P(X)并不是我们想要关心的,我们只关心给定XX情况下YY的分布,因此会削弱联合概率分布的准确性,因此会知道生成式模型的准确度会降低。

2.从定量的角度看

  • 信息熵:H(X)=P(X)logP(X)dXH(X)=-\int P(X) \log P(X) \mathrm{d} X (H=i=1MpilogpiH=-\sum_{i=1}^M p_i \cdot \log p_i是另一种表述形式)
  • 联合概率信息熵:H(X,Y)=P(X,Y)logP(X,Y)dXdYH(\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(YX)=P(X,Y)logP(YX)dXH(\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(YX)=H(X,Y)H(X)H(\boldsymbol{Y} \mid \boldsymbol{X})=H(\boldsymbol{X}, \boldsymbol{Y})-H(\boldsymbol{X})

我们可以知道,信息熵H(X)H(X)>0>0应该是恒成立的,因为信息熵不可能为负的,因此由上式我们就可以知道H(X,Y)>H(YX)H(\boldsymbol{X}, \boldsymbol{Y})>H(\boldsymbol{Y} \mid \boldsymbol{X});因此联合概率分布>>条件概率分布;由3.3概率和信息量/信息熵的关联的相关知识可以知道,联合概率对应的信息熵(量)<<条件概率分布对应的信息熵(量),即生成式模型信息熵(量)<判别式模型信息熵(量)

所以,我们在日常的工作中,经常性的会选择判别式模型带来的更多的信息量,消除更多的不确定性,和生成式模型相比,具有更高的精度!