网站大量收购独家精品文档,联系QQ:2885784924

()支持向量机SVM(下)-大数据文档资料.docx

()支持向量机SVM(下)-大数据文档资料.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

支持向量机SVM(下)

JerryLead

csxulijie@

2011年3月17日星期四

7核函数(Kernels)

考虑我们最初在“线性回归”中提出的问题,特征是房子的面积x,这里的x是实数,结果y是房子的价格。假设我们从样本点的分布中看到x和y符合3次曲线,那么我们希望使用x的三次多项式来逼近这些样本点。那么首先需要将特征x扩展到三维(x,x2,x3),然后寻找特征和结果之间的模型。我们将这种特征变换称作特征映射(featuremapping)。映射函数称作?,在这个例子中

我们希望将得到的特征映射后的特征应用于SVM分类,而不是最初的特征。这样,我们需要将前面WTx+b公式中的内积从x(i),x,映射到φ(x(i)),φ(x)。

至于为什么需要映射后的特征而不是最初的特征来参与计算,上面提到的(为了更好地拟合)是其中一个原因,另外的一个重要原因是样例可能存在线性不可分的情况,而将特征映射到高维空间后,往往就可分了。(在《数据挖掘导论》Pang-NingTan等人著的《支持向量机》那一章有个很好的例子说明)

将核函数形式化定义,如果原始特征内积是x,z,映射后为φ(x),φ(z),那么定义核函数(Kernel)为

K(x,z)=φ(x)Tφ(z)

到这里,我们可以得出结论,如果要实现该节开头的效果,只需先计算φ(x),然后计算φ(x)Tφ(z)即可,然而这种计算方式是非常低效的。比如最初的特征是n维的,我们将其映射到n2维,然后再计算,这样需要O(n2)的时间。那么我们能不能想办法减少计算时间呢?

先看一个例子,假设x和z都是n维的,

K(x,z)=(xTz)2展开后,得

nn

i=1j=1

这个时候发现我们可以只计算原始特征x和z内积的平方(时间复杂度是O(n)),就等价与计算映射后特征的内积。也就是说我们不需要花O(n2)时间了。

现在看一下映射函数(n=3时),根据上面的公式,得到

也就是说核函数k(x,z)=(xTz)2只能在选择这样的?作为映射函数时才能够等价于映射后特征的内积。

再看一个核函数

对应的映射函数(n=3时)是

更一般地,核函数k(x,z)=(xTz+c)d对应的映射后特征维度为(nd)。(这个我一直

没有理解)。

由于计算的是内积,我们可以想到IR中的余弦相似度,如果x和z向量夹角越小,那么核函数值越大,反之,越小。因此,核函数值是φ(x)和φ(z)的相似度。

再看另外一个核函数

这时,如果x和z很相近(IIx一zII≈0),那么核函数值为1,如果x和z相差很大(IIx一zII0),那么核函数值约等于0。由于这个函数类似于高斯分布,因此称为高斯核函数,也叫做径向基函数(RadialBasisFunction简称RBF)。它能够把原始特征映射到无穷维。

既然高斯核函数能够比较x和z的相似度,并映射到0到1,回想logistic回归,sigmoid函数可以,因此还有sigmoid核函数等等。

下面有张图说明在低维线性不可分时,映射到高维后就可分了,使用高斯核函数。

来自EricXing的slides

注意,使用核函数后,怎么分类新来的样本呢?线性的时候我们使用SVM学习出w和b,新来样本x的话,我们使用WTx+b来判断,如果值大于等于1,那么是正类,小于等于是负类。在两者之间,认为无法确定。如果使用了核函数后,WTx+b就变成了WTφ(x)+b,是否先要找到φ(x),然后再预测?答案肯定不是了,找φ(x)很麻烦,回想我们之前说过的

只需将x(i),x替换成k(x(i),x),然后值的判断同上。

8核函数有效性判定

问题:给定一个函数K,我们能否使用K来替代计算φ(x)Tφ(z),也就说,是否能够找出一个φ,使得对于所有的x和z,都有k(x,z)=φ(x)Tφ(z)?

比如给出了k(x,z)=(xTz)2,是否能够认为K是一个有效的核函数。

下面来解决这个问题,给定m个训练样本{x(1),x(2),…,x(m)},每一个x(i)对应一个特征向量。那么,我们可以将任意两个x(i)和x(j)带入K中,计算得到kij=k(x(i),x(j))。I可以从1到m,j可以从1到m,这样可以计算出m*m的核函数矩阵(Kernel

您可能关注的文档

文档评论(0)

分享吧 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档