1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 机器学习(三)——朴素贝叶斯方法 SVM(1)

机器学习(三)——朴素贝叶斯方法 SVM(1)

时间:2022-02-12 13:33:35

相关推荐

机器学习(三)——朴素贝叶斯方法 SVM(1)

http://antkillerfarm.github.io/

高斯判别分析(续)

将上面三个分布的概率密度函数代入第二节公式7,可求得argmaxyp(y|x),然后进行最大似然估计,可得该GDA的最大似然估计参数为:(过程略)

ϕ=1m∑i=1m1{y(i)=1}μ0=∑mi=11{y(i)=0}x(i)∑mi=11{y(i)=0}μ1=∑mi=11{y(i)=1}x(i)∑mi=11{y(i)=1}Σ=1m∑i=1m(x(i)−μy(i))(x(i)−μy(i))T

上图中的直线就是分界线

p(y=1|x)=0.5。

GDA vs 逻辑回归

p(y=1|x)=p(x|y=1)p(y=1)p(x|y=1)p(y=1)+p(x|y=0)p(y=0)=1Aexp(f(μ0,Σ,x))ϕ1Aexp(f(μ0,Σ,x))ϕ+1Aexp(f(μ1,Σ,x))(1−ϕ)=11+exp(f(μ1,Σ,x))(1−ϕ)exp(f(μ0,Σ,x))ϕ=11+exp(f(μ1,Σ,x)+log(1−ϕ)−f(μ0,Σ,x)−log(ϕ))=11+exp(−θTx)

从上面的变换可以看出,GDA是逻辑回归的特例。

一般来说,GDA的条件比逻辑回归严格。因此,如果模型符合GDA的话,采用GDA方法,收敛速度(指所需训练集的数量)比较快。

而逻辑回归的鲁棒性较好,对于非GDA模型或者模型不够准确的情况,仍能收敛。

互不相容事件、独立事件与条件独立事件

如果P(AB)=0,则事件A、B为互不相容事件。

如果P(AB)=P(A)P(B)或P(A)=P(A|B),则事件A、B为独立事件。

如果P(AB|R)=P(A|R)P(B|R),则事件A、B为条件R下的独立事件。

可见,这三者是完全不同的数学概念,不要搞混了。

朴素贝叶斯方法

这里以文本分析(Text Classification)为例,讲解一下朴素贝叶斯(Naive Bayes)方法。

文本分析的一个常用方法是根据词典建立特征向量x。x中的每个元素代表词典里的一个单词,如果该单词在文本中出现,则对应的元素值为1,否则为0。

这里假设我们的目标是通过文本分析,判别一个email是否是垃圾邮件。y=1表示是垃圾邮件,y=0表示不是垃圾邮件。显然,在这里一封邮件就是一个样本集。

相比之前的应用领域,文本分析的特殊之处在于词典中的单词数量十分庞大,从而导致x的维数巨大(比如50000个单词,就是50000维),以至于之前的方法,根本无法计算。

为了简化问题,我们假设p(xi|y)是条件独立的。这个假设被称为朴素贝叶斯假设(Naive Bayes (NB) assumption)。使用这个假设的算法被称为朴素贝叶斯分类器(Naive Bayes classifier)。

从数学角度,NB假设是个很严格的条件,但是实际使用中,即使样本集不满足NB假设,使用NB方法的效果一般还是不错的。

p(x1,…,x50000|y)=p(x1|y)p(x2|y,x1)p(x3|y,x1,x2)⋯p(x50000|y,x1,…,x49999)(条件概率的乘法公式)=p(x1|y)p(x2|y)p(x3|y)⋯p(x50000|y)(NB假设)=∏i=1np(xi|y)

因此:

p(y=1|x)=p(x|y=1)p(y=1)p(x)=(∏ni=1p(xi|y=1))p(y=1)(∏ni=1p(xi|y=1))p(y=1)+(∏ni=1p(xi|y=0))p(y=0)(1)

最大似然估计值为:

ϕj|y=1=p(xj=1|y=1)=∑mi=11{x(i)j=1∧y(i)=1}∑mi=11{y(i)=1}ϕj|y=0=p(xj=1|y=0)=∑mi=11{x(i)j=1∧y(i)=0}∑mi=11{y(i)=0}ϕy=p(y=1)=∑mi=11{y(i)=1}m

NB算法还可以扩展到y有多个取值的情况。对于y为连续函数的情况,可以采用区间离散化操作,将之离散化为多个离散值。

拉普拉斯平滑

对于样本集中未出现的单词,在其首次出现时,由于先验概率p(xi|y=1)=0,p(xi|y=0)=0,这时公式1会出现00的情况。

为了避免这种情况,我们假定先验概率至少为1次,也就是

ϕj=p(y=j)=∑mi=11{y(i)=j}+1m+k

这种方法叫做拉普拉斯平滑(Laplace Smoothing)。注意这里ϕ的定义和上面略有不同,上面的公式中,y是二值分布,而这里是多值分布(值为k)。为了满足概率和为1的条件,分母上需要加k。

文本分类的事件模型

文本分类的事件模型有两类:

1.多值伯努利事件模型(multi-variate Bernoulli event model)。

在这个模型中,我们首先随机选定了邮件的类型(垃圾或者普通邮件,也就是p(y)),然后翻阅词典,随机决定一个词是否要在邮件中出现,出现则xi标示为1,否则标示为0。然后将出现的词,组成一封邮件。一个词是否出现的概率为p(xi|y),整封邮件的概率为p(y)∏ni=1p(xi|y)。

2.多项事件模型(multinomial event model)。

