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

一、几个先行概念和想法

1.概率分布的分类

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

1.1主要分类及特征

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

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

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

2.1.生成式模型and判别式模型
  1. 生成式模型
  • 基于联合概率分布
  • 主要是通过数据 X X X来预测 Y Y Y
  • 代表算法:朴素贝叶斯(NB)、隐马尔可夫模型(HMM)
  1. 判别式模型
  • 基于条件概率分布
  • 无法通过数据 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一下试试看
ppZJx8e.png

如果需要更换底数为(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=1Mpilogpi
因此,此处需要明白,事件发生概率越低,包含信息量越大,因此信息熵也越高

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)=x2x2+3x3++(1)n1nxn+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(YX)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=1Mpilogpi是另一种表述形式)
  • 联合概率信息熵: 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(YX)=P(X,Y)logP(YX)dX

因此,在上述的概念的支撑下,再由条件概率的定义: H ( Y ∣ X ) = H ( X , Y ) − H ( X ) H(\boldsymbol{Y} \mid \boldsymbol{X})=H(\boldsymbol{X}, \boldsymbol{Y})-H(\boldsymbol{X}) H(YX)=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(YX);因此联合概率分布 > > >条件概率分布;由3.3概率和信息量/信息熵的关联的相关知识可以知道,联合概率对应的信息熵(量) < < <条件概率分布对应的信息熵(量),即生成式模型信息熵(量)<判别式模型信息熵(量)

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值