支持向量机SVM(4)——核函数

支持向量机SVM——核函数

接前面所讲博客,我们知道了当数据理想线性可分的话我们可以用硬间隔的方式解决,即使出现了噪声,软间隔依旧能够处理,但是这些的前提都是数据是线性可分的,但是在现实任务中,原始样本空间可能并不是线性可分的。
对于这类非线性分类问题的一种解决方法是:首先使用一个变换将原始空间中的数据映射到新空间;然后在新空间里用线性分类学习方法学习分类模型。这也是核函数的做法。

首先回顾一下我们的优化问题:
{maxλ  (−12∑i=1N∑j=1NλiλjyiyjxiTxj+∑i=1Nλi)s.t.0≤λi≤C∑i=1Nλiyi=0 \begin{cases}max_{\lambda}\;(-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\lambda_i\lambda_jy_iy_jx^T_ix_j+\sum_{i=1}^N\lambda_i)\\ s.t. \quad 0\leq\lambda_i\leq C\\\qquad\sum_{i=1}^N\lambda_iy_i=0\end{cases}maxλ(21i=1Nj=1NλiλjyiyjxiTxj+i=1Nλi)s.t.0λiCi=1Nλiyi=0
ϕ(x)\phi(x)ϕ(x)表示找到的一种变换(映射),于是我们的问题可以写成:
maxλ  (−12∑i=1N∑j=1Nλiλjyiyjϕ(xi)Tϕ(xj)+∑i=1Nλi)max_{\lambda}\;(-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\lambda_i\lambda_jy_iy_j\phi(x_i)^T\phi(x_j)+\sum_{i=1}^N\lambda_i)maxλ(21i=1Nj=1Nλiλjyiyjϕ(xi)Tϕ(xj)+i=1Nλi)
因为xi,xjx_i,x_jxixj映射后的样本空间维数可能很高,甚至可能是无穷维,因此直接计算ϕ(xi)Tϕ(xj)\phi(x_i)^T\phi(x_j)ϕ(xi)Tϕ(xj)通常是困难的。为了解决这个问题,我们可以先设:
k(xi,xj)=ϕ(xi)Tϕ(xj)k(x_i,x_j)=\phi(x_i)^T\phi(x_j)k(xi,xj)=ϕ(xi)Tϕ(xj)
即我们希望把映射后的特征空间的内积ϕ(xi)Tϕ(xj)\phi(x_i)^T\phi(x_j)ϕ(xi)Tϕ(xj)转换为在原始样本空间中通过函数k(xi,xj)k(x_i,x_j)k(xi,xj)来计算,相当于达到了降维计算的目的。并且k(xi,xj)k(x_i,x_j)k(xi,xj)也称为核函数(kernel function)。

常见的核函数如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值