第五课 生成学习算法

本讲大纲:

1.生成学习算法(Generative learning algorithm)
2.高斯判别分析(GDA,Gaussian Discriminant Analysis)
3.朴素贝叶斯(Naive Bayes)
4.拉普拉斯平滑(Laplace smoothing)

1.生成学习算法

判别学习算法(discriminative learning algorithm):直接学习p(y|x)(比如说logistic回归)或者说是从输入直接映射到{0,1}.
生成学习算法(generative learning algorithm):p(x|y)(和p(y))进行建模.
简单的来说,判别学习算法的模型是通过一条分隔线把两种类别区分开,而生成学习算法是对两种可能的结果分别进行建模,然后分别和输入进行比对,计算出相应的概率。
比如说良性肿瘤和恶性肿瘤的问题,对良性肿瘤建立model1(y=0),对恶性肿瘤建立model2(y=1),p(x|y=0)表示是良性肿瘤的概率,p(x|y=1)表示是恶性肿瘤的概率.
根据贝叶斯公式(Bayes rule)推导出y在给定x的概率为:

</br>

2.高斯判别分析 GDA

GDA是我们要学习的第一个生成学习算法.
GDA的两个假设:
假设输入特征x∈Rn,并且是连续值;
p(x|y)是多维正态分布(multivariate normal distribution);

2.1 多维正态分布
若x服从多维正态分布(也叫多维高斯分布),均值向量(mean vector)

,协方差矩阵(convariance matrix)#,写成x~
, 其密度函数为:
表示行列式(determinant).
均值:
协方差Cov(Z)=
=
= ∑
高斯分布的一些例子:

左图均值为零(21的零向量),协方差矩阵为单位矩阵I(22)(成为标准正态分布). 中图协方差矩阵为0.6I, 右图协方差矩阵为2I
均值为0,方差分别为(趋于扁平):

2.2 高斯判别分析模型

写出概率分布:

模型的参数为φ,μ0,μ1,∑,
求出最大似然估计为:

结果如图所示:

注:这张图很好地描述了GDA的过程:上面的小点就是训练样本,我们会对正样本(图中的x样本)拟合出一个高斯分布,这个高斯分布表示了 p(x|y=1)。之后再观察负样本(图中的o样本),拟合出一个高斯分布,这个高斯分布表示了 p(x|y=0)。然后这两个高斯分布的密度函数可以定义出两个类别的分隔器。这个分隔器比逻辑回归得到的直线要更复杂一些。

1.3 讨论GDA和logistic回归
GDA模型和logistic回归有一个很有意思的关系. 如果把

这里写图片描述
看做是x的函数,则有:
这里写图片描述
其中
这里写图片描述
这里写图片描述
的函数,这正是logistic回归的形式.

关于模型的选择: 刚才说到如果p(x|y)是一个多维的高斯分布,那么p(y|x)必然能推出一个logistic函数;反之则不正确,p(y|x)是一个logistic函数并不能推出p(x|y)服从高斯分布.这说明GDA比logistic回归做了更强的模型假设.
如果p(x|y)真的服从或者趋近于服从高斯分布,则GDA比logistic回归效率高.
当训练样本很大时,严格意义上来说并没有比GDA更好的算法(不管预测的多么精确).
事实证明即使样本数量很小,GDA相对logisic都是一个更好的算法.

但是,logistic回归做了更弱的假设,相对于不正确的模型假设,具有更好的鲁棒性(robust).许多不同的假设能够推出logistic函数的形式. 比如说,如果#

那么p(y|x)是logistic. logstic回归在这种类型的Poisson数据中性能很好. 但是如果我们使用GDA模型,把高斯分布应用于并不是高斯数据中,结果是不好预测的,GDA就不是很好了.

3.朴素贝叶斯

在GDA模型中,特征向量x是连续的实数向量.如果x是离散值,我们需要另一种学习算法了.
例子:垃圾邮件分类问题 首先是把一封邮件作为输入特征,与已有的词典进行比对,如果出现了该词,则把向量的xi=1,否则xi=0,例如:


