6 Support vector machine(1)

本学习笔记参考自Andrew的机器学习课程(点此打开), 内容来自视频以及其讲义, 部分内容引用网友的学习笔记,会特别注明


本集内容


1.事件模型
2.神经网络简单介绍
3.支持向量机(上)


事件模型



多值伯努利事件模型


在前面介绍的一个垃圾邮件分类的例子中,输入特征的分向量要么取0或1,即p(x|y)中的x是服从伯努利分布的,这样的朴素贝叶斯算法叫多值伯努利事件模型

多项式事件模型


上面的垃圾邮件分类器的特征并没有完全描述邮件的性质,比如单词出现的次数,下面会改造一下。一般的,输入特征的分向量可能取值为1,2,3..k种,就不能用上面的处理方式了,这里对垃圾邮件分类器重新改变一下,来处理这种并非二元取值的情况,相应的模型叫做多项式事件模型,就是p(x|y)中的x服从多项式分布。输入特征重新如下输入特征如下:

 (x 1 ,x 2 ,.x i..,x n )

 i表示邮件中第i个单词,自然的n就是最后一个单词,也就是邮件的长度了,所以输入特征向量的维度根据样本而变化。其中x i的取值为1,2,3...|V|,|V|是词典的大小,不再是原来的0或1了,xi相当于单词在词典中的索引。这个输入特征的直观理解就是把邮件内容的每个单词用词典中的序号替代了。根据朴素贝叶斯算法以及前面介绍过的多项式分布,可以得到该模型的参数如下:
1. φ y = p(y)
2. φ i|y=1 = p(x j = i|y = 1)
3. φ i|y=0 = p(x j = i|y = 0)

为了获得参数,同样的最大化参数的似然性


从中可以看到,每个参数的意义很清楚,比如φ k|y=1 就表示在所有样本的垃圾邮件里面,词典序号为k的单词出现的次数除以所有垃圾邮件的单词数目,也即词典序号为k的单词所占比例。

这里举一个例子,例子内容来自一个JerryLead的学习笔记,很详细,这里引用一下

假如新来一封邮件为 b,c 那么特征表示为{2,3}。要对它进行预测:


当然这个模型可以用Laplace平滑处理,得到如下:




神经网络简单介绍


这里简单的介绍了一下神经网络,目的还是引出支持向量机。从逻辑回归开始,该模型实现分类是线性的,也就是能够用一条直线去分隔两个类别,如图:

但是如果训练样本是这样的:


线性分类器就没有办法处理了,神经网络可以处理非线性分类问题,神经网络的基本单位可以表示如下:


该图可以等效的表达为逻辑回归,只要令其中的H(θTX)为逻辑回归函数即可,当有许多这样的单元组成时,那么这个网络就可以处理非线性分类问题了,最后可以用最小平方的方式更新参数,不过与逻辑回归不同的是,神经网络中并不是很容易达到全局最优值,很可能运用最小平方所得的结果是一个局部最优值





支持向量机(SVM 上)



两种间隔(Margins)的直观理解


为了介绍函数间隔和几何间隔的概念,先对两种间隔直观的进行介绍。从逻辑回归举例,从逻辑函数中可以看到

当 h θ (x) ≥ 0.5 即  θ T x ≥ 0 时 我们认为 y = 1,否则 y = 0
更加的,当 θ T x 远大于 0时,我们更有把我确定 y = 1,当 θ T x 远小于0时,我们更加有把握确定 y = 0。如果对于对训练集中的样本,我们都能够得到θ T x远大于0或者远小于0,那么该模型将表现的更好,因为我们可以预测的更有把握,在下面要介绍的函数间隔就回达到这样的目标。另外几何间隔的一种直观介绍如图:

当距离分隔线越远的点,我们更有把握预测它属于哪一类,所以如果能尽可能使离分隔线近的点都远离分割线,模型将表现的更好,这个目标通过要介绍的几何间隔来实现。


一些新的符号


和原来不一样,需要定义一些新的符号,现在假设 y ∈ {−1,1} ,原来的逻辑函数变为:

其中w T x + b 是把原来的θ T x中的θ0单独区分出来,即b,这样x式子中的x就不包含x0了。另外这个函数当w T x + b>=0,则输出为1,否则输出为-1,有点类似感知器学习规则的定义,不再和逻辑回归一样得到的输出的是y=1的概率。


函数间隔和几何间隔


函数间隔的形式定义如下:

我们可以看到如果y = 1的话,w T x + b越大于0越好,这样我们更确信,此时整个式子也就越大。如果y = -1,w T x + b越小越好,即负的越大越好,这样我们对负例更有确信,这个时候式子的值还是越大越好,所以无论是针对正例还是负例,整个式子越大越好,也就是函数间隔代表着特征的输出是正例还是负例的确信度。但是如果光是直接增大w,b,函数间隔可以无穷大,这样并没有达到效果。所以必须对w,b进行约束限制,比如用||w|| = 1。注意这里||w|| 代表着w向量的长度,有时候会看到||w||2也是表示向量的模,更一般的表示:

当p = 2时,结果就是向量的模。上面是针对某一个样本定义的函数间隔,对整个训练集来说,函数间隔定义为其中最小的:

再来看几何间隔,用下图来介绍


其中的γ (i)表示样本训练点A( x (i),y (i))到超平面的距离,几何间隔也是指这个距离,现在需要求出这个距离。在上面的介绍中,很容易知道该平面的方程是w T x + b = 0,这里的w表示该超平面的法向量,可以这样去理解,以前学习过给定一个平面方程比如:Ax + By +Cz = 0的法向量是(A, B,C),那么这里w T x + b = 0将wx展开后,得到w1x1+w2x2+w3x3...这里的x1,x2,x3就相当于x,y,z,只要顺序将前面的系数挨着写下来即(w1, w2,w3,w4...)T 则是该平面的法向量,即w。该法向量的单位向量即w/||w||。那么向量BA就等于γ (i)w/||w||。所以B点可以表示为: x (i) − γ (i) · w/||w||,B点在超平面上面,带入w T x + b = 0,得到:


注意上面只是针对正样本来推导的,如果是负样本,最开始推导的法向量应该朝另一边,我们用如下统一:


可以看到如果||w|| = 1, 则和函数间隔是一样的它们的关系是几何间隔 = 函数间隔/||w||,并且几何间隔是不会随w,b加倍而变化,可以这样理解,使w,b变换任意相同倍数,并不会使超平面wTx + b = 0有任何变换。另外这是针对某一个样本而言的几何间隔,针对整个训练集,如下定义几何间隔:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值