生成式模型、判别式模型的区别?
对于机器学习模型,我们可以根据模型对数据的建模方式将模型分为两大类,生成式模型和判别式模型。如果我们要训练一个关于猫狗分类的模型,
- 对于判别式模型,只需要学习二者差异即可。比如说猫的体型会比狗小一点。
- 而生成式模型则不一样,需要学习猫张什么样,狗张什么样。有了二者的长相以后,再根据长相去区分。
具体而言:
-
生成式模型:由数据学习联合概率分布P(X,Y), 然后由P(Y|X)=P(X,Y)/P(X)求出概率分布P(Y|X)作为预测的模型。该方法表示了给定输入X与产生输出Y的生成关系
-
判别式模型:由数据直接学习决策函数Y=f(X)或条件概率分布P(Y|X)作为预测模型,即判别模型。判别方法关心的是对于给定的输入X,应该预测什么样的输出Y。
举个例子
来阐述一下,对于性别分类问题,分别用不同的模型来做:
1)如果用生成式模型:
可以训练一个模型,学习输入人的特征X和性别Y的关系。比如现在有下面一批数据:
Y(性别) | 0 | 1 | |
---|---|---|---|
X(特征) | 0 | 1/4 | 3/4< |