• 生成式模型和判别式模型


    一、简单理解

    • 判别式模型出现早于生成式模型。
    • 判别式模型其实并没有学习到数据的内容,只是单纯的记住了数据特征来做分类和判断。就像做模拟题,考试时遇到和模拟题一样的题会做,不一样的不会做。
    • 而生成式模型能够学习数据的内容,对样本进行理解。就像真的学会了知识,考试时遇到的题都会做。

    二、生成式模型 Generative Model(联想)

    1、定义:学习得到联合概率分布P(X,Y),就是特征X和标记Y共同出现的概率。然后再求条件概率分布。能够学习数据的生成机制。

    2、重点:由联合概率求条件概率

    3、常见算法:隐马尔可夫模型HMM、马尔可夫随机场、朴素贝叶斯、主题模型(LDA)、高斯混合模型。

    4、计算思路:学习全部样本的先验和条件概率分布求出后验概率。

    5、优点:

    • 不仅可以通过联合概率分布,得到条件概率分布,还能够得到其他信息(如边缘分布);
    • 收敛速度比较快,当样本数据较多时,能更快的收敛于真实的模型;
    • 完全学习了所有分布,可以用来检测某个异常值
    • 有更强大的泛化能力,可以举一反三;
    • 能够应付存在隐变量的情况(如高斯混合模型就是含有隐变量的生成式模型)。

    6、缺点:

    • 虽然说联合概率可以得到更多的信息,但是需要付出更多的样本和计算资源,尤其是更准确地估计类别条件分布需要增加更多的样本数量,而且类别条件概率的许多信息是我们做分类用不到的,这样来说就有点浪费了(多数实践情况下,判别式模型的效果会更好)。

    三、判别式模型 Discriminative Model(记忆)

    1、定义:学习条件概率分布P(Y|X),就是特征X出现的情况下标记Y出现的概率。就是在给定数据X的情况下,分析样本具有的特征,然后再根据已知的特征去匹配。

    2、重点:直接学习条件概率,不会去学习联合概率分布。

    3、常见算法:支持向量机(SVM)、感知机、KNN、决策树、逻辑回归、线性回归、条件随机场(CRF)。(大部分有监督学习的算法都是判别模型)

    4、计算思路:直接计算得到条件概率分布或者说得到决策边缘。

    5、优点:

    • 节省计算资源,需要的样本数量也少于生成式模型;
    • 准确率往往会比生成式模型高。

    6、缺点:

    • 因为只求条件概率分布,而不是联合概率分布,所以可能得不到生成式模型会得到的信息;
    • 泛化能力不行,对于自己没有见过的新样本效果不是很好。

    四、实例:判断一个狗狗的品种是金毛还是哈士奇?

    1、生成式模型

    • 首先根据金毛的特征去学习一个模型M1,再根据哈士奇的特征去学习一个模型M2;
    • 从要判断的这条狗中提取特征;
    • 将提取的特征放到学习好的金毛的模型M1中得到概率P1,再放到学习好的哈士奇的模型M2中得到概率P2;
    • P1和P2哪个更大,就是哪个品种。

    2、判别式模型

    • 从大量的历史数据中去学习一个模型M;
    • 从要判断的这条狗中提取特征;
    • 将提取的特征放到学习好的模型M来预测是金毛的概率P1和哈士奇的概率P2;
    • P1和P2哪个更大,就是哪个品种。

    3、总结

      判别式模型只生成一种模型,而生成式模型会学习很多个模型(一般是有多少种类别,就会学习多少种模型)。

  • 相关阅读:
    Django实现表单验证、CSRF、cookie和session、缓存、数据库多表操作(双下划綫)
    c3p0连接池封装
    关于springboot
    Maven工程
    Servlet 的面试题
    Servlet request 面试题
    spring MVC 核心配置
    日志配置
    mybatis的核心配置文件
    mapper的配置文件
  • 原文地址:https://www.cnblogs.com/yqw0710/p/16052354.html
Copyright © 2020-2023  润新知