【机器学习】判别式模型与生成式模型
一、判别式模型与生成式模型简介
1、判别模型(Discriminative Model)
是直接对条件概率 P ( Y ∣ X ; θ ) \displaystyle P( Y|X;\theta ) P(Y∣X;θ)建模。判别式方法关心的是给定输入 X X X,应该预测什么样的输出 Y Y Y。
2、生成模型(Generative Model)
是对X和Y的联合概率分布P(X,Y)建模,然后通过贝叶斯公式求得 P ( y i ∣ x ) \displaystyle P( y_{i} |x) P(yi∣x),取 P ( y i ∣ x ) \displaystyle P( y_{i} |x) P(yi∣x)最大的 y i \displaystyle y_{i} yi。生成方法关心的是给定输入x产生输出y的生成关系。

| 对比 | 判别式模型 | 生成式模型 |
|---|---|---|
| 特点 | 寻找不同类别之间的最优分类面,反映异类数据之间的差异 | 以统计的角度表示数据的分布情况,能够反映同类数据本身的相似度 |
| 区别 | 估计的是条件概率分布 | 估计的是联合概率分布 P(x,y) |
| 联系 | 由判别式模型不能得到生成式模型 | 由生成式模型可以得到判别式模型(贝叶斯公式) |
| 优势 | (1)能清晰地分辨出多类或某一类与其他类之间的差异特征;(2)适用于较多类别的识别;(3)模型更简单 | (1)研究单类问题比判别式模型更灵活;(2)模型可以通过增强学习得到;(3)能用于数据不完整的情况。 |
| 缺点 | 不能反映训练数据本身的特性 | 学习和计算过程比较复杂 |
| 性能 | 较好(因为利用了训练数据的类别标识信息) | 较差 |
| 常见模型 | KNN,SVM,决策树,线性回归,LR,boosting,线性判别分析(LDA),条件随机场,感知机,传统神经网络 | 朴素贝叶斯,隐马尔科夫模型,高斯混合模型,限制玻尔兹曼机 |
| 主要应用场 | 图像文本分类,时间序列预测 | NLP,医疗诊断 |
二、原理与区别
对于判别式模型来说求得 P ( Y ∣ X ) P(Y|X) P(Y∣X),对未见示例 X X X,根据 P ( Y ∣ X ) P(Y|X) P(Y∣X)可以求得标记 Y Y Y,即可以直接判别出来,如下图的左边所示,实际是就是直接得到了判别边界,所以传统的、耳熟能详的机器学习算法如线性回归模型、支持向量机SVM等都是判别式模型,这些模型的特点都是输入属性 X X X可以直接得到 Y Y Y(对于二分类任务来说,实际得到一个score,当score大于threshold时则为正类,否则为反类)而生成式模型求得P(X,Y),对于未见示例X,要求出X与不同标记之间的联合概率分布,然后大的获胜。如下图右边所示,并没有判断边界存在,对于未见示例X(红三角),求两个联合概率分布(有两个类),比较一下,取那个大的。

三、举个例子
1、判别式模型举例:
要确定一个羊是山羊还是绵羊,用判别模型的方法是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。
2、生成式模型举例:
利用生成模型是根据山羊的特征首先学习出一个山羊的模型,然后根据绵羊的特征学习出一个绵羊的模型,然后从这只羊中提取特征,放到山羊模型中看概率是多少,在放到绵羊模型中看概率是多少,哪个大就是哪个。
参考文献:
1、谈谈判别式模型与生成式模型: https://blog.csdn.net/huangfei711/article/details/79834780
2、机器学习之判别式模型和生成式模型:https://www.cnblogs.com/nolonely/p/6435213.html
3、机器学习“判定模型”和“生成模型”有什么区别?:https://www.zhihu.com/question/20446337/answer/256466823
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
