本文主要是介绍机器学习:判别式模型与生成式模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先明确一点,机器学习其实是从特征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)
参考资料
机器学习“判定模型”和“生成模型‘有什么区别?
机器学习之判别式模型和生成式模型
这篇关于机器学习:判别式模型与生成式模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!