机器学习面试题001:生成模型与判别模型

目录

  两者所属范畴

  生成模型定义

  为什么叫生成模型?

  判别模型定义

  一个例子通俗解释两者

  判别模型 VS 生成模型优缺点

  参考资料


 

两者所属范畴

 

 返回目录

 

生成模型定义

生成方法由数据可以学习到一个联合概率分布P(X,Y),然后通过一定方式,就可以转为一个预测模型,即生成模型:

  

 典型的生成模型有:朴素贝叶斯模型(NB)和隐马尔科夫模型(HMM)。

下面解释为什么NB模型是生成模型:

■ 由朴素贝叶斯法的定义可知:朴素贝叶斯法是通过训练数据集学习联合概率分布P(X,Y)的。

■ 根据乘法公式可知,为了求P(X,Y)可以利用训练数据学习P(X|Y)和P(Y)。

■ 得到联合概率分布P(X,Y)后,利用贝叶斯定理,便可得到一个预测模型,即

 

那HMM模型呢?

HMM模型是关于时序的概率模型,描述由一个隐藏的马尔科夫链随机生成不可观测的状态序列X,再由各个状态随机生成一个可观测的观测序列Y的过程。X和Y就是由一个联合概率分布P(X,Y)产生的(回忆HMM模型,,先由π产生X1,再根据X1由B产生Y1,然后根据X1由A产生X2,最后根据X2由B产生Y2,以此类推),该联合概率分布就是HMM模型。

 返回目录

 

为什么叫生成模型?

 从朴素贝叶斯模型和HMM模型可以看出,这两种模型都含有一种本领:可以表示出数据和标签共同出现的概率。因为他们中都有联合概率分布P(X,Y),那就拥有了生成一组新的数据的能力,这个也就是名称中的生成式模型的来源。

当然,生成模型也可以做判别(预测),上一节已经阐述。顺便再说一句,判别模型只能做判别,不能生成数据。

 返回目录

 

判别模型定义

判别模型比较简单,就是由数据直接学习决策函数f(X)比如决策树,KNN等,或者直接学习条件概率分布P(Y|X),比如逻辑回归、感知机等。

典型的判别模型有:KNN、感知机、决策树、逻辑回归、最大熵模型、SVM、提升方法和CRF等。

 返回目录

 

一个例子通俗解释两者

  

假设在一个大学里,有男有女,并且不同性别的人都有自己的穿衣打扮的风格。

 ■ 当有一个【长头发,穿短裙】的人过来的时候,生成模型和判别模型都可以对这个人的性别进行预测,并且大概率这两个模型都会将这个人预测为【女性】。这就说明了生成模型和判别模型都可以做判别(预测)。

 ■ 假设每一个人都是一个数据,如果想按照大学原本的分布增加一些学生的时候,生成模型可以做到,因为他深谙该大学里男女比例以及他们穿衣打扮的信息;而判别模型做不到。这就说明了生成模型掌握着整体数据的分布。  

 返回目录

 

判别模型 VS 生成模型优缺点

■ 生成模型可以还原出联合概率分布,而判别模型不能。

■ 生成模型收敛速度更快。

■ 当存在隐变量时,可以使用生成模型,不能使用判别模型。

■ 生成模型在做预测的时候准确率往往较低,李航老师给出的解释是

 

这里从另一个角度定性来分析可以这样解释(以朴素贝叶斯为例):

$$\[\sqrt {{a^2} + {b^2}} \]$$

$$\[a + b = 3\]$$

可以看到,相对于条件概率,在计算联合概率的时候引入了输入数据的概率分布P(X),而这并不是我们关心的(我们只关心给定X的情况下Y的分布),于是这个就相对削弱了模型的预测能力。

返回目录

 

参考资料

《统计学习方法》李航

《深入浅出PyTorch:从模型到源码》张校捷

 返回目录

 

posted @ 2020-06-27 17:59  黎明程序员  阅读(791)  评论(0编辑  收藏  举报