wffzxyl的博客

会当凌绝顶,一览众山小

【机器学习】基础 判别模型生成模型

- 概念区分及代表算法:

两者均属于监督模型范畴,最直接的区分依据是,从给定的训练数据,学习到的目标概率分布不同。根据训练数据,

生成模型,学习联合概率分布P(X,Y)。然后求出条件概率分布P(Y|X)作为预测模型。公式:P(Y|X)=P(X,Y)/P(X)。代表算法有:朴素贝叶斯,HMM等。通常只有一个模型,输入实例,得到结果。

判别模型,学习条件概率分布P(Y|X),或者直接学习判别决策函数f(X)。代表算法有k近邻算法,决策树、逻辑回归(学习P(Y|X))、最大熵模型、感知机(学习决策函数f(X))、支持向量机,感知机、提升算法,条件随机场。通常有多个模型(n类n模型),输入实例,比较模型结果,输出最合适结果。

角度1,结合维基百科上的案例来看:



角度2,博文机器学习之判别式模型和生成式模型 - nolonely - 博客园 举了一个例子:

判别式模型举例:要确定一个羊是山羊还是绵羊,用判别模型的方法是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。

生成式模型举例:利用生成模型是根据山羊的特征首先学习出一个山羊的模型,然后根据绵羊的特征学习出一个绵羊的模型,然后从这只羊中提取特征,放到山羊模型中看概率是多少,在放到绵羊模型中看概率是多少,哪个大就是哪个。

细细品味上面的例子,判别式模型是根据一只羊的特征可以直接给出这只羊的概率(比如logistic regression,这概率大于0.5时则为正例,否则为反例),而生成式模型是要都试一试,最大的概率的那个就是最后结果

角度3,从先验后验似然角度。

生成模型和判别模型最终都要学习出一个后验概率,即P(Y|X),根据贝叶斯公式,P(Y|X)=[P(Y)*P(X|Y)]/P(X),后验正比于先验和似然。

如果我们从训练数据中,获取先验和似然,然后乘起来,得到后验,再做决策,叫做生成模型。即,用乘法生成后验分布。如朴素贝叶斯,可参考李航书中P48页公式4.6形式。

如果我们不管先验后验,直接假设后验分布,训练数据获得模型,这叫判别模式。如逻辑回归。

补充概念,

后验概率是P(Y|X),即在看到新的数据后,我们要计算的该假设的概率。

先验概率是P(Y),是输入的 分布,在得到新数据之前,某一个假设的概率。

似然是P(X|Y),是参数的分布,在该假设下,这一数据/参数的概率。

标准化常量P(X)是在任何假设下,得到这一数据的概率。


- 两者优劣:

生成模型:可还原联合概率分布P(X,Y);样本容量增加时,学习模型收敛速度快;存在隐变量时,仍然可以用生成学习学习方法,但不能用判别方法;可以做异常点检测

判别模型:直接面对预测,准确率高;不需要像生成模型一样学习多个分布进行比较,效率高;可以对数据进行抽象,即做特征工程,如创建新特征,简化学习问题。


参考书籍:

李航:统计学习方法

知乎:politer

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xylin1012/article/details/79957088
个人分类: 机器学习
上一篇【面试】缓存
下一篇【机试-华为】数组最大值放中间,其他依次放其左右
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