支持向量机(SVM)第二章----核函数

参考周老师的《机器学习》

在SVM第一章中,我们假设训练样本是线性可分的。当训练样本不能线性可分时,又该怎么办呢?别怕,核函数来啦。
下面这张图片左边是原始训练样本空间,通过将样本映射到一个三维空间后,我们发现可以找到一个超平面将他们正确分开,也就是说线性可分。因此,找到这样的一个高维映射成为关键的一环。


这里写图片描述

周老师的书里提到:如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本线性可分。

现在,我们先假设我们找到了这样的高维空间,把 x x 映射到ϕ(x)。那么在高维空间里进行的方法和我们第一章一模一样。

原始问题是:
min12||w||2 min 1 2 | | w | | 2
s.t.yi(wTϕ(xi)+b)1,i=1,2,...,n s . t . y i ( w T ϕ ( x i ) + b ) ≥ 1 , i = 1 , 2 , . . . , n

对偶问题是:
maxni=1αi12ni=1nj=1αiαjyiyjϕ(xi)Tϕ(xj) max ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ϕ ( x i ) T ϕ ( x j )
s.t.αi0,i=1,2,...,n s . t . α i ≥ 0 , i = 1 , 2 , . . . , n
ni=1αiyi=0 ∑ i = 1 n α i y i = 0

因此如何计算 ϕ(xi)Tϕ(xj) ϕ ( x i ) T ϕ ( x j ) 成为关键性问题。上面我们提到:如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本线性可分。而这个高维特征空间维数可能很高,甚至是无限维,因此直接计算高维空间里的内积很困难。那我们另辟蹊径—-核函数来了!

核函数:
k(xi,xj)=ϕ(xi)Tϕ(xj) k ( x i , x j ) = ϕ ( x i ) T ϕ ( x j )

因此将上面的对偶问题重写为:
maxni=1αi12ni=1nj=1αiαjyiyjk(xi,xj) max ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j k ( x i , x j )
s.t.αi0,i=1,2,...,n s . t . α i ≥ 0 , i = 1 , 2 , . . . , n
ni=1αiyi=0 ∑ i = 1 n α i y i = 0

最终模型是:
f(x)=wTϕ(x)+b=ni=1αiyiϕ(xi)Tϕ(x)+b=ni=1αiyik(xi,x)+b f ( x ) = w T ϕ ( x ) + b = ∑ i = 1 n α i y i ϕ ( x i ) T ϕ ( x ) + b = ∑ i = 1 n α i y i k ( x i , x ) + b

什么样的函数可以做核函数呢?
Mercer定理:一个对称函数所对应的核矩阵半正定,它就可以作为核函数。
任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间RKHS”的特征空间。

注意:前面我们提到,如果原始空间是有限维,那么一定存在一个高维特征空间使样本可分。但是我们并不知道这个高维空间是什么,我们又知道一个核函数对应了一个特征空间,因此核函数的选择十分重要,如果核函数选的不合适,意味着无法在高维空间里线性可分。

核函数选择成为SVM的最大变数。

我们列出几种常用的核函数:

  1. 线性核 k(xi,xj)=xTixj k ( x i , x j ) = x i T x j
  2. 多项式核 k(xi,xj)=(xTixj)d k ( x i , x j ) = ( x i T x j ) d ,其中 d1 d ≥ 1 为 多 项 式 的 次 数
  3. 高斯核(亦称RBF核) k(xi,xj)=exp(||xixj||22σ2) k ( x i , x j ) = e x p ( − | | x i − x j | | 2 2 σ 2 ) , σ>0 σ > 0 为 高 斯 核 的 带 宽
  4. 拉普拉斯核 k(xi,xj)=exp(||xixj||σ) k ( x i , x j ) = e x p ( − | | x i − x j | | σ ) , σ>0 σ > 0
  5. Sigmoid核 k(xi,xj)=tanh(βxTixj+θ) k ( x i , x j ) = t a n h ( β x i T x j + θ ) , tanh t a n h 为双曲正切函数, β>0,θ<0 β > 0 , θ < 0

此外,还可以通过函数组合得到:

  • k1 k 1 k2 k 2 为核函数,对于任意正数 γ1,γ2 γ 1 , γ 2 ,其线性组合 γ1k1+γ2k2 γ 1 k 1 + γ 2 k 2 也是核函数
  • k1 k 1 k2 k 2 为核函数, k1(x,z)k2(x,z) k 1 ( x , z ) k 2 ( x , z ) 也为核函数
  • k1 k 1 为核函数,对于任意函数 g(x) g ( x ) , g(x)k1(x,z)g(z) g ( x ) k 1 ( x , z ) g ( z ) 也为核函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值