机器学习中的生成模型与判别模型

机器学习中,监督学习模型主要有两种方式: 生成学习与判别学习。

  • 生成模型
原理:根据学习联合概率分布P(X,Y),求出条件概率分布 P(Y|X)做为预测模型。

          每一类单独学习模型,再用新的样本预测,在哪一类上预测概率最大,输出结果即为哪一类。

经典模型:朴素贝叶斯(Naive Bayes,NB

                 隐马尔可夫链(Hidden Markov Model,HMM


  • 判别模型

原理:直接学习决策函数,根据最终获得的条件概率分布决定预测类别。

          多类数据一起训练学习模型,新样本测试获取在各个类别上的预测概率,从而决定预测类别。

经典模型:K近邻(k-Nearest Neighbor,KNN

                 感知机(Perceptron)

                决策树(Decision Tree , DT)

                逻辑回归(logistic)

               支持向量机(SVM)

               最大熵模型(Maximum Entropy Model,MEM)

               提升方法(boosting)

               条件随机场(conditional random field,CRF)。


  • 两种模型的区别:

        由生成模型可以得到判别模型,但由判别模型得不到生成模型。 当存在隐变量(当我们找不到引起某一现象的原因的时候,我们就把这个在起作用,但是,无法确定的因素,叫“隐变量”) 时,仍可以利用生成方法学习,此时判别方法不能用。

         生成模型的特点:一般主要是对后验概率建模,从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。模型囊括的信息要比判别模型丰富;对单类问题灵活性强;模型可以由增量学习获取;适用于数据不完整情况下,但是学习和计算过程较为复杂。

         判别模型的特点:判别模型是寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。分类边界更灵活,学习到的模型更为高级;可学习到多类样本之间的特征差异;性能远优于生成模型。但结果具有不确定性,无法反映数据本身的特性。


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页