在前面的章节中,我们介绍过SVM、逻辑回归,这两者都属于监督学习中的一种,即训练数据的标签是给定的,我们希望通过对训练数据进行学习,这样对于给定的新样本数据,我们可以对它的类别标签进行预测。实际上,监督学习又可以分为两类,判别模型(Discriminative model)和生成模型(generative model),前面提到的SVM和逻辑回归都属于判别模型的一种。那么判别模型和生成模型有何区别?
1.1 判别模型和生成模型的区别
我们先来看以前讲过的SVM和逻辑回归(LR)有什么特点。这两者都是对分布概率 p(y|x;θ) 进行进行学习的,这个概率表示给定一个新样本数据特征 x ,模型参数
考虑这样一个例子,假设给定动物的若干个特征属性,我们希望通过这些特征学习给定的一个“个体”到底是属于“大象”(y=1)还是“狗”(y=0)。如果采用判别模型的思路,如逻辑回归,我们会根据训练样本数据学习类别分界面,然后对于给定的新样本数据,我们会判断数据落在分界面的哪一侧从而来判断数据究竟是属于“大象”还是属于“狗”。在这个过程中,我们并不会关心,究竟“大象”这个群体有什么特征,“狗”这个群体究竟有什么特征。
现在我们来换一种思路,我们首先观察“大象”群体,我们可以根据“大象”群体特征建立模型,然后再观察“狗”群体特征,然后再建立“狗”的模型。当给定新的未知个体时,我们将该个体分别于“大象”群体和“狗”群体模型进行比较,看这个个体更符合哪个群体模型的特征。
所以分析上面可知,判别模型是直接学习
其中, p(x)=p(x|y=1)p(y=1)+p(x|y=0)p(y=0) (每一类的类别概率乘以该类别内的特征分布概率就是总的特征分布概率),所以 p(x) 也可以表达为模型 p(x|y) 和类别概率 p(y) 了。在进行类别判定时,我们会分别计算数据 x 属于各个别类的概率大小,并将
最后一个式子是因为对于所有类别的特征概率分布都是一样的,所以可以不考虑 p(x) 。 所以,实际上,生成模型是对联合概率分布 p(x,y)=p(x|y)p(y) 进行学习的。常用的生成模型有朴素贝叶斯,隐马尔可夫等,HMM等。
1.2 高斯生成模型
1.2.1高斯生成模型概念
这里首先列举一个简单的例子,高斯生成模型,也就是说每个类别的数据分布可以由高斯模型进行建模,也就是说有,