您的位置:首页 > 其它

生成式模型和判别式模型的对比

2017-09-01 23:23 721 查看

生成式模型和判别式模型的对比

1、概述:

  生成式模型

    生成式模型(Generative Model)的hypothesis是对 X 和 y 的联合分布 p(X,y)的建模:argmaxyip(yi|X)=argmaxyip(X|yi)p(yi)p(X)

同一个样本对于所有的类别yi,分母p(X)=∑ki=0{p(yi)∏nj=0p(X(j)|yi)}是相等的,这里其实也隐藏着假设了样本的每个维度的特征之间是两两条件独立的,(k是类别总数,n 是特征维数)所以argmaxyip(yi|X)=argmaxyip(X,yi)p(X)=argmaxyip(X,yi)

常见的生成式模型有隐马尔可夫模型HMM、朴素贝叶斯模型、高斯判别分析模型GDA、LDA等。

  判别式模型

    判别式模型(Discriminative Model),又称为条件概率模型,其hypothesis是对条件概率p(y=yi|X;ω,b)或者y=f(x)这样的决策函数进行建模。

    例如 Logistic regression模型是先对 p(y|x;ω,b) 进行建立模型,如Linear Regression模型是对决策函数模型建立,都是直接对判别这一步的问题进行建模。

    在下面分别会以生成式模型和判别式模型的两个例子进行说明方便理解两者不同。

2、举例:

  判别式模型案例:Logistic Regression

    Hypothesis:f(X)=p(y=1|X;ω,b)=11+e−(ωTX+b)

注意看这里直接对 p(y|X) 进行参数化建模,这就是我说的直接对判别那一步的依据进行建模,等会注意下面的生成式模型怎么建模的,下面便是利用最大似然准则进行优化,得到 ω  :

L(ω,b)=∏i=1sp(y=yi|Xi;ω,b)=∏i=1sf(X)yi(1−f(X))1−yi

(s是样本总数)注意看这里的转化,我一直都觉得太机智,将一个bool型的逻辑问题,巧妙地利用了0-1分类中的标签的特殊性转化为指数函数的形式表达出来了,我每次想到这个时候都被深深地折服了,真是太机智了。

In(L(ω,b))=∑i=1s{yiIn(11+e−(ωTXi+b))+(1−yi)In(e−(ωTXi+b)1+e−(ωTXi+b))}

下面就要求导啦!

∇ω(j)In(L(ω,b))=∑i=1s{yie−(ωTXi+b)1+e−(ωTXi+b)X(j)i+(yi−1)11+e−(ωTXi+b)X(j)i}=∑i=1syiX(j)i−X(j)i1+e−(ωTXi+b)

∇bIn(L(ω,b))=∑i=1syi−11+e−(ωTXi+b)

然后可以用基于的梯度的优化方法优化就好了!

  生成式模型案例:GDA

    高斯判别模型是一种生成式模型,我写东西最怕的就是写着写着跑题了,这篇博客主要是要帮助我们理解判别模型和生成式模型的区别,不是那种简单地概括几点地特点就好像说明清楚了,而是要从本质上理解两者在定义级别上地区别性,我们说过了生成式模型式对 X 和 y 联合分布 p(X,y) 进行建模。我们一起从这个角度来看看高斯判别模型(GDA)为啥是一个生成式模型。

Hypothesis:

y∼Bernoulli(ϕ)

x|y=0∼N(μ0,Σ)

x|y=1∼N(μ1,Σ)

概率公式:

p(y)=ϕy(1−ϕ)1−y

p(x|y=0)=1(2π)n2|Σ|12exp(−12(x−μ0)TΣ−1(x−μ0)))

p(x|y=1)=1(2π)n2|Σ|12exp(−12(x−μ1)TΣ−1(x−μ1)))

然后利用最大似然的准则进行优化:

L(ϕ,μ0,μ1,Σ)=log∏i=1np(xi,yi;ϕ,μ0,μ1,Σ) =log∏i=1np(xi|yi;μ0,μ1,Σ)p(yi;ϕ)

3、总结:

    通过两个例子可以发现在生成模型中,并没有对任务的最后一步直接建立模型,而是在中间步骤中逐步建模求解,而判别模型中是直接对最终的结果建立模型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息