生成模型vs判别模型、有监督vs无监督

1. 监督学习 vs 无监督学习

  1. 有监督学习:输入数据有标签,比如分类回归
  2. 无监督学习:输入数据没有标签,比如聚类
  3. 半监督学习:输入数据部分有标签,部分没有,或者有标签的部分不确定是否正确,让学习器不依赖外界交互、自动地利用未标记样本来提升学习性能,就是半监督学习

2. 生成模型 vs 判别模型

监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach)。所学到的模型分别为生成模型(generative model)和判别模型(discriminative model)。

2.1 生成方法和生成模型

生成模型:无穷样本==》概率密度模型 = 产生模型==》预测

生成方法由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)=P(X,Y)/P(X)作为预测的模型。这样的方法之所以成为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系。用于随机生成的观察值建模,特别是在给定某些隐藏参数情况下。典型的生成模型有:朴素贝叶斯法、马尔科夫模型、高斯混合模型。这种方法一般建立在统计学和Bayes理论的基础之上。

生成方法的特点:

  • 从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度;
  • 生成方法还原出联合概率分布,而判别方法不能;
  • 生成方法的学习收敛速度更快、即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型;
  • 当存在隐变量时,仍然可以用生成方法学习,此时判别方法不能用

2.2 判别方法和判别模型

判别模型:有限样本==》判别函数 = 预测模型==》预测

判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X)作为预测的模型,即判别模型。判别方法关心的是对给定的输入X,应该预测什么样的输出Y。典型的判别模型包括:k近邻法、感知机、决策树、逻辑斯蒂回归模型、最大熵模型、支持向量机、boosting方法和条件随机场等。判别模型利用正负例和分类标签,关注在判别模型的边缘分布。

判别方法的特点:

  • 判别方法寻找不同类别之间的最优分类面,反映的是异类数据之间的差异;
  • 判别方法利用了训练数据的类别标识信息,直接学习的是条件概率P(Y|X)或者决策函数f(X),直接面对预测,往往学习的准确率更高
  • 由于直接学习条件概率P(Y|X)或者决策函数f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。
  • 缺点是不能反映训练数据本身的特性

2.3 生成模型和判别模型对比

  • 训练时,二者优化准则不同

    生成模型优化训练数据的联合分布概率;

    判别模型优化训练数据的条件分布概率,判别模型与序列标记问题有较好的对应性。

  • 对于观察序列的处理不同

    生成模型中,观察序列作为模型的一部分;

    判别模型中,观察序列只作为条件,因此可以针对观察序列设计灵活的特征。

    训练复杂度不同

    判别模型训练复杂度较高

  • 是否支持无指导训练

    生成模型支持无指导训练。

  • 本质区别

    判别估计的是条件概率分布(conditional distribution)p(Y|X)

    生成模型估计的是联合概率分布(joint probability distribution)p(X,Y)

另外,由生成模型可以得到判别模型,但由判别模型得不到生成模型。

参考文献

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