判别式模型 vs. 生成式模型

1. 简介

生成式模型(generative model)会对x和y的联合分布p(x,y)进行建模,然后通过贝叶斯公式来求得p(y|x), 最后选取使得p(y|x)最大的yi. 具体地,
在这里插入图片描述
判别式模型(discriminative model)则会直接对p(y|x)进行建模.

关于二者之间的优劣有大量的讨论. SVM的发明者Vapnik声称"one should solve the (classification) problem directly and never solve a more general problem as an intermediate step [such as modeling p(x|y)]", 但是, 最近Deep Learning大行其道, 其代表性算法DBN就是生成式模型. 通常来说, 因为生成式模型要对类条件密度(class conditional density)p(x|yi)

进行建模, 而判别式模型只需要对类后验密度(class-posterior density)进行建模, 前者通常会比后者要复杂, 更难以建模, 如下图所示.
在这里插入图片描述

2. 对比

下面简单比较下生成式模型和判别式模型的优缺点.

  1. 一般来说, 生成式模型都会对数据的分布做一定的假设, 比如朴素贝叶斯会假设在给定y
    的情况下各个特征之间是条件独立的:p(X|y)=∏Ni=1p(xi|y), GDA会假设
    p(X|y=c,θ)=N(μc,Σc). 当数据满足这些假设时, 生成式模型通常需要较少的数据就能取得不错的效果, 但是当这些假设不成立时, 判别式模型会得到更好的效果.

  2. 生成式模型最终得到的错误率会比判别式模型高, 但是其需要更少的训练样本就可以使错误率收敛[限于Genarative-Discriminative Pair, 详见[2]].

  3. 生成式模型更容易拟合, 比如在朴素贝叶斯中只需要计下数就可以, 而判别式模型通常都需要解决凸优化问题.

  4. 当添加新的类别时, 生成式模型不需要全部重新训练, 只需要计算新的类别ynew
    和x的联合分布p(ynew,x)即可, 而判别式模型则需要全部重新训练.

  5. 生成式模型可以更好地利用无标签数据(比如DBN), 而判别式模型不可以.

  6. 生成式模型可以生成x, 因为判别式模型是对p(x,y)进行建模, 这点在DBN的CD算法中中也有体现, 而判别式模型不可以生成x

  7. 判别式模型可以对输入数据x进行预处理, 使用ϕ(x)来代替x, 如下图所示, 而生成式模型不是很方便进行替换.
    在这里插入图片描述

左图中直接使用x进行逻辑斯蒂回归, 而右图则使用径向基核对x进行变换后再使用逻辑斯蒂回归.

3. 二者所包含的算法

3.1 生成式模型
判别式分析
朴素贝叶斯
K近邻(KNN)
混合高斯模型
隐马尔科夫模型(HMM)
贝叶斯网络
Sigmoid Belief Networks
马尔科夫随机场(Markov Random Fields)
深度信念网络(DBN)
3.2 判别式模型
线性回归(Linear Regression)
逻辑斯蒂回归(Logistic Regression)
神经网络(NN)
支持向量机(SVM)
高斯过程(Gaussian Process)
条件随机场(CRF)
CART(Classification and Regression Tree)

参考文献:

[1]. Kevin P. Murphy. Machine Learning: A Probabilistic Perspective, Chapter 8.6, Page267-271.
[2]. Andrew Y. Ng, Micheal I. Jordan. On Discrimintive vs. Generative Classifiers: A comparison of logistic regression and naive Bayes.
[3]. Stack Overflow: What is the difference between a Generative and Discriminative Algorithm?

参考博客:
https://www.cnblogs.com/kemaswill/p/3427422.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
判别式模型生成式模型是机器学习中两种常见的模型类型。生成式模型是通过学习数据的分布来建立模型P(y|x),然后利用该模型生成新的数据。典型的生成式模型有朴素贝叶斯模型,它通过学习数据的分布来建立概率模型,然后利用该模型生成新的数据。判别式模型是通过学习输入和输出之间的映射关系来建立模型y=f(x),然后利用该模型来预测新的输出。典型的判别式模型有支持向量机模型,它通过学习输入和输出之间的映射关系来建立分类模型,然后利用该模型来预测新的分类结果。生成式模型判别式模型都有各自的优缺点,选择哪种模型取决于具体的应用场景和数据特征。常见的生成式模型包括决策树、朴素贝叶斯、隐马尔可夫模型、条件随机场、概率潜在语义分析、潜在狄利克雷分配、高斯混合模型。常见的判别式模型包括感知机、支持向量机、K临近、Adaboost、K均值、潜在语义分析、神经网络。逻辑回归既可以看做是生成式模型,也可以看做是判别式模型。\[1\]\[2\] #### 引用[.reference_title] - *1* *2* [生成式模型判别式模型](https://blog.csdn.net/weixin_46359306/article/details/130422585)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [判别式模型生成式模型](https://blog.csdn.net/Ai_ViVi/article/details/41204309)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值