常见的判别式模型:
线性回归、逻辑回归、线性判别、集成学习、支持向量机、神经网络、条件随机场、最大熵模型
常见的生成式模型:
朴素贝叶斯、隐含马尔科夫模型、限制玻尔兹曼机、高斯混合以及其他混合模型、
生成和判别模型的区别?
判别式模型不关心数据的分布是什么样的,它直接学习数据决策边界(函数)、或者条件概率P(Y|X)。而生成式模型需要对联合概率分布P(X,Y)建模,并在给定观测数据X的条件下(也就是说知道了P(X)),那么知道了联合概率分布,知道了观测数据,那么才能由P(Y|X)=P(X,Y)/P(X)计算出它的后验概率。
它们之间有什么联系?
由生成式模型可以得到判别模型(由P(X,Y)),但是由判别式模型无法推断出生成式模型。判别式模型简单容易理解,但是在存在隐变量的情况下就只能用生成式。生成式虽然建模复杂但是收敛的速度更快,从概率统计的角度来说也反应数据本身的分布特性。
一个简单的例子:
我们有数据(X,Y):(0,1),(0, 1),(1,-1),(1 , 1)
生成模型对联合概率P(X,Y)建模:
Y=1 | Y=-1 | |
X=0 | 1/2 | 0 |
X=1 | 1/4 | 1/4 |
对于判断式模型,学习它的条件概率P(Y|X):
Y=1 | Y=-1 | |
X=0 | 2/2 | 0 |
X=1 | 1/2 | 1/2 |
只要我们数据的联合概率分布P(X,Y),我们是可以推断出它的条件概率分布P(Y|X)。但如果只给定条件概率分布,我们不能反推出数据的联合概率分布。
参考资料:https://shunliz.gitbooks.io/machine-learning/content/ml/pythonml/gen-descri.html
百面机器学习--第六章第3节