判别模型 vs 生成模型

判别模型: 判决属于哪一类,计算 条件概率。

生成模型:计算 联合概率。需要加上贝耶斯法则,然后应用到分类中。概率分布。

生成模型是模拟这个结果是如何产生的,然后算出产生各个结果的概率

两种模型都会告诉你最后的label标签 ,类别结果。

但是生成模型会告诉一个概率。生成模型会告诉你关于数据的一些统计信息(p(x|y) 分布 etc.)


判别模型: 决策树 (不是这个就是那个)

            判别模型实际是要得到一个判别边界,所以传统的、耳熟能详的机器学习算法如线性回归模型、支持向量机SVM等都是判别式模型,这些模型的特点都是输入属性X可以直接得到Y(对于二分类任务来说,实际得到一个score,当score大于threshold时则为正类,否则为反类)

而朴素贝叶斯说,p( cancer , fat ) = x% etc.,模型 生成 了一个分布给你了,即使你没意识到/没用到,只用到 p( cancer | fat ) = y% 这个最终的判别。

生成模型:贝叶斯 隐马尔可夫模型(重点的EM算法)是

判别模型:k近邻,支持向量机svm、提升方法boosting,感知机,CPR


图片转自:https://blog.csdn.net/wolenski/article/details/7985426

判别模型 vs 生成模型


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

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

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


简单地说,对于监督学习,预测时,一般都是在求判别模型 vs 生成模型生成模型: 从数据中学习联合概率分布判别模型 vs 生成模型,然后利用贝叶斯公式求:判别模型 vs 生成模型;



作者:politer
链接:https://www.zhihu.com/question/20446337/answer/256466823
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。