生成模型和判别模型

  • discriminative learning algorithms,也就是根据特征值来求结果的概率。
    • 可以表示为P(yx;θ)P(y|x;\theta),在参数确定的条件下,直接求得在当前样本feature下的y的概率
    • 实际上是求条件概率
    • 常见的判别模型有线性回归、对数回归、线性判别分析、支持向量机、boosting、条件随机场、神经网络等。
  • generative learning algorithms,根据yy不同来学习不同的模型,然后取概率较大的那个
    • 可以表示为P(xy)P(x|y),很容易看出,使用贝叶斯公式可将两个模型进行统一:
      • P(yx)=p(xy)p(y)p(x)P(y|x) = \frac{p(x|y)p(y)}{p(x)}
    • p(xy)p(y)=p(x,y)p(x|y) *p(y) = p(x,y)可得,实际上生成模型是在求联合概率
    • 常见的生产模型有隐马尔科夫模型、朴素贝叶斯模型、高斯混合模型、LDA、Restricted Boltzmann Machine 等。
  • 这篇博客较为详细地介绍了两个模型。

Gaussian discriminant analysis

  • 首先定义了multivariate normal distribution,实际上就是在单变量正态分布上进行了一点点直观的变换
    • p(x;μ,)=1(2π)n/21/2exp(12(xμ)T1(xμ))p(x;\mu,\sum) = \frac{1}{(2\pi)^{n/2}|\sum|^{1/2}}\exp(-\frac{1}{2}(x-\mu)^T\sum^{-1}(x-\mu))
    • 很容易得到,E(X)=μCov(X)=E(X) = \mu \quad Cov(X) = \sum
  • 现在假设输入特征xx是连续性随机变量,因此假设:
    • yBernoulli(ϕ)y \sim Bernoulli(\phi)
    • xy=0N(μ0,)x|y= 0 \sim N(\mu_0,\sum)
    • xy=1N(μ1,)x|y= 1 \sim N(\mu_1,\sum)
    • 需要注意的是,在yy不同的条件下,其均值不相同,但方差是相同的。
  • 因此,我们可以用likelihood得到参数μ0,μ1,ϕ\mu_0, \mu_1,\phi的估计值

Difference between GDA&logistic

  • 如果我们根据贝叶斯公式对GDA求后验概率,可以得到就是sigmoid函数的形式
    • 同时,我们可以发现,只要假设是指数族的形式,后验概率都可是写成sigmoid函数的形式
  • 但是,如果是sigmoid函数形式的后验分布,并不能得到GDA
  • 因此,GDA有着更强的假设
    • 在模型符合该假设的前提下,效果比logistic更好
  • logistic模型的robust更好
    • 可以发现,如果x的条件概率不满足正态分布,而是posisson分布,也能得到sigmoid函数

Naive Bayes

  • 朴素贝叶斯是一种生成式模型,根据现有的数据,使用likelihood计算条件概率的估计,从而得到模型参数。当需要进行预测时,就使用贝叶斯rule进行预测,取最大的那个yy
  • 朴素贝叶斯方法有个致命的缺点就是对数据稀疏问题过于敏感
    • 当样本中的数据量不够多,不能包含预测的信息时,这时候所有的概率都为0,无法进行预测
    • 因此需要使用平滑的方法,常用的就是laplace平滑
    • ϕj=1{zi=j}+1m+k\phi_j = \frac{\sum 1\{z^{i} =j \}+1}{m+k}
  • notes 中还介绍了在文本分类中,multi-variate Bernoulli event model 和multinomial event model的区别,如果从词典入手,那么该词在不在这个text中是两点分布;而从text入手,这个位置是某个词是多项分布。
    • multinomial event model 考虑到了词在邮件中的数量,效果更好。
  • 由于在Naive Bayes中,我们是基于Generative model,同时,用bernoulli或者multinomial分布进行估计(都是指数族分布),因此其充分统计量改写后依然为sigmoid函数。

results matching ""

    No results matching ""