判别模型 vs 生成模型

tags: 机器学习


监督学习模型

监督学习的任务是学习一个模型,对给定的输入预测相应的输出,这个模型的一般形式维一个决策函数或一个条件概率分布

  • 决策函数:输入 X 返回 Y;其中 Y 与一个阈值比较,然后根据比较结果判定 X 的类别

  • 条件概率分布:输入 X 返回 X 属于每个类别的概率;将其中概率最大的作为 X 所属的类别

1. 判别模型

  • 代表:K 近邻、感知机(神经网络)、决策树、逻辑斯蒂回归、最大熵模型、SVM、提升方法、条件随机场
  • 思想: 由数据直接学习决策函数 条件概率分布 作为预测的模型。
  • 理解: 直观的说,判别模型学习的是类别之间的最优分隔面,反映的是不同类数据之间的差异
  • 举例:要确定一个羊是山羊还是绵羊,用判别模型的方法是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。

2. 生成模型

  • 代表:朴素贝叶斯、隐马尔可夫模型、混合高斯模型、贝叶斯网络、马尔可夫随机场

  • 思想:由数据学习得到联合概率密度分布 , 然后求出条件概率分布 作为预测的模型:

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

3. 判别模型 vs 生成模型

  • 由生成模型能够得到判别模型,但由判别模型得不到生成模型

  • 当存在“隐变量”时,只能使用生成模型

隐变量:当我们找不到引起某一现象的原因时,就把这个在起作用,但无法确定的因素,叫“隐变量”

  • 判别方法的特点:

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

    • 优点: 可以从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度**。但它不关心到底划分各类的那个分类边界在哪。
    • 优点:生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快的收敛于真实模型。
    • 优点:当存在隐变量时,仍可以用生成方法学习。此时判别方法就不能用。
    • 缺点:学习和计算过程比较复杂

QA

1. 生成模型和判别模型基本形式,有哪些?

  • 生成模型: 朴素贝叶斯、HMM、混合高斯模型、马尔科夫随机场
  • 判别模型: LR,SVM,神经网络,CRF,Boosting

你可能感兴趣的:(判别模型 vs 生成模型)