生成模型和判别模型

 

什么是判别模型/Discriminative Models

咱们先不整那些难懂的数学公式,举两个例子

例子一

假设某手机有三个特征,我们的任务是预测某消费者是会购买还是不会购买该手机。
所以判别模型是根据已经知道的一些先验知识,从购买和不够买这两种可能中挑选一个。

特征对决策的影响
运行流畅 购买的可能性 +0.1
充电慢 不购买的可能性 +0.4
屏幕5.5寸 不变(可以认为这个消费者不在乎手机的大小)
例子二

手写数字识别: 给出一张图,里面有手写体数字一个,需要机器识别数字是几,那么决策有0~9 共10种可能。计算机在识别图片的时候,也是一小块一小块做卷积提取特征,那么为了方便说明,这里我已经手动提取出了3个特征并还原成人可以看懂的样子,如下。

特征对决策的影响
 
特征一
是数字1,4的概率增加
 
特征二
是数字2,4,3,6的概率增加
 
特征三
是数字2,0,8,3,9的概率增加

无论是哪个例子,都是通过已经获得的一些信息辅助判断,最后给出一个决策。这也就是那些充满公式的文章所说的条件概率的原因。
总结来说,判别模型是用来预测在 y 事件已经发生的条件下,x事件发生的概率。

具体到以上的例子,就是特征一出现的条件下,数字是4的概率。或者说已经知道手机充电慢的情况下,购买手机的概率。

什么是生成模型 Generative Models

条件概率联合概率
判别模型 生成模型

说完了条件概率,接下来就是联合概率。判别模型学习的是条件概率,而生成模型学习的则是联合概率。

为了更好的对比区别,我们还是用上文的例子:

例子一

这里我们要换一个任务,以便理解生成模型。我们的任务是做市场调查,并且完成如下表格的填写。

事件发生次数购买没有购买
运行流畅 220 30
充电慢 19 100
屏幕5.5寸 45 67

所以这次我们是要把眼光放大到整个市场。我们需要得到手机运行流畅和被购买了同时发生的联合概率,当然这样的联合还有很多,比如手机5.5寸没有被购买,手机充电慢被购买等等。

例子二

同理,我们在这里需要得到特征一出现并且数字分别是0到9的概率,以及特征二出现并且数字分别是0到9的概率。

如果这些手写数字全部源于一个人只手,我们统计出来的特征,甚至可以用于生成这个人的笔迹,因为这个人写出来的哪些字有哪些特征,概率是多少,我们都知道。

一句话总结

判别模型 是在你生父身高超过180的已知条件下,预测你身高会不会超过180。如果你生父比180高,那么你比180高的概率会增加。但是全世界人身高的概率分布暂时并没有改变。
(为了科学的严谨,这里爸爸已经改成了生父而非父亲)

生成模型 则是随机赐予你一个成年后的最高身高。身高超过180的概率是多少,这个概率只能依照全世界所有成人的身高的频率分布来决定。

posted @ 2019-06-12 15:46  机器学习攀登者  阅读(486)  评论(0编辑  收藏  举报