机器学习“判定模型”和“生成模型”有什么区别?
维基百科上Generative条目里面有个经典的案例: 假设有四个samples: 生成式模型的世界是这个样子: 而判定式模型的世界是这个样子: 也就是说:生成模型是联合概率分布,判别模型是条件概率分布。 简单地说,对于监督学习,预测时,一般都是在求 生成模型: 从数据中学习联合概率分布 ,然后利用贝叶斯公式求: ; 这类典型的模型包括:朴素贝叶斯、LDA、HMM 判别模型:直接学习 , 它直观输入什么特征X,就直接预测出最可能的 ; 典型的模型包括:LR, SVM,CRF,Boosting,Decision tree.... 其实机器学习的任务是从属性X预测标记Y,即求概率P(Y|X); 对于判别式模型来说求得P(Y|X),对未见示例X,根据P(Y|X)可以求得标记Y,即可以直接判别出来,如上图的左边所示,实际是就是直接得到了判别边界,所以传统的、耳熟能详的机器学习算法如线性回归模型、支持向量机SVM等都是判别式模型,这些模型的特点都是输入属性X可以直接得到Y(对于二分类任务来说,实际得到一个score,当score大于threshold时则为正类,否则为反类)~(根本原因个人认为是对于某示例X_1,对正例和反例的标记的条件概率之和等于1,即P(Y_1|X_1)+P(Y_2|X_1)=1) 而生成式模型求得P(Y,X),对于未见示例X,你要求出X与不同标记之间的联合概率分布