机器学习:生成模型和判别模型

经典提问:Navie Bayes和Logistic回归区别是什么?

Navie Bayes是生成式模型,Logistic回归是判别式模型,二者的区别就是生成式模型与判别式模型的区别。

首先,Navie Bayes通过已知样本求得先验概率P(Y), 及条件概率P(X|Y), 对于给定的实例,计算联合概率,进而求出后验概率。也就是说,它尝试去找到底这个数据是怎么生成的(产生的),然后再进行分类。哪个类别最有可能产生这个信号,就属于那个类别。

优点:样本容量增加时,收敛更快;隐变量存在时也可适用。

缺点:时间长;需要样本多;浪费计算资源

相比之下,Logistic回归不关心样本中类别的比例及类别下出现特征的概率,它直接给出预测模型的式子。设每个特征都有一个权重,训练样本数据更新权重w,得出最终表达式。梯度法。

优点:直接预测往往准确率更高;简化问题;可以反应数据的分布情况,类别的差异特征;适用于较多类别的识别。

缺点:收敛慢;不适用于有隐变量的情况。

---------------------------------------------------------------------------------------------------------------

1. 定义

os进行统计建模,通常有两种方式:

(1)生成模型

构建o和s的联合分布p(s,o) = p(s) *p(o|s)

基本思想:由数据学习联合概率P(s,o),然后求出后验概率P(s|o)作为预测的模型,即生成模型:P(s|o)= P(s,o)/ P(o)。

注意,这里是先求出P(s,o)才得到P(s|o)的,然后这个过程还得先求出P(o)。

(2)判别模型

基本思想:有限样本条件下建立判别函数,不考虑样本的生成模型,直接研究预测模型。

典型判别模型:k近邻,决策树,logistic回归,支持向量机,感知机等。

典型生成模型:朴素贝叶斯、隐马尔科夫模型等。

2. 对比

共同点:都用于监督学习;生成式模型可以根据贝叶斯公式得到判别式模型,但反过来不行。

生成方法的特点:

生成方法学习联合概率密度分布P(X,Y),所以就可以从统计的角度表示数据的分布情况,能反映同类数据本身的相似度。但不关心分各类边界在哪。

生成方法可以还原出联合概率分布P(Y|X),而判别方法不能。

生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快的收敛于真实模型。

当存在隐变量时,仍可以用生成方法学习。此时判别方法就不能用。

判别方法的特点:

判别方法直接学习的是决策函数Y=f(X)或者条件概率分布P(Y|X)。不能反映训练数据本身的特性。

但它寻找不同类别之间的最优分类面,反映的是异类数据之间的差异

直接面对预测,往往学习的准确率更高。

由于直接学习P(Y|X)或P(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题

总而言之:

 生成算法尝试去找到底这个数据是怎么生成的(产生的),然后再对一个信号进行分类。

基于你的生成假设,那么那个类别最有可能产生这个信号,这个信号就属于那个类别。

判别模型不关心数据是怎么生成的,它只关心信号之间的差别,然后用差别来简单对给定的一个信号进行分类。

3. 优缺点

判别式优点:

分类边界更灵活,比使用纯概率方法或生产模型得到的更高级。
能清晰的分辨出多类或某一类与其他类之间的
差异特征。
在聚类、viewpoint changes, partial occlusion and scale variations中的效果较好。
适用于
较多类别的识别。

生成式优点:可以增量式训练。

4. 主要模型

生成式:

Gaussians, Naive Bayes, Mixtures of multinomials高斯、朴素贝叶斯、混合指数

Mixtures of Gaussians, Mixtures of experts, HMMs混合高斯、专家混合
Sigmoidal belief networks, Bayesian networks反曲信念网络、贝叶斯网络
Markov random fields,EM,LDA马尔可夫随机场、EM算法、线性判别分析(类似PCA)

判别式:

logistic regressionlogistic回归

线性回归以及各种回归(什么叫回归呢,就是用函数拟合点,使得误差最小,然后用各种下降法使得误差最小)

SVMs支持向量机
traditional neural networks传统神经网络
Nearest neighbor最近邻算法
Conditional random fields(CRF) 条件随机场


参考:生成模型与判别模型判别式和产生式的区别

你可能感兴趣的:(机器学习:生成模型和判别模型)