zoukankan      html  css  js  c++  java
  • 监督学习中的“生成模型”和“判别模型”

    该内容部分来自于维基百科。

    两者都是概率统计模型,从维基上的解释来看

    • 生成模型(Generative Model):定义了在观测{X}和结果{Y}的联合概率分布 P(X, Y),通过贝叶斯得出后验概率 P(Y|X) = P(X, Y) / P(X), 然后用后验概率模型作为预测模型。因此我们还需要计算P(X)以得到后验概率。常见的生成模型有:
    1. 高斯混合模型
    2. 隐马尔科夫模型
    3. Probabilistic context free grammars
    4. 朴素贝叶斯
    5. RBM(受限波兹曼机)
    6. Averaged one-dependence estimators
    7. Latent Dirichlet allocation
    • 判别模型(Discriminative Model):同样也叫Conditional Model,即条件概率模型。判别模型是建立在观测数据和预测数据上的条件概率模型 P(Y|X) ,因此得出的后验概率可以直接作为预测模型,常见的判别模型有:
    1. 逻辑回归
    2. SVM
    3. Boosting(meta-programming)
    4. 条件随机场
    5. 线性回归
    6. 神经网络

    生成模型和判别模型的主要区别在于:1)生成模型是建立在所有变量上面的联合概率模型,而判别模型只是定义在目标变量上的条件概率模型。因此判别模型相对比生成模型有局限性,生成模型还可以作为预测任何一个变量的模型。2)判别模型不需要建立观测变量的概率模型,一般情况下它不能预测复杂的观测和预测值关系。另外,判别模型本质上是有监督的,想要变成无监督会比较困难。

    如果观测数据是符合联合概率分布,那么是用Maximize Likelihood求得模型参数是常见的方法。如果建立的概率模型只是所有变量的一个子集,那么直接使用条件概率模型可能会更有效。当然具体模型选择会由相应应用决定。

  • 相关阅读:
    POJ2723 Get Luffy Out解题报告tarjan+2-SAT+二分
    poj2186Popular Cows+tarjan缩点+建图
    KMP模板
    洛谷P1939【模板】矩阵加速(数列)+矩阵快速幂
    矩阵快速幂模板
    codeforce#483div2D-XOR-pyramid+DP
    codeforce#483div2C-Finite or not?数论,GCD
    codeforce978C-Almost Arithmetic Progression+暴力,枚举前两个数字的情况
    codeforce440C-Maximum splitting-规律题
    LuoGu-P2863牛的舞会The Cow Prom[tarjan 缩点模板]
  • 原文地址:https://www.cnblogs.com/JimmyTY/p/5332363.html
Copyright © 2011-2022 走看看