生成模型和判别模型

 

参考李航《统计机器学习》

监督学习常见的问题是学习一个模型对于输入空间的变量x预测其在输出空间对应的变量y。

这个模型一般表示为$Y = f(X)$或者条件概率分布:$P(Y{\left |}X)$.

依据学习的目标是$X, Y$的联合概率$P(X, Y)$还是条件概率$P(Y{\left |}X)$或判别函数$Y=f(X)$将模型分为生成模型和判别模型。这种监督学习的方法又称为生成方法和判别方法。

判别模型:

判别模型是由数据直接学习决策函数$Y = f(X)$或者条件概率分布$P(Y{\left |}X)$作为要学习的模型。判别模型关系对于给定的$X$要得到怎样的输出$Y$.

常见的判别模型有KNN,感知机,决策树,logistic回归,最大熵模型,SVM,提升方法,CRF。

 

生成模型:

生成模型是由数据学习联合概率分布$P(X, Y)$,然后用贝叶斯公式求出条件概率分布作为预测的模型。生成模型学习到的是$X$$Y$的生成关系。

常见的生成模型有朴素贝叶斯法,HMM,LDA,高斯混合模型GMM,变分自编码器VAE,生成对抗网络GAN。

 

各自的优点:

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

判别模型直接学习条件概率$P(Y{\left |}X)$或判别函数$Y = f(X)$,直接面对预测,所以准确率高;由于学习$P(Y{\left |}X)$$Y = f(X)$可以定义特征,从而对输入空间进行抽象,简化问题。

 

各自的缺点:

生成模型有需要学习联合概率分布,往往训练复杂;且生成模型很依赖模型的假设,当假设的数据分布于数据真实分布差异较大时生成模型效果比判别模型效果更差;生成模型学习到输入输出变量更多的信息,所以训练的数据量要充足,从而也引入了计算量大的问题。

判别模型不能解决具有隐变量的问题;

 

你可能感兴趣的:(算法,机器学习统计模型)