监督学习的任务就是学习一个模型,应用这个模型,对给定的输入预测相应的输出。这个模型一般为决策函数:Y=f(X) 或 条件概率分布:P(Y|X)。
监督学习的学习方法可以分为生成方法(generative approach)和判别方法(discriminative approach)。所学到的模型分别叫生成模型和判别模型。
生成方法
定义
由数据学习联合概率分布P(X,Y), 然后由P(Y|X)=P(X, Y) / P(X),求出概率分布P(Y|X)。
基本思想是首先建立样本的联合概率密度模型P(X,Y),然后再得到后验概率P(Y|X),再利用它进行分类。
该方法表示了给定输入X产生输出Y的生成关系。
典型模型
朴素贝叶斯方法、隐马尔可夫模型
特点
1. 生成方法可以还原出联合概率分布P(X,Y),而判别方法不能;
2. 生成方法的学习收敛速度更快,当样本容量增加的时候,学到的模型可以更快的收敛于真实模型;
3. 当存在隐变量时,仍可以利用生成方法学习,此时判别方法不能用。(当找不到引起某一现象的原因时,就把这个在起作用但是无法确定的因素,叫“隐变量”)。
判别方法
定义
由数据直接学习决策函数Y=f(X)或条件概率分布P(Y|X)作为预测模型,即判别模型。
基本思想是在有限样本条件下建立判别函数,不考虑样本的产生模型,直接研究预测模型。
判别方法关心的是对于给定的输入X,应该预测什么样的输出Y。
典型模型
k近邻法、感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法、条件随机场
特点
1. 判别方法直接学习的是决策函数Y=f(X)或条件概率分布P(Y|X),直接面对预测,往往学习准确率更高;
2. 由于直接学习P(Y|X)或f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。
由生成模型可以得到判别模型,但由判别模型得不到生成模型。 生成算法尝试去找到底这个数据是怎么生成的(产生的),然后再对一个信号进行分类。基于你的生成假设,那么那个类别最有可能产生这个信号,这个信号就属于那个类别。判别模型不关心数据是怎么生成的,它只关心信号之间的差别,然后用差别来简单对给定的一个信号进行分类。
【参考】