zoukankan      html  css  js  c++  java
  • 生成模型(generative model)与判别模型(discriminative model)的区别

    作者:szx_spark

    监督学习可以分为生成方法与判别方法,所学到的模型可以分为生成模型与判别模型。

    生成模型

    生成模型由数据学习联合概率分布(P(X,Y)),然后求出条件概率分布(P(Y|X))作为预测的模型,即生成模型:

    [P(Y|X)=frac{P(X,Y)}{P(X)} ]

    这样的方法之所以称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系。典型的生成模型有:朴素贝叶斯法和隐马尔可夫模型

    判别模型

    判别方法由数据直接学习决策函数(f(X))或者条件概率分布(P(Y|X))作为预测的模型,即判别模型,判别方法关心的是对给定的输入X,应该预测什么样的输出Y,典型的判别模型包括:K近邻法、感知机、决策树、逻辑斯蒂回归模型、最大熵模型、SVM、CRF等等

    区别

    生成方法的特点

    • 生成方法可以还原出联合概率分布(P(X,Y)),而判别方法则不能;
    • 生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快的收敛于真实模型;
    • 当存在隐变量时,仍可以用生成方法学习,此时判别方法就不能用。

    判别方法的特点

    • 判别方法直接学习的是条件概率(P(Y|X))或决策函数(f(X)),直接面对预测,往往学习的准确率更高;
    • 由于直接学习(P(Y|X))(f(X)),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。

    上述内容摘自于李航老师的《统计学习方法》一书。

    我的理解是,生成模型在学习过程中可以得到联合分布,但其最终学习的目标可以不是联合分布,可以与判别模型一样学习条件概率分布。联合分布虽然能提供更多的信息,但也需要更多的样本和更多的计算。因此,对于样本数量较少的问题,优先考虑判别模型。

  • 相关阅读:
    山东省第三届ACM省赛The Best Seat in ACM Contest
    Rescue The Princess(2013年山东省第四届ACM大学生程序设计竞赛A题)
    自定义颜色(UIColor)
    调用主程序的委托
    设置View的背景颜色
    基本控件_UIImageView
    CGRect
    屏幕尺寸
    UIScrollView 原理
    设置将警告当做Error来对待
  • 原文地址:https://www.cnblogs.com/szxspark/p/8426850.html
Copyright © 2011-2022 走看看