机器学习:判别式模型与生成式模型

首先明确一点,机器学习其实是从特征x预测标记y,求条件概率P(y|x)的过程。

判别式模型

判别式模型直接通过求解条件概率p(y|x)或者直接计算y的值来预测y,就是判别数据输出量的模型

举例:

要判断一个羊是山羊还是绵羊,用判别式模型就是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。

求解思路:

条件分布-->模型参数后验概率最大-->(似然函数,参数先验)最大-->最大似然

优点:

1.节省计算资源,需要的样本数量少于生成式模型;

2.准确率比生成式模型高;

3.直接学习P(y|x),不需要求解类别条件概率,可对输入进行降维、构造等操作,简化学习问题;

缺点:

1.收敛速率慢;

2.不能给出其他信息;

常用的判别式模型:

线性回归(Linear Regression),逻辑回归(Logistic Regression),支持向量机(SVM), 传统神经网络(Traditional Neural Networks),线性判别分析(Linear Discriminative Analysis),条件随机场(Conditional Random Field)

生成式模型

生成式模型通过观测值和标注数据计算联合概率分布P(x,y)来判定或估算y,就是生成数据分布的模型

举例:

生成式模型根据山羊的特征首先学习出一个山羊的模型,然后根据绵羊的特征学习出一个绵羊的模型,然后从这只羊中提取特征,看看放到山羊模型中的概率是多少,再看看放到绵羊模型中的概率是多少,哪个大就是哪个。

求解思路:

联合分布-->求解类别先验概率和类别条件概率

优点:

1.不仅可以由联合概率计算条件分布,还可以给出其他信息;

2.收敛速度比较快,即当样本数量较多时,生成模型能更快地收敛于真实模型;

3.能够应付存在隐变量的情况;

缺点:

1.需要更多的样本和更多计算;

2.效果没有判别式模型好;

常用的生成式模型:

朴素贝叶斯(Naive Bayes), 隐马尔科夫模型(HMM),贝叶斯网络(Bayesian Networks)和隐含狄利克雷分布(Latent Dirichlet Allocation)

参考资料

机器学习“判定模型”和“生成模型‘有什么区别?

机器学习之判别式模型和生成式模型






猜你喜欢

转载自blog.csdn.net/u013402321/article/details/79613004