码迷,mamicode.com
首页 > 编程语言 > 详细

机器学习算法笔记2_1:生成学习算法(Generative Learning algorithms)

时间:2016-04-22 19:24:16      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:

我们之前学习的算法都是基于p(y|x;θ), 他的思想是找出找出一个决策边界来将两类分开,而生成算法是先对两个类别分别建模,为了将样本分开,将样本代入两个模型,看样本与哪个类别更匹配。
这种试图直接从输入x映射到类别标签{0,1}的算法被称为判别学习算法;而通过计算p(x|y)(和p(y))来得到模型的算法被称为生成学习算法
通过贝叶斯函数得到p(y|x)=p(x|y)p(y)p(x),

argmaxyp(y|x)=argmaxyp(x|y)p(y)p(x)=argmaxyp(x|y)p(x)

  1. 高斯判决分析(GDA, Gaussian discriminant analysis)
    假设p(x|y)服从多元正太分布.
    1. 多元正太分布
      技术分享
      技术分享
      Cov(X)=Σ=E[(X?E(X)(X?E(X))T)]=E[XXT]?(E[X]E[X]T)
      技术分享
      左图Σ=I,中图Σ=0.6I,右图Σ=2I,可以看到随着协方差增大,分布越趋近”扁平”。
      技术分享
      技术分享
      技术分享
      随着协方差非对角线元素的增大,分布越趋于正45度方向压缩
      技术分享
      随着协方差非对角线元素的减小, 分布逐渐向-45度方向压缩。右图显示,任意地改变参数分布投影趋近椭圆。
    2. 高斯判决分析模型(GDA)
      • 应用条件:特征x为连续随机变量
      • 模型:用多远正态分布给f(x|y)建模,模型如下:
        技术分享
        即:
        技术分享
        从上式可以看出这个模型通常采用不同的均值,相同的方差。即模型的参数为?,Σ,μ0,μ1,写成对数形式如下:
        技术分享
        参数计算如下
        技术分享
        样本分布图
        技术分享
    3. 高斯决策模型与逻辑回归的关系
      如果将p(y=1|x;?,μ0,μ1,Σ)看成关于x的函数,则其形式可以改写成:
      技术分享
      这正是LR的形式。即如果p(x|y)符合多元高斯分布且共享Σ,则p(y|x)将符合Logistics函数的形式,但这只是充分不必要条件,f(y|x)若符合Logistic函数,不能推出f(x|y)符合多元正太分布。
      GDA与LR的比较:
      1. GDA对x具有很强的假设(服从多元正太分布),如果满足则能更好的适应样本,会是更好的模型,且asymptotically efficient;在大的训练样本的前提下,没有模型能比GDA更好。但是LR鲁棒性更强,不要求x一定符合高斯分布;
      2. GDA需要的训练样本比LR更少
        实际中由于LR对数据先验概率的适应性而更多的被使用。
  2. 朴素贝叶斯(Naive Bays):适用于文本分类
    GDA中,要求x是连续的向量,而朴素贝叶斯则是针对输入x是离散变量的情况。
    1. 朴素贝叶斯假设
      假设当给定y时向量x的各个分量相互独立
    2. 推论
      p(x1,...,x50000)=p(x1|y)p(x2|y,x1)p(x3|y,x1,x2)...p(x3|y,x1,x2,...x49999)=p(x1|y)p(x2|y)p(x3|y)p(x50000|y)=i=1np(xi|y)

      以垃圾邮件过滤为例,假设样本是如下所示的向量,每个元素对应词汇表中一个词汇,如果邮件中存在对应词则置为1否则为0;
      技术分享
      那么模型参数是
      ?i|y=1=p(xi=1|y=1)?i|y=0=p(xi=1|y=0)?y=p(y=1)
      ,对于训练集{(x(i),y(i));i=1,2,...,m},可以写出如下联合似然函数:
      技术分享
  3. Laplace平滑
    上面的朴素贝叶斯有一个问题,当有一个此前从未出现的词出现在一个新的email中时,由于:
    技术分享
    从而使
    技术分享
    造成无法判决。
    为避免这种情况,可以使用拉普拉斯平滑法:
    技术分享
    其中k为z可能取值的数量。
  4. 文本分类事件模型(Event models for text classification)
    在的朴素贝叶斯模型是基于多元伯努利分布(x向量元素只能取0或1),其生成一封邮件的过程是
    技术分享
    与不素贝叶斯模型不同的是,多项事件模型(multinomal event model)表示一封邮件的向量x中的元素取自{1,2,…,|V|}, 其中,V为字典长度,这样,一封邮件就被表示成长度等于邮件词汇数的向量。该模型生成邮件的过程是这样的:
    技术分享
    虽然概率形式上和朴素贝叶斯很相似,但是其含义发生了很大的变化,特别是xi|y已经变成了多项式分布。
    技术分享
    参数:
    技术分享
    使用拉普拉斯平滑后的参数:
    技术分享

(斯坦福机器学习笔记)

机器学习算法笔记2_1:生成学习算法(Generative Learning algorithms)

标签:

原文地址:http://blog.csdn.net/bupt_wx/article/details/51208505

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!