生成学习算法和判别学习算法的区别

1238人阅读
机器学习(16)
第四部分 &生成学习算法
到目前为止,我们主要讨论了建模——给定下的的条件分布——的学习算法。例如,逻辑回归把建模成,这里是sigmoid函数。在这些讲义中,我们将讨论一种不同形式的学习算法。
考虑一个分类问题,在这个分类问题中,我们想基于一个动物的一些特征,来学习区分是大象()还是小狗()。给定一个训练集,一个诸如逻辑回归或感知器的算法(基本上)试图找到一条直线—也就是一个分界线—来分离大象和狗。然后,为了把一个新动物归类成大象或者小狗,要检查它落在了边界线的哪一侧,相应地做出预测。
这里有一个不同的方法。首先,看大象,我们可以建立一个大象看起来像什么的模型。然后,看小狗,我们可以建立一个不同的小狗看起来像什么的模型。最后,为了把一个新动物分类,我们可以把它和大象模型相比配,而且把它和小狗模型相比配,来看那个新动物是看起来更像我们训练集中的大象,还是更像我们训练集中的小狗。
试图直接学习的算法(例如逻辑回归)或试图学习从输入空间直接映射到标签的算法(如感知器算法),被称作判别学习算法(discriminative
learing algorithms)。这里,我们反而将讨论试图建模(和)的算法。这些算法被称作生成学习算法(generative learing algorithms)。比如,如果表示一个样例是一只小狗(0)或者一只大象(1),然后是小狗特征分布的模型,是大象特征分布的模型。
建完模型(称作类的先验(class priors))和,我们的算法然后可以使用贝叶斯公式来推导给定时的的后验分布:
这里,分母由给出(你应该能够核实这是标准的概率性质),因此也可以根据我们学习的和项表示出来。实际上,如果我们在为了做出预测而计算,然后我们实际上不需要计算分母,因为
1 &高斯判别分析
我们将要看的第一个生成学习算法是高斯判别分析(GDA)。在这个模型中,我们将假定服从多元正态分布。在继续讨论GDA模型本身之前,让我们简单的谈一下多元正态分布的特征。
1.1 多元正态分布
n维的多元正态分布,也称作多元高斯分布,是由一个均值向量(mean vector)和一个协方差矩阵(covariance matrix)参数化的,这里,是对称的和半正定的。也写作,它的密度由
给出。在上面的等式中,表示矩阵的行列式。
对于一个服从的随机变量,(毫无令人意外)均值由给出:
一个向量值随机变量Z的协方差被定义为。这推广了一个实数值随机变量的方差的符号。协方差也可以被定义成。(你应该能够向自己证明这两个定义是相等的。)如果,那么
这里有一些高斯分布的密度看起来像什么的例子:
最左边的图形显示了一个零均值(即,2 x 1的0-向量)和协方差矩阵(2 x 2的单位矩阵)的高斯分布(的密度)。一个具有零均值和单位协方差(阵)的高斯分布也被称为标准正态分布(standard normal distribution)。中间的图形显示了一个具有零均值和的高斯分布的密度;最右边的图形显示了一个零均值和的高斯分布的密度。我们看到,随着变得更大,高斯分布变得更“分散”,当它变得更小,分布变得更“压紧”的。
让我们再看一些例子。
上面的图形显示了0均值和协方差矩阵分别为
的高斯分布。最左边的图形显示了熟悉的标准正态分布,我们看到当我们增加中的非对角元素,沿45°直线(由给出的)密度变得更“压紧”。当我们看相同三个密度的轮廓时,我们可以更清晰地看到这些:
这里是最后一组通过变化产生的例子。
上边的图形分别使用了
从最左边和中间的图形,我们看到通过减小协方差矩阵的对角线元素,密度现在再次变得“压紧的”,但是是相反的方向。最后,当我们改变参数,轮廓一般会形成椭圆形的(最右边的图形显示了这样一个例子)。
作为我们最后一组例子,固定,通过改变,我们也可以在周围移动密度的均值。
上面的图形由,均值向量分别为
所生成的。
1.2 高斯判别分析模型
当我们有一个输入特征是连续值随机变量的分类问题时,我们然后可以使用高斯判别分析(GDA)模型,这个模型使用多元正态分布建模。模型为:
写出这个分布,它是:
这里,我们模型的参数是。(注意,尽管模型中有两个不同的均值,但这个模型通常被使用时只使用一个协方差矩阵。)数据的log-似然由
通过关于参数来最大化,我们发现参数的最大似然估计为:
形象地,算法在做什么如下所示:
图形中显示的是训练集,和两个已经拟合了两类数据的高斯分布的轮廓。注意,两个高斯分布有相同形状和朝向的轮廓,因为他们共有一个协方差矩阵,但是他们有不同的均值。图形中也显示了一条给出决策边界的直线,在直线上。在边界的一侧,我们预测是最有可能的结果,在另一侧,我们预测(是最有可能的结果)。
1.3 讨论:GDA和逻辑回归
GDA模型同逻辑回归有一个有趣的关系。如果我们把看作的函数,我们将会发现它可以被表示成
这样的形式,在这里是某个合适的的函数。这恰好是逻辑回归——一个判别算法——用来建模的形式。
我们什么时候更喜欢哪个模型呢?一般而言,当训练相同的数据集时,GDA和逻辑回归将给出不同的决策边界。哪个更好?
我们刚刚表明如果服从(共有的)多元高斯分布,然后必然是一个逻辑函数。然而,逆命题是不对的;也就是说,是一个逻辑函数不一定意味着是多元高斯分布。这表明,相比逻辑回归,GDA关于数据做了更强的建模假设。事实证明,当这些建模假设是正确的,GDA将会更好的拟合数据,是一个更好的模型。明确地说,当确实是(共有的)高斯分布,然后GDA是渐进有效(asymptotically
efficient)的。非正式地,这意味着在非常大的训练集中(大的m),没有算法严格地比GDA更好(就评估的精确性而言)。特别是,可以证明,在这个背景下,GDA是一个比逻辑回归更好的算法;更一般地,即使对于小规模的训练集,我们一般认为GDA会更好一些。
相比之下,通过做出明显较弱的假设,逻辑回归对不正确的建模假设也更是鲁棒和不敏感。有很多不同的假设集可以致使为一个逻辑函数的形式。比如说,如果,然后将是逻辑函数。逻辑回归对于像这样的Poisson数据也工作的不错。但是如果我们使用GDA在这样的数据上——在这样非高斯分布的数据上拟合高斯分布——那么结果将是难以预测的,GDA可能(或可能不)工作的好。
总结:GDA做了更强的建模假设,于是当建模假设是正确的或近似正确时,它是更加数据有效的(也就是需要更少的数据就可以学习“好”)。逻辑回归做了弱一些的假设,因此对于建模假设中的偏差是明显更加鲁棒的。具体地说,当数据确实不是高斯分布时,然后在大的数据集下,逻辑回归几乎总是比逻辑回归做的好。由于这个原因,在实践中逻辑回归比GDA使用的更多。(尽管关于判别vs生成模型的一些相关的考虑也适用于我们接下来要讨论的朴素贝叶斯算法,但是朴素贝叶斯算法仍被认为是一个好的,当然也是一个很受欢迎的,分类算法。)
本篇文章介绍了生成学习算法的第一个算法:判别分析算法,并且讨论了它和逻辑回归的关系。在下一小节中,我们将讲述第二个生成学习算法:朴素贝叶斯算法。
想写一写机器学习的翻译来巩固一下自己的知识,同时给需要的朋友们提供参考,鉴于作者水平有限,翻译不对或不恰当的地方,欢迎指正和建议。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:34502次
排名:千里之外
原创:38篇
评论:11条
(3)(10)(1)(2)(2)(3)(8)(12)(7)1407人阅读
Machine Learning(39)
本内容主要参考Andrew Ng的机器学习公开课第五讲。
本课内容:
生成学习算法的介绍;
第一个典型的生成学习算法——高斯判别分析;
生成学习算法与之前的判别学习算法的对比;
朴素贝叶斯算法,
Laplace平滑。
1.生成学习算法
学习算法分为两种:一种是判别学习算法(Discriminative Learning Algorithm),简称DLA,另一种是生成学习算法(Generative Learning Algorithm),简称GLA。
DLA通过建立输入空间X与输出标注{1, 0}间的映射关系学习得到p(y|x)。而GLA首先确定p(x|y)和p(y),由贝叶斯准则得到后验分布p(y|x)=p(x|y)p(y)p(x)。通过最大后验准则进行预测,即arg&maxy&p(y|x)=arg&maxyp(x|y)p(y)p(x)
&=&arg&maxy&p(x|y)p(y)
if&p(y)&is&uniform:&&=&&arg&maxy&p(x|y).
2.GDA高斯判别分析
当我们有一个分类问题,它的输入特征x是一个连续的随机变量,这时我们就使用高斯判别分析模型来建模,模型如下
是一个二类问题,所以假设y服从的是伯努利分布,进一步描述模型
根据模型经过训练得到它的似然函数模型:
然后,通过极大似然估计得到变量的估计值如下:
3.GDA和logistic回归模型的关系
如果我们把p(y=1|,x;几个参数)看做是一个函数的变量x,我们会发现,这样一个有趣的式子:
该式子就是logistic回归模型的一个sigmoid函数。
GDA的优势: 由于有高斯分布的先验信息,如果确实符合实际数据,则只需要少量的样本就可以得到较好的模型。对比之下,logistic回归模型有更好的鲁棒性。
4.朴素贝叶斯Naive Bayes
朴素贝叶斯是通过后验概率来分类的,首先介绍一下贝叶斯公式:
p(X|Y)=p(Y|X)p(X)p(Y)
朴素贝叶斯模型对于输入特征x和输出结果y,是假设x条件独立于y的。条件独立也就是下列式子是成立的:
p(x1,x2...xn|y)=p(x1|y)p(x2|y)...p(xn|y)
我们根据条件可以得到一个似然函数
训练模型(联合概率分布):给定训练样本{(x(i),y(i));i=1..m}
给出极大似然估计值
其中:,,
预测:输入一个n维特征值x(如一个词表),由贝叶斯准则得到后验概率
由最大后验准则得到分类结果。
关于贝叶斯的一个实例,可以参考我的另外一篇博文:
5.Laplace平滑
在实际应用中,有时候我们的数据正负样本的比例不均衡,比如正样本的个数为50,负样本为0,这是计算p(y=0)=0,这个概率在很多的时候是不科学的,所以使用laplace平滑,将正样本和负样本都增加一个,然后计算负样本的概率就变成了这样p(y=0)=numNeg+1numNeg+numPos+2
将它归纳之后的到的公式如下:
Stanford机器学习公开课:
本栏目Machine Learning 算法实现持续更新中,欢迎关注:
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:409440次
积分:6927
积分:6927
排名:第3352名
原创:233篇
评论:75条
文章:17篇
阅读:64847
中南大学硕士毕业,关注ML,DM和AI领域。
新浪微博:
(2)(2)(2)(2)(1)(3)(1)(4)(4)(12)(4)(4)(14)(78)(44)(38)(15)(1)(10)生成学习算法之朴素贝叶斯算法
2 朴素贝叶斯算法
在GDA中,特征向量是连续的实值向量。现在让我们讨论一种不同的学习算法,在这个算法中,是离散值。
对于我们的激励的例子,考虑使用机器学习建立一个电子邮件的垃圾邮件过滤器。这里,我们希望根据它们是未经请求的商业(垃圾)电子邮件还是非垃圾邮件进行分类。在学习了这样做之后,我们然后可以让我们的邮件器自动过滤掉垃圾信息,并可能将它们放置在一个单独的邮件文件夹中。电子邮件的分类是一个更广泛的被称作文本分类(text classification)问题的一个例子。
比如说我们有一个训练集(一组被标记为垃圾邮件或非垃圾邮件的电子邮件)。通过指定用来表示电子邮件的特征,我们将开始创建我们的垃圾邮件过滤器。
我们将通过一个特征向量表示一封电子邮件,特征向量的长度为词典中单词的数量。确切地说,如果一封电子邮件包括词典中的第个单词,然后我们令;否则我们令。
比如说,向量
用来表示一封包含单词&a&和&buy&,但不包括&aardvark&,&aardworf&和&zygmurgy&的电子邮件。被编码到特征向量的那组单词被称作词汇(vocabulary),所以的维数等于词汇表的大小。
已经选择好了我们的特征向量,我们现在想建立一个判别模型。所以,我们必须建模。但是如果我们有,比如,50000个单词的词汇表,然后(是一个50000维的0和1的向量),并且如果我们想用一个有个可能结果的多项式分布对建模,然后我们最终会得到维的参数向量。这明显有太多的参数。
为了建模,因此我们将做一个非常强的假设。我们将假设在给定时是条件独立的。这个假设被称作朴素贝叶斯假设(Naive Bayes(NB)assumption),由此产生的算法被称作朴素贝叶斯分类器(Naive Bayes classifier)。比如,如果意味着垃圾邮件;&buy&是第2087个单词,&price&是第39831个单词;然后我们正在假设的是,如果我告诉你(即一条特定的电子邮件是垃圾邮件),那么的(是否&buy&出现在消息中)知识将不会对你对的值(是否&price&出现)的看法有影响。更正式地,这可以写作。(注意这与和是独立的说法是不同的,和独立将被写作;相反地,我们只假设和在给定时是条件独立的。)
我们现在有:
第一个等式仅是由常见的概率性质推导出来的,第二个等式使用了NB假设。我们要指出的是即使朴素贝叶斯假设是非常强的假设,但由此产生的算法在很多问题上都表现的不错。
我们的模型由参数化。像往常一样,给定一个训练集,我们可以写出数据的联合似然:
关于最大化得到最大似然估计:
在上面的等式中,符号&&意思是&并&。参数有一个非常自然的解释。比如,正好是单词出现的垃圾邮件占垃圾电子邮件()的分数。
拟合好了所有这些参数,为了对一个具有特征的新样例做出预测,我们然后仅仅计算
然后选择具有较高后验概率的类。
最后,我们要注意的是,尽管我们已经形成了主要用于特征是二值问题的朴素贝叶斯算法,但至可以取值的情况是简单的。这里,我们仅仅把建模成多项式分布,而不再是伯努利分布。实际上,即使一些原始的输入属性值(比如,房子的居住面积,正如我们之前的例子)是连续的,但是往往可以离散它&&就是,把它转化成一小组的离散值&&然后应用朴素贝叶斯。例如,如果我们使用某个特征来表示居住面积(living area),我们可以离散这些连续值如下:
因此,对于一个居住面积为890平方英尺的房子,我们设置相应的特征为3。然后我们可以应用朴素贝叶斯算法。然后用一个多项式分布给建模,正如之前描述的一样。当原始的,连续的属性值用一个多元正态分布建模不好时,离散那些特征,然后使用朴素贝叶斯(而不是GDA)往往会得到一个更好的分类器。
2.1 拉普拉斯平滑
朴素贝叶斯算法,正如我们描述的,对于很多问题都工作得相当地好,但有一个简单的改变可以使它工作的更好,尤其对于文本分类。让我们简单的讨论一个使用当前形式算法的问题,然后谈论我们该如何修正这个问题。
考虑垃圾邮件/电子邮件的分类问题,我们假设,在完成了课程CS229且就这个项目做了出色的工作后,你决定大约在2003年6月提交你做的工作到NIPS会议来发表。(NIPS是顶级的机器学习会议之一,而且提交论文的截止时间通常在6月下旬或7月初。) 因为在你的电子邮件中最后讨论了那个会议,所以你也开始得到含有单词&nips&的消息了。但是这是你的第一篇NIPS论文,直到这一次,你之前没有见到过任何含有单词&nips&的电子邮件;特别是&nips&不曾出现在你的垃圾/非垃圾电子邮件训练集中。假定&nips&是词典中的第35000个单词,你的朴素贝叶斯垃圾邮件分类器因此选择参数的最大似然估计为
也就是说,因为之前在垃圾邮件或非垃圾邮件的训练例子中都没有见过&nips&,所以它认为无论在那种邮件中见到这个单词的概率都是0。因此,当试图决定一个包含&nips&的信息是否是垃圾邮件时,它计算类的后验概率,得到
这是因为每一个项包含一个项被乘进去,因此不知道如何做预测。
更广泛的说一下这个问题,因为在有限的训练集中你没有看到某个事件而估计这个事件的概率为0,从统计上这不是一个好主意。考虑一个从取值的服从多项式分布的随机变量的平均数估计问题(这里不是很懂,我理解的是概率估计问题)。我们可以用来参数化我们的多项式分布。给定m个独立的观测值,最大似然估计由
给定。正如我们之前看到的,如果我们使用这些最大似然估计,然后一些可能结果是0,这是一个问题。为了避免这个,我们可以使用拉普拉斯平滑(Laplace smoothing),它使用
来代替上面的估计。这里,我们分子加以,分母加k。要指出的是我们仍然有,这是一个令人满意的特征,因为是对概率的估计,我们知道相加起来必须为1。并且,对于所有的,,这解决了我们概率的估计值为0的问题。在一定(可以说是相当强)的条件下,可以发现,拉普拉斯平滑实际给出了的最佳估计量。
回到我们的朴素贝叶斯分类器,使用拉普拉斯平滑,我们因此得到如下的对参数的估计:
(在实践中,我们是否对应用拉普拉斯平滑通常是没有关系的,因为垃圾邮件和非垃圾邮件的每一种,我们通常会有一个合理的部分(即数量),所以将是一个合理的对的估计,而且距离0相当远。)
想写一写机器学习的翻译来巩固一下自己的知识,同时给需要的朋友们提供参考,鉴于作者水平有限,翻译不对或不恰当的地方,欢迎指正和建议。斯坦福大学公开课机器学习课程(Andrew Ng)五生成学习算法 - 一路前行 - CSDN博客
斯坦福大学公开课机器学习课程(Andrew Ng)五生成学习算法
machine learning
课程概要:
1.生成学习(Generative learning algorithm)
2.高斯判别分析(GDA,Gaussian Discriminant Analysis)
3.GDA与logistic模型的联系
4.朴素贝叶斯(Naive Bayes)
5.拉普拉斯平滑(Laplace smoothing)
一、生成学习算法
两种学习算法的定义
1 判别学习算法:直接学习p(y|x),其中x是某类样例的特征,y是某类样例的分类标记。即给定输入特征,输出所属的类或学习得到一个假设hθ(x),直接输出0或1。通俗的说就是直接对问题求解,比如logistic算法,在解空间中寻找一条直线从而把两种类别的样例分开。
2生成学习算法:& 对p(x|y)(条件概率),p(y)(先验概率)进行建模,p(x|y)表示在给定所属的类的情况下,显示某种特征的概率。
然后根据贝叶斯公式(Bayes rule)推导出y在给定x的概率为:
使得后验概率最大的类别y即是新样例的预测值:
二、高斯判别分析
&&&&&& 高斯判别分析(GDA)算法即为一种生成学习算法。
高斯判别分析的两个假设:
假设输入特征x∈Rn,并且是连续值;p(x|y)是多维正态分布(即高斯分布);
2.1 多维正态分布
&&&&&& 多维正态分布是正态分布在多维变量下的拓展。均值向量(mean vector),协方差矩阵(convariance matrix)(其中n是多维变量的向量长度),写成z~N(μ,∑),
其密度函数为:
其中表示行列式(determinant)。
对于服从多维正态分布的随机变量x,均值由下面的公示得到:
协方差矩阵与协方差函数得到:
Cov(Z)== = ∑&&&&&&&&&&&&&&&&&&&(5)
对于多维高斯分布只要注意上述两个参数即可。
多维高斯分布图像与参数的关系
左图:μ=0,∑=I(单位矩阵)
中图:μ=0,∑=0.6I,图形变陡峭
右图:μ=0,∑=2I,图形变扁平
三图中μ=0,∑如下:
可见增加矩阵对角元素的值,即变量间增加相关性,高斯曲面会沿z1=z2(两个水平轴)方向趋于扁平。其水平面投影图如下:
即增加∑对角线的元素,图形会沿45°角,偏转成一个椭圆形状。
若∑对角线元素为负,图形如下:
∑分别为:
不同μ的图形如下:
μ分别为:
多维高斯分布图像与参数总结:
μ决定分布曲线中心的位置。
协方差∑决定陡峭程度。
&&&& GDA模型针对的是输入特征为连续值时的分类问题。
&&&& 这个模型的额基本假设是目标值y服从伯努利分布,条件概率p(x|y)服从多维正态分布。所以,他们的概率密度为:
所以数据集的极大似然函数的对数如下所示:
对极大似然函数对数最大化,我们就得到了GDA模型的各参数的极大似然估计,即得到了如何使用GDA算法的方法。
各个参数的极大似然估计如下:
结果如图所示:
三、GDA与logistics模型的联系
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就不是很好了.
GDA优点:预测更精确,需要的数据少。缺点:做的假设更强,需要数据服从高斯分布才会有很好的效果。
logistic适用范围更广,鲁棒性好。缺点:需要数据多,如果数据近似服从高斯分布,不如GDA回归的好。
四、朴素贝叶斯
朴素贝叶斯(NB)也是一种学习算法。GDA针对的是特征向量x为连续值时的问题,而朴素贝叶斯则针对的是特征向量x为离散值时的问题。
朴素贝叶斯最常用与文本的分类,例如甄别邮件是否为垃圾邮件。
例子:垃圾邮件分类问题
首先是把一封邮件作为输入特征,与已有的词典进行比对,如果出现了该词,则把向量的xi=1,否则xi=0,例如:
我们要对p(x|y)建模,但是假设我们的词典有50000个词,那么,如果采用多项式建模的方式,会有,明显参数太多了,这个方法是行不通的.
为了对p(x|y)建模,我们做一个很强的假设,假设给定y,xi是条件独立(conditionally independent)的.这个假设成为朴素贝叶斯假设(Naive Bayes assumption).
因此得到下式:
朴素贝叶斯假设在文本分类问题上的解释为文本中出现某词语时不会影响其他词语在文本中出现的频率。
模型中的参数有:
于是,我们就得到了NB方法的极大似然估计函数:
其中n为词典大小,最大化该函数,我们得到参数的极大似然估计:
Φi|y=1的分子为标记为1的邮件(垃圾邮件)中出现词j的邮件数目和,分母为垃圾邮件数,总体意义就是训练集中出现词j的垃圾邮件在垃圾邮件中的比例。
Φi|y=0就是出现词j的非垃圾邮件在非垃圾邮件中的比例。
Φy就是垃圾邮件在所有邮件中的比例。
求出上述参数,就知道了p(x|y)和p(y),用伯努利分布对p(y)建模,用上式中p(xi|y)的乘积对p(x|y)建模,通过贝叶斯公式就可求得p(y|x)
对于新样本,按照如下公式计算其概率:
总结:朴素贝叶斯的总体思想即根据贝叶斯公式,先求条件概率与先验概率,在得出结果。具体在本例中即先分别求出为垃圾邮件时出现某词的频率,和为非垃圾邮件时出现某词的频率以及垃圾邮件的频率,然后根据贝叶斯公式,求出出现某词时为垃圾邮件的频率
朴素贝叶斯的问题:
假设在一封邮件中出现了一个以前邮件从来没有出现的词,在词典的位置是35000,那么得出的最大似然估计为:
也即使说,在训练样本的垃圾邮件和非垃圾邮件中都没有见过的词,模型认为这个词在任何一封邮件出现的概率为0.
假设说这封邮件是垃圾邮件的概率比较高,那么
在统计上来说,在你有限的训练集中没有见过就认为概率是0是不科学的.
五、拉普拉斯平滑
&& 拉普拉斯平滑又称为加1平滑,是比较常用的平滑方法,使用拉普拉斯平滑即可解决上述概率为0的问题。
对于一个随机变量,它的取值范围是{1,2,3...k},m次实验后的观测结果为Z(i),极大似然估计按照下式计算:
即值为j的样本所占比例,对其用Laplace平滑如下式:
比如如果一支球队连胜7场,那他下一场也被击败的概率是多少?如果按照朴素贝叶斯算法,那么它下一场被击败的概率为0(p=0/5+0),这显然是不合理的;按照拉普拉斯平滑,它下场被击败的概率为1/(7+1+0+1)=1/9,这个结果看起来还是挺合理的。如果用拉普拉斯平滑计算太阳明天不会照常升起的概率就是大约1/46亿了。
回到朴素贝叶斯问题,通过laplace平滑:
分子加1,分母加1就把分母为零的问题解决了.
我的热门文章
即使是一小步也想与你分享首先,简单比较一下前几节课讲的判别学习算法(Discriminative Learning Algorithm)和本节课讲的生成学习算法(Generative Learning Algorithm)的区别。
eg:问题:Consider a classification problem in which we want to learn to distinguishbetween elephants (y& =& 1) and dogs (y& =& 0), based on some features ofan animal.&&
判别学习算法:(DLA通过建立输入空间X与输出标注{1, 0}间的映射关系学习得到p(y|x))
Given a training set,& an algorithm like logistic regression or the perceptron algorithm (basically) tries to find a straight line&that is, a decision boundary&that separates the elephants and dogs. Then, to classify a new animal as either an elephant or a dog, it checks on which side of the decision boundary it falls, and makes its prediction accordingly.
生成学习算法:(GLA首先确定p(x|y)和p(y),由贝叶斯准则得到后验分布,通过最大后验准则进行预测,)
First, looking at elephants, we can build a model of what elephants look like.& Then, looking at dogs, we can build a separate model of what dogs look like. Finally, to classify a new animal, we can match the new animal against the elephant model, and match it against the dog model, to see whether the new animal looks more like the elephants or more like the dogs we had seen in the training set.
(ps:先验概率 vs 后验概率
事情还没有发生,要求这件事情发生的可能性的大小,是
事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小,是
生成学习算法
首先,温习一下高斯分布的相关知识:
高斯分布&&&&& Gaussian distribution
高斯分布也就是; 数学期望为, 为的高斯分布通常记为.
标准正态分布&&&&& Standard normal distribution
标准正态分布是指为, 方差为的, 记为. 对于数学期望为, 方差为的正态分布随机变量, 通过下列线性变换可以得到服从标准正态分布的随机变量.
二元正态分布&&& Bivariate normal distribution
二元正态分布[]是指两个服从的随机变量具有的联合概率分布. 二元正态分布的联合概率密度函数为
, , , , 为概率分布的参数. 上述二元正态分布记为.
二元正态分布的为
多元正态分布&&& Multivariate normal distribution
多元正态分布是指多个服从正态分布的随机变量组成的具有的联合概率分布. 为和为的个的多元正态分布的为
服从多元正态分布可以记为.
如果, 并且, 那么.
可以看到,多元正态分布与两个量相关:均值和协方差矩阵。因此,接下来,通过图像观察一下改变这两个量的值,所引起的变化。
& 1、高斯判别分析(GDA,Gaussian Discriminant Analysis):
&&&&&& a、提出假设遵循正态分布:
&&&&&&&&&&&&&&&& In this model, we&ll assume that p(x|y) is distributed according to a multivariate normal distribution(多元正态分布).
&&&&&&& b、分别对征服样本进行拟合,得出相应的模型
最后,比较一下GDA和Logistic回归
GDA&&如果确实符合实际数据,则只需要少量的样本就可以得到较好的模型
Logistic Regression&&Logistic回归模型有更好的鲁棒性
&GDA makes stronger modeling assumptions, and is more data efficient (i.e., requires less training data to learn &well&) when the modeling assumptions are correct or at least approximately correct.
Logistic regression makes weaker assumptions,& and is significantly more robust to deviations from modeling assumptions.
Specifically,& when the data is indeed non-Gaussian, then in the limit of large datasets, logistic regression will almost always do better than GDA. For this reason, in practice logistic regression is used more often than GDA. (Some related considerations about discriminative vs.& generative models also apply for the Naive Bayes algorithm that we discuss next, but the Naive Bayes algorithm is still considered a very good, and is certainly also a very popular, classification algorithm.)
2、朴素贝叶斯(NB,Naive Bayes):
以文本分类为例,基于条件独立的假设。在实际语法上,有些单词之间是存在一定联系的,尽管如此,朴素贝叶斯还是表现出了非常好的性能。
因为独立,所以
得到联合似然函数Joint Likelihood:
得到这些参数的估计值之后,给你一封新的邮件,可以根据贝叶斯公式,计算
(可以参阅我的另一篇实战随笔:)
Laplace smoothing(Laplace 平滑)
当邮件中遇到新词,(0/0)本质是输入样本特征空间维数的提升,旧的模型无法提供有效分类信息。
遇到这种情况时,可以进行平滑处理:(+1)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ==============&
阅读(...) 评论()
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信