令xi表示邮件的第i个词在字典中的位置,那么xi的取值范围为1,2,...∣V∣,∣V∣表示字典中单词的数目。这样一封邮件可以表示成(x1,x2,…,xn),这里n为邮件包含的单词个数,显然每个邮件的n值一般是不同的。

这相当于重复投掷∣V∣面的骰子,将观察值记录下来就形成了一封邮件。每个面的概率服从p(xi|y),而且每次试验条件独立。这样我们得到的邮件概率是p(y)∏ni=1p(xi|y)。

需要注意的是,上面两个事件模型的概率公式虽然一致,但含义却有很大差异,不要弄混了。

支持向量机

支持向量机(SVM,Support Vector Machines)是目前最好的监督学习算法。它由Vladimir Naumovich Vapnik与Alexey Ya. Chervonenkis于1963年提出。

注:Vladimir Naumovich Vapnik,1936年生,乌兹别克国立大学学士,莫斯科控制科学学院博士,后成为该学院计算机科学研究部门负责人。1990年代末移民美国,先后供职于AT&T Bell、NEC、Facebook,伦敦大学和哥伦比亚大学教授。

Alexey Yakovlevich Chervonenkis,1938~,俄罗斯数学家。俄罗斯科学院院士,伦敦大学教授。

我们首先来看一幅图:

上图中的x和o分别代表y的两种不同取值(1和0)。前面提到逻辑回归的预测函数为hθ(x)=g(θTx),那么图中直线的解析方程就是θTx=0。这条直线被称作分割超平面(Separating Hyperplane),也就是预测值的分界线。

图中的三个点A、B、C,虽然都在线的上方,然而从直觉来说,A离分界线最远,我们对它的值为1的信心也最足。反观C点,由于离分界线比较近,我们对其值的预测,实际上并没有多大把握。因为这种情况下,样本集的少许调整,就会导致分界线的移动,从而导致预测值的改变。B点的情况介于A和C之间。

和逻辑回归不同,SVM更关心靠近分界线的点,让他们尽可能地远离分界线,而不是在所有点上都达到最优。

为了便于后续讨论,我们对hθ(x)进行改写:hw,b(x)=g(wTx+b)。其中b为常数项,即x0的系数项,w为其余的xi的系数项。

同时对g(z)的定义也调整为:

g(z)={1,−1,z≥0z<0

这个定义的好处在于g(z)的取值,只和z的符号相关,而和其绝对值的大小无关。

函数边距和几何边距

为了定义样本点和边界线的距离,我们引入函数边距(functional margin)和几何边距(geometric margins)的定义。

函数边距的定义如下:

γ^=mini=1,…,mγ^(i),γ^(i)=y(i)(wTx(i)+b)

几何边距的几何意义如上图所示。w是分界线的法向量,A的坐标是x(i),它到分界线的距离是γ(i),根据解析几何知识可知,A到分界线的垂足B的坐标为x(i)−γ(i)w∥w∥。将其代入分界线方程wTx+b=0,可得:

wT(x(i)−γ(i)w∥w∥)+b=0⇒wTx(i)−γ(i)wTw∥w∥+b=0⇒wTx(i)+b=γ(i)∥w∥2∥w∥⇒γ(i)=wTx(i)+b∥w∥=(w∥w∥)Tx(i)+b∥w∥

正是A在边界线上方时的情况,扩展到整个坐标系的话,上式可改为:

γ(i)=y(i)⎛⎝(w∥w∥)Tx(i)+b∥w∥⎞⎠

同理,可得几何边距的定义为:

γ=mini=1,…,mγ(i)

从函数边距和几何边距的定义可以看出,如果等比例缩放w和b的话,其几何边距不变,且当∥w∥=1时,函数边距和几何边距相等。

最优边距分类

SVM算法的本质,就是求能使几何边距最大的w和b的取值,用数学语言描述就是求解问题:

maxγ,w,bs.t.γy(i)(wTx(i)+b)≥γ,i=1,…,m∥w∥=1

注:上式中的s.t.是subject to的缩写,表示极值问题的约束条件。

这个问题等价于:

maxγ,w,bs.t.γ^∥w∥y(i)(wTx(i)+b)≥γ^,i=1,…,m

如果能通过比例变换使γ^=1,则问题化解为:

minγ,w,bs.t.12∥w∥2y(i)(wTx(i)+b)≥1,i=1,…,m

这个问题实际上就是数学上的QP(Quadratic Programming)问题,采用这种方案的分类被称为最优边距分类(optimal margin classifier)。

拉格朗日对偶

QP问题是有约束条件的优化问题(constrained optimization problem)的一种,下面让我们讨论一下解决这类问题的通用方法。

假设我们求解如下问题:

minws.t.f(w)gi(w)≤0,i=1,…,khi(w)=0,i=1,…,l

这里将约束条件分为两类:

1.hi(w)=0代表的是约束条件为等式的情况。

2.gi(w)≤0代表的是约束条件为不等式的情况。

上述约束优化问题也被称为原始优化问题(primal optimization problem)。为了求解这个问题,我们定义广义拉格朗日(generalized Lagrangian)函数:

L(w,α,β)=f(w)+∑i=1kαigi(w)+∑i=1lβihi(w)

利用这个函数可以将约束优化问题转化为无约束优化问题。其中的αi、βi也被称作拉格朗日乘子(Lagrange multiplier)。

θP(w)=maxα,β:αi≥0L(w,α,β)=maxα,β:αi≥0f(w)+∑i=1kαigi(w)+∑i=1lβihi(w)

其中,P代表原始优化问题,maxα,β:αi≥0表示在α,β变化,而其他变量不变的情况下,求最大值。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。