机器学习(十八) - SVMs - Kernels

本文介绍了支持向量机(SVM)作为非线性分类器的应用,重点讲述了如何通过引入核函数(kernel)来处理非线性分类问题。文章详细解释了核函数的概念、作用及其在特征映射中的应用,并给出了具体的高斯核函数实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kernels

上一篇,我们讨论的都是在进行线性分类的情况,接下来当然需要讨论SVMs作为非线性分类器的情况,完成非线性分类的核心思想就是引入所谓核函数的一个东西。
如下图,我们现在要对这样一个数据集进行分类,我们能想到的一种方法就是利用高次项来进行拟合,但是在处理复杂的问题的时候,高次项会大大增加我们的运算负荷,于是就想能不能选择别的更好的特征呢。答案当然是肯定的,也就是kernel。
这里写图片描述

接下来我们要讲解什么是核函数,它是如何帮我引入新的特征变量的。同样的,为了直观我们假设只有 x1,x2x_1, x_2x1,x2。现在我们人为地在平面上选取一些点作为landmark(这里假设选3个),分别为 l(1),l(2),l(3)l^{(1)}, l^{(2)}, l^{(3)}l(1),l(2),l(3)
然后我们定义新的特征为某个相似函数
fi=similarity(x,l(i))=exp⁡(−∥x−l(i)∥22σ2)f_i = \text{similarity} (x,l^{(i)}) = \exp(-\frac{\Vert x-l^{(i)} \Vert ^2}{2\sigma^2})fi=similarity(x,l(i))=exp(2σ2xl(i)2)
这个所谓的相似函数就是定义某个点与我们选取的landmark的接近(相似)程度,同时这个也就是我们的kernel(核函数)。核函数有很多种,我们所举例中用的是高斯核函数。
这里写图片描述
对于高斯分布,如果某个点离我们的landmark越近,它对应的核函数的值就越接近于1,如果离的越远,就越接近于0。
下面给出一些例子就更加清楚了,对于二维的情况,每个kernel都是一个跟landmark和所选取的 σ\sigmaσ 有关的二维高斯分布。
列表内容

核函数的形式我们有了,问题是landmark应该如何选取呢,面对复杂的问题,人为地选取landmark,显然是不太现实的。于是一个即简单又合理的方法就是选取我们训练集所有的点作为landmark,有多少个点就有多少个landmark。
这里写图片描述
通过核函数(本质上一种映射),我们将 x(i)∈Rn+1x^{(i)} \in \Bbb{R}^{n+1}x(i)Rn+1 映射到 f(i)∈Rm+1f^{(i)} \in \Bbb{R}^{m+1}f(i)Rm+1,现在特征量有了,训练集也有了,接下来就要训练模型拟合 θ\thetaθ 了。相比于上一篇的目标函数,由于加入了kernel,我们进行了一些修改如下。
这里写图片描述
对于目标函数的后一项可以表示为 θTθ\theta^T \thetaθTθ ,这里的 θ\thetaθ 我们忽略 θ0\theta_0θ0。在实际运用当中,我们的后一项其实是使用 θTMθ\theta^TM\thetaθTMθ,这个 MMM 矩阵跟我们的kernel有关,不仔细讲解它的构成,只说明加入这个矩阵的原因,由于我们将我们训练集的所有样本都用作为了landmark,可想而知,如果我们的样本数量很大,那么 θTθ\theta^T \thetaθTθ 的运算量是非常大的,而这个矩阵的引入能够大大的减少运算时间。

最后我们讲一讲关于参数 C,σC, \sigmaC,σ 的选取对于模型的影响。
这里写图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值