我们先从直观上来理解一下:
-
生成模型:
源头导向
。尝试去找到底这个数据是怎么产生的,然后再对一个信号进行分类。基于你学习到的生成假设,判断哪个类别最有可能产生这个信号,这个样本就属于那个类别。
-
判别模型:
结果导向
。并不关心样本数据是怎么生成的,它只关心样本之间的差别,然后用差别来简单对给定的一个样本进行分类。
借用一下
这位老兄
的例子:
假如你的任务是识别一个语音属于哪种语言。例如对面一个人走过来,和你说了一句话,你需要识别出她说的到底是汉语、英语还是法语等。那么你可以有两种方法达到这个目的:
-
学习每一种语言,你花了大量精力把汉语、英语和法语等都学会了,我指的学会是你知道什么样的语音对应什么样的语言。然后再有人过来对你说,你就可以知道他说的是什么语音.
-
不去学习每一种语言,你只学习这些语言之间的差别,然后再判断(分类)。意思是指我学会了汉语和英语等语言的发音是有差别的,我学会这种差别就好了。
那么第一种方法就是
生成方法
,第二种方法是
判别方法
。
监督学习的任务:学习一个模型,应用这一模型,对给定的输入预测相应的输出。
这一模型的一般形式为一个决策函数或者条件概率分布:
y
。(例如贝叶斯分类器就属于这种)
监督学习方法又可以分为生成方法(generative approach)
和
判别方法(discriminative approach)
。所学到的模型分别为
生成模型(generative model)
和
判别模型(discriminative model)**。
先由数据学习联合概率分布
y
的生成关系。这种方法一般建立在统计学和Bayes理论的基础之上。
-
从统计的角度表示数据的分布情况,能够反映同类数据本身的
相似度
,但它不关心到底划分各类的那个分类边界在哪。
-
生成方法能还原出联合概率分布,而判别方法不能
-
生成方法的学习收敛速度更快、即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型
-
当存在隐变量时,仍可以用生成方法学习,此时判别方法不能用
判别方法由数据
直接
学习决策函数
-
判别方法寻找不同类别之间的最优分类面,反映的是
异类数据之间的差异
-
判别方法利用了训练数据的类别标识信息,直接学习的是条件概率P(Y|X)或者决策函数f(X),直接面对预测,往往
学习的准确率更高
;
-
由于直接学习条件概率P(Y|X)或者决策函数f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以
简化学习问题
。
-
缺点
是不能反映训练数据本身的特性
-
-
k近邻法
-
感知机
-
决策树
-
logistic回归
-
最大熵模型
-
SVM
-
boosting方法
-
条件随机场
这里推荐一篇Andrew Ng讨论判别模型和生成模型的paper:
On Dicriminative vs. Generative classfier: A comparison of logistic regression and naive Bayes
References:
《统计学习方法》 李航
生成模型与判别模型
先上结论公式上看生成模型: 学习时先得到 P(x,y)P(x,y)P(x,y),继而得到 P(y|x)P(y|x)P(y|x)。预测时应用最大后验概率法(MAP)得到预测类别 yyy。 判别模型: 直接学习得到P(y|x)P(y|x)P(y|x),利用MAP得到 yyy。或者直接学得一个映射函数 y=f(x)y=f(x)y = f(x)。直观上看生成模型: 关注数据是如何生成的 ...
其实机器学习的任务是从属性X预测标记Y,即求概率P(Y|X)。
判别
式
模型
对于
判别
式
模型
来说求得P(Y|X),对未见示例X,根据P(Y|X)可以求得标记Y,即可以直接
判别
出来,如上图的左边所示,实际是就是直接得到了
判别
边界,所以传统的、耳熟能详的机器学习算法如线性回归
模型
、支持向量机SVM等都是
判别
式
模型
,这些
模型
的特点都是输入属性X可以直接得到Y(对于二分类任务来说,实际得到一个score,当score大于threshold时则为正类,否则为反类)~(根本原因个人认为是对于某示例X_1,对正例和反例的标记的条件概率之和等于1,即P(Y_1|X_1)+P(Y_2|X_1)=1)。
生成
式
模型
生成
式
模型
和
判别
式
模型
是机器学习中两种常见的
模型
类型。
生成
式
模型
,又称概率
模型
,是指通过学习数据的分布来建立
模型
P(y|x),然后利用该
模型
来
生成
新的数据。
生成
式
模型
的典型代表是朴素贝叶斯
模型
,该
模型
通过学习数据的分布来建立概率
模型
,然后利用该
模型
来
生成
新的数据。
判别
式
模型
,又称非概率
模型
,是指通过学习输入和输出之间的映射关系来建立
模型
y=f(x),然后利用该
模型
来预测新的输出。
判别
式
模型
的典型代表是支持向量机
模型
,该
模型
通过学习输入和输出之间的映射关系来建立分类
模型
,然后利用该
模型
来预测新的分类结果
1. 写在前面
今天补了一下机器学习的数学知识,突然又遇到了
判别
模型
和
生成
模型
这两个词语,之前学习统计学习方法的时候也遇到过,当时就模模糊糊的,如今再遇到,发现我还是没明白, 但这次哪有轻易再放过去之理?所以查了很多资料,试图结合自己理解的,把这个知识点整理整理,毕竟这个知识点也是面试官非常喜欢问的一个问题。
所以,下面我尽量把语言说的白话一些。
2. 判定
模型
VS
生成
模型
从本质上讲,
生成
模型
和
判别
模型
是解决分类问题的两类基本思路。 首先,你得了解,分类问题,就是我给定一个数据x,去判断它对应的标签y。
我的目标就是P(Y|X)。 下面我直接开门见山,先说一下这两种
模型
针对这个目标是怎么
理解对抗网络,首先要了解
生成
模型
和
判别
模型
。
判别
模型
比较好理解,就像分类一样,
有一个
判别
界限,通过这个
判别
界限去区分样本。理解了
生成
模型
和
判别
模型
后,再来理解对抗网络就很直接了,对抗网络只是提出了一
种网络结构,总体来说, GANs 简单的想法就是用两个
模型
,一个
生成
模型
,一个
判别
模型
。
判别
方法(Discriminative approach)
由数据直接学习决策函数Y=f(X)或者条件概率分布P(Y|X)作为预测的
模型
,即
判别
模型
。
判别
方法关心的是对于给定的输入X,应该预测什么样的输出Y。基本思想是有限样本条件下建立
判别
函数,不考虑样本的产生
模型
,直接研究预测
模型
。典型的
判别
模型
包括k近邻,感知级,决策树,支持向量机等。
生成
方法(Generative approach)
由数据学习联合概率密度分布P(X,Y),然后由
一、名词解释
生成
方法由数据学习联合概率风波P(X,Y),然后求出条件概率分布P(Y|X)为预测的
模型
,即
生成
模型
:
P(Y∣X)=P(X,Y)P(X)P(Y|X)=\frac{P(X,Y)}{P(X)}P(Y∣X)=P(X)P(X,Y)
这样的方法之所以称为
生成
方法,是因为
模型
表示了给定输入X产生输出Y的
生成
关系。典型的
生成
模型
由朴素贝叶斯法和隐马尔可夫
模型
。
判别
方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X)作为预测
模型
,即
判别
模型
。
判别
方法关心的是对给定的输入X,应该预测什么样的输出
生成
模型
和
判别
模型
的
区别
1.监督学习分为
生成
模型
和
判别
模型
有监督机器学习方法可以分为
生成
方法和
判别
方法(常见的
生成
方法有混合高斯
模型
、朴素贝叶斯法和隐形马尔科夫
模型
等,常见的
判别
方法有SVM、LR等),
生成
方法学习出的是
生成
模型
,
判别
方法学习出的是
判别
模型
。
2.
生成
模型
生成
模型
主要是求解联合概率密度,比如我们有数据集:(C,X),其中(c,x)表示其中一个样本,c为类别,x为特征。那么对于
生成
模型
来说我们需要求解p(x,c)的联合概率密
监督学习的任务就是学习一个
模型
(或者得到一个目标函数),应用这一
模型
,对给定的输入预测相应的输出。这一
模型
的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X)。
监督学习方法又可以分为
生成
方法(generative approach)和
判别
方法(discriminative approach)。所学到的
模型
分别为
生成
模型
(generative mode...
两者都是进行分类(classification)的
模型
。
生成
模型
(generative model)通过学习先验分布来推导后验分布而进行分类,而判定
模型
(discriminative model)直接学习后验分布来进行分类。
对于分类
模型
,一般有三种建模方法:
生成
模型
,判定
模型
和直接学习决策边界。举例来说,如果信用卡公司需要通过建模学习如何通过个人收入(X)来检测其是否会成为坏账(Y)。一种建模的方法是先学习整体的坏账率(P(Y))以及在坏账与非坏账的群体中,个人收入是如何分布的(P(X|Y))。在学习这两
w1047667241:
Keras: 评价指标 categorical_accuracy和 sparse_categorical_accuracy
supremewzy: