生成模型

介绍判别模型和生成式模型,朴素贝叶斯。

生成模型和判别模型

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

Gaussian discriminant analysis

  • 首先定义了multivariate normal distribution,实际上就是在单变量正态分布上进行了一点点直观的变换
    • p ( x ; μ , ∑ ) = 1 ( 2 π ) n / 2 ∣ ∑ ∣ 1 / 2 exp ⁡ ( − 1 2 ( x − μ ) T ∑ − 1 ( 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)) p(x;μ,)=(2π)n/21/21exp(21(xμ)T1(xμ))
    • 很容易得到, E ( X ) = μ C o v ( X ) = ∑ E(X) = \mu \quad Cov(X) = \sum E(X)=μCov(X)=
  • 现在假设输入特征 x x x是连续性随机变量,因此假设:
    • y ∼ B e r n o u l l i ( ϕ ) y \sim Bernoulli(\phi) yBernoulli(ϕ)
    • x ∣ y = 0 ∼ N ( μ 0 , ∑ ) ​ x|y= 0 \sim N(\mu_0,\sum)​ xy=0N(μ0,)
    • x ∣ y = 1 ∼ N ( μ 1 , ∑ ) x|y= 1 \sim N(\mu_1,\sum) xy=1N(μ1,)
    • 需要注意的是,在 y y y不同的条件下,其均值不相同,但方差是相同的。
  • 因此,我们可以用likelihood得到参数 μ 0 , μ 1 , ϕ \mu_0, \mu_1,\phi μ0,μ1,ϕ的估计值

difference between GDA&logistic

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

Naive Bayes

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

你可能感兴趣的:(MachineLearning)