我们要对p(x|y)建模,但是假设我们的词典有50000个词,那么
,如果采用多项式建模的方式,会有
,明显参数太多了,这个方法是行不通的.
为了对p(x|y)建模,我们做一个很强的假设,假设给定y,xi是条件独立(conditionally independent)的.这个假设成为朴素贝叶斯假设(Naive Bayes assumption).
因此有:
条件独立

意思就是比如垃圾邮件分类,一些词的出现与否并不影响你对另一些词出现与否的判断。虽然说朴素贝叶斯假设是很强的(因为实际上是有影响的),但是其实这个算法在很多问题都工作的很好.

模型参数包括:

这里写图片描述
这里写图片描述

联合似然性(joint likelihood)为:
这里写图片描述
得到最大似然估计值:
这里写图片描述

很容易计算:
这里写图片描述

朴素贝叶斯的问题: 假设在一封邮件中出现了一个以前邮件从来没有出现的词,在词典的位置是35000,那么得出的最大似然估计为:
这里写图片描述
也即使说,在训练样本的垃圾邮件和非垃圾邮件中都没有见过的词,模型认为这个词在任何一封邮件出现的概率为0. 假设说这封邮件是垃圾邮件的概率比较高,那么 模型失灵.
在统计上来说,在你有限的训练集中没有见过就认为概率是0是不科学的.

</br>

4.laplace平滑

为了避免朴素贝叶斯的上述问题,我们用laplace平滑来优化这个问题.

回到朴素贝叶斯问题,通过laplace平滑:

分子加1,分母加1就把分母为零的问题解决了.

</br>

扩展

1. 生成模型和判别模型的区别

有监督机器学习方法可以分为生成方法和判别方法

  • 常见的生成方法有混合高斯模型、朴素贝叶斯法和隐形马尔科夫模型等
  • 常见的判别方法有SVM、LR等)

需要估计joint distribution的是generative model, 直接估计conditional distribution的是discriminative model。GMM 是一个典型的generative model, 它估计的是不同feature的联合分布。

生成方法学习出的是生成模型,判别方法学习出的是判别模型。

判别模型

  • 求解的思路是:
    条件分布------>模型参数后验概率最大------->(似然函数参数先验)最大------->最大似然

  • 优点
    1)与生成模型缺点对应,首先是节省计算资源,另外,需要的样本数量也少于生成模型。
    2)准确率往往较生成模型高。

    3)由于直接学习
    P(\tilde{c}|\tilde{x} )
    P(\tilde{c}|\tilde{x} )
    ,而不需要求解类别条件概率,所以允许我们对输入进行抽象(比如降维、构造等),从而能够简化学习问题。
  • 缺点
    没有生成模型的上述优点。

生成模型

  • 求解思路是:
    以朴素贝叶斯为例,联合分布------->求解类别先验概率和类别条件概率

  • 优点

  1. 生成给出的是联合分布,不仅能够由联合分布计算条件分布(反之则不行),还可以给出其他信息,比如可以使用P(x)=求和(P(x|ci)) 来计算边缘分布P(x)。如果一个输入样本的边缘分布P(x)很小的话,那么可以认为学习出的这个模型可能不太适合对这个样本进行分类,分类效果可能会不好,这也是所谓的outlier detection。
    2)生成模型收敛速度比较快,即当样本数量较多时,生成模型能更快地收敛于真实模型。
    3)生成模型能够应付存在隐变量的情况,比如混合高斯模型就是含有隐变量的生成方法。
  • 缺点
    1)联合分布是能提供更多的信息,但也需要更多的样本和更多计算,尤其是为了更准确估计类别条件分布,需要增加样本的数目,而且类别条件概率的许多信息是我们做分类用不到,因而如果我们只需要做分类任务,就浪费了计算资源。
    2)另外,实践中多数情况下判别模型效果更好。
    3)对数据分布做出的假设要求更强,鲁棒性较差。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345

推荐阅读更多精彩内容