机器学习中,监督学习模型主要有两种方式: 生成学习与判别学习。
- 生成模型
每一类单独学习模型,再用新的样本预测,在哪一类上预测概率最大,输出结果即为哪一类。
经典模型:朴素贝叶斯(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)。
- 两种模型的区别:
由生成模型可以得到判别模型,但由判别模型得不到生成模型。 当存在隐变量(当我们找不到引起某一现象的原因的时候,我们就把这个在起作用,但是,无法确定的因素,叫“隐变量”) 时,仍可以利用生成方法学习,此时判别方法不能用。
生成模型的特点:一般主要是对后验概率建模,从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。模型囊括的信息要比判别模型丰富;对单类问题灵活性强;模型可以由增量学习获取;适用于数据不完整情况下,但是学习和计算过程较为复杂。
判别模型的特点:判别模型是寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。分类边界更灵活,学习到的模型更为高级;可学习到多类样本之间的特征差异;性能远优于生成模型。但结果具有不确定性,无法反映数据本身的特性。