1、机器学习的任务
机器学习的任务是从属性 X 预测标记 Y,即求概率 P(Y|X)
2、判别式模型
对未见示例 X,判别式模型根据 P(Y|X) 可以求得标记 Y,即可以直接判别出来
对于二分类任务来说,实际得到一个score,当score大于threshold时则为正类,否则为反类
如上图的左边所示,实际是就是直接得到了判别边界
判别模型之所以称为“判别”模型,是因为其根据 X “判别” Y
常见判别式模型
线性回归模型
支持向量机(SVM)
逻辑回归(LR)
神经网络(NN)
高斯过程(Gaussian process)
条件随机场 CRF
CART (Classification and regression tree)
Boosting
3、生成式模型
对于未见示例 X,生成式模型需要先求出 X 与不同标记之间的联合概率分布,概率大的获胜
如上图右边所示,并没有什么边界存在,对于未见示例(红三角),求两个联合概率分布(有两个类),比较一下,概率大的作为预测类别
生成模型之所以称为“生成”模型,是因为其预测的根据是联合概率 P(Y|X)
联合概率可以理解为“生成” (Y|X) 样本的概率分布(或称为 依据)
具体来说
机器学习已知 X,从 Y 的候选集合中选出一个来
可能的样本有 (X|Y_1), (X|Y_2), (X|Y_3),……,
实际数据是如何“生成”的依赖于 P(Y|X)
那么最后的预测结果选“生成”概率最大的那个 Y_i
熟悉 Naive Bayes 的都知道,对于输入 X,需要求出好几个联合概率,然后较大的那个就是预测结果 Y
常见生成式模型
判别式分析:高斯判别模型
朴素贝叶斯(Naive Bayes)
混合高斯模型(Gaussians)
K 近邻(KNN)
隐马尔科夫模型(HMM)
贝叶斯网络
Sigmoid 信念网络(sigmoid belief networks)
马尔科夫随机场(Markov random fields)
深度信念网络 DBN
隐含狄利克雷分布(LDA,Latent Dirichlet allocation)
多专家模型(the mixture of experts model)
4、类比案例
判断一只羊是山羊还是绵羊
判别模型:
从历史数据中学习到模型
提取这只羊的特征来预测出这只羊是山羊还是绵羊
也就是说根据一只羊的特征可以直接给出这只羊是山羊的概率
生成式模型:
根据山羊的特征首先学习出一个山羊的模型
据绵羊的特征学习出一个绵羊的模型
从这只羊中提取特征,放到山羊模型中看概率是多少,放到绵羊模型中看概率是多少
概率大的模型类别即这只羊所属的类别
也就是说,生成式模型对每一类要都试一试,所得最大概率的那个就是最后结果
参考博客:
https://www.zhihu.com/question/20446337(机器学习“判定模型”和“生成模型”有什么区别)
https://blog.csdn.net/u010358304/article/details/79748153(生成模型 VS 判别模型)