已知输入变量x,判别模型(discriminative model)通过求解条件概率分布P(y|x)或者直接计算y的值来预测y。
生成模型(generative model)通过对观测值和标注数据计算联合概率分布P(x,y)来达到判定估算y的目的。
判别模型不需要计算数据的联合分布,只需要求解条件概率,而生成模型是在计算数据的联合分布之后,使用联合分布去求概率。
判别模型:考虑的是一个分类问题,如我们想根据车的一些特征分辨一辆轿车和一辆SUV。给定一个训练集,一个算法如逻辑回归,它尝试找到一条可以直线,以这条直线作为决策边界把轿车和SUV区分开。
生成模型: 根据汽车,我们可以建立一个模型,比如轿车是什么样子的;然后再根据SUV, 我们建立另外一个SUV的模型;最后根据这个两个模型,判断一辆车是轿车还是SUV.
生成模型中既可以使用监督学习和无监督:
- 在无监督学习中, 我们想要得到一个P(x)的模型, x是输入向量;
- 在监督学习中,我们首先得到的是P(x|y), y是x的标记。举个例子,如果y标记一辆车是轿车(0)或者SUV(1), 那么p(x|y=0)就描述了轿车的特征是怎么分布的,p(x|y=1)就描述了轿车的特征是怎么分布的。 如果我们能够找到P(x|y)和P(y), 我们就能够使用贝叶斯公式去估算P(y|x),因为P(y|x) = P(x|y)P(y)/P(x).
机器学习算法中的判别模型:
- 有线性回归(Linear Regression)
- 逻辑回归(Logistic Regression)
- 支持向量机(SVM)
- 传统神经网络(Traditional Neural Networks)
- 线性判别分析(Linear Discriminative Analysis)
- 条件随机场(Conditional Random Field)
- …
机器学习算法中的生成模型:
- 朴素贝叶斯(Naive Bayes)
- 隐马尔科夫模型(HMM
- 贝叶斯网络(Bayesian Networks
- 隐含狄利克雷分布(Latent Dirichlet Allocation)
- …