原文链接:https://blog.csdn.net/qq_14997473/article/details/85219353
决策函数Y=f(X)与条件概率分布P(Y|X)
决策函数Y=f(x):输入一个x,它就输出一个y值,这个y与一个阈值比较,根据比较结果判定x属于哪个类别。
条件概率分布P(y|x):输入一个x,它通过比较它属于所有类的概率,然后预测时应用最大后验概率法(MAP)即比较条件概率最大的类为x对应的类别。
举个例子,对于一个二分类问题:对于Y=f(x)形式的分类模型,如果输出Y大于某个阈值V就属于类w1,否则属于类w2;而对于P(y|x)形式的分类模型,分别计算条件概率,如果P(w1|x)大于P(w2|x),x就属于类w1,否则属于类w2。
生成式模型与判别式模型
生成式模型(Generative Model):由数据学习联合概率密度分布P(x,y),然后生成条件概率分布P(y|x),或者直接学得一个决策函数 Y=f(x),用作模型预测。
判别式模型(Discriminative Model):由数据直接学习决策函数f(x)或者条件概率分布P(y|x)作为预测。
异同点
1.生成模型和判别模型都属于监督学习的模型。
2.生成式模型可以根据贝叶斯公式得到条件概率分布P(y|x),但反过来不行,即判别方法不能还原出联合概率分布P(x,y)。
3.生成方法学习联合概率密度分布P(x,y),所以就可以从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度,但它不关心到底划分各类的那个分类边界在哪;判别方法不能反映训练数据本身的特性,但它寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。
常见模型分类
生成式模型:
- 判别式分析
- 朴素贝叶斯
- 混合高斯模型
- 隐马尔科夫模型(HMM)
- 贝叶斯网络
- Sigmoid Belief Networks
- 马尔可夫随机场(Markov Random Fields)
- 深度信念网络(DBN)
判别式模型:
- 线性回归(Linear Regression)
- 逻辑斯特回归(Logistic Regression)
- K近邻(KNN)
- 感知机
- 神经网络(NN)
- 支持向量机(SVM)
- 决策树
- 最大熵模型(maximum entropy model, MaxEnt)
- 高斯过程(Gaussian Process)
- 条件随机场(CRF)
- 区分度训练
- boosting方法
借用一个网友举的通俗易懂的例子
假如你的任务是识别一个语音属于哪种语言,对面一个人走过来,和你说了一句话,你需要识别出她说的到底是汉语、英语还是法语等。那么你可以有两种方法达到这个目的:
(1)学习每一种语言,你花了大量精力把汉语、英语和法语等都学会了,我指的学会是你知道什么样的语音对应什么样的语言。然后再有人过来对你说,你就可以知道他说的是什么语音.
(2)不去学习每一种语言,你只学习这些语言之间的差别,然后再判断(分类)。意思是指我学会了汉语和英语等语言的发音是有差别的,我学会这种差别就好了。
第一种方法就是生成方法,第二种方法是判别方法。
参考一篇比较判别式模型和生成式模型的paper:
On Dicriminative vs. Generative classfier: A comparison of logistic regression and naive Bayes