深入浅出ML之Kernel-Based家族

本文转自:http://www.52caml.com/head_first_ml/ml-chapter4-kernel-based-family/

写在前面

机器学习中有这样一个结论:低维空间线性不可分的数据通过非线性映射到高维特征空间则可能线性可分。极端地,假设数据集中有m个样本,一定可以在m−1维空间中线性可分。

每一个样本在特征空间中对应一个点,试想一下,2个点可以用一维空间分开;3个点可以在2维空间(平面)上线性可分;… ;m个点,可以在m−1维空间中线性可分。

高维空间可以让样本线性可分,这固然是优点。但是如果直接采用非线性映射技术在高维空间进行一个学习任务(如分类或回归),则需要确定非线性映射函数的形式和参数、高维特征空间维数等问题;而最大的问题在于在高维特征空间运算时可能存在的“维数灾难“。

本章要介绍的核函数方法可以有效地解决这类问题。这里先给出核函数工作的基本思路:
在这里插入图片描述
从上式可以看出,核函数将n维高维特征空间的内积计算转化为k维低维输入空间的核函数计算,巧妙地解决了在高维特征空间中计算可能出现的“维数灾难”等问题。从而为高维特征空间解决复杂的学习问题奠定了理论基础。

本章的安排是这样。首先介绍一些对偶优化问题的基本形式,引出核函数并且为后面的SVM做铺垫;然后给出核函数的发展、常用的核函数等方法;最后详细介绍核函数在分类方法中的经典应用-支持向量机。

对偶优化问题

我们都知道,机器学习模型参数学习过程,大多要通过《最优化算法》中的一些方法来求解。其中,带约束条件的最优化问题(极值求解问题)一般是引入拉格朗日乘子法,构建拉格朗日对偶函数,通过求其对偶函数的解,从而得到原始问题的最优解。

其实不仅是带约束的最优化问题,任何一个最优化问题都伴随着一个”影子”最优化问题。其中一个称为原始问题,另一个称为对偶问题。

这里,先以回归模型的目标函数为例,给出其对偶形式;然后在简要描述带约束的最优化问题求解的一般思路,引出核函数。

无约束优化问题的对偶形式

回归模型的目标函数:
在这里插入图片描述
在这里插入图片描述
公式(ml.1.4.4)是一个表示任意两个样本之间关系的函数。后面会提到,每一个玉树值可通过定义核函数来计算。

约束优化问题求解一般思路

拉格朗日乘子(Lagrange Multiplier)
拉格朗日乘子法通常用于求解带等式约束的极值问题,一个典型的最优化问题形式化表示如下:
在这里插入图片描述
在这里插入图片描述
为什么引入拉格朗日乘子就可以求解出极值?

主要原因是f(w)的切线方向(dw变化方向)受其它等式的约束,dw的变化方向与f(w)的梯度方向垂直时才能获得极值。并且在极值点处,f(w)的梯度与其它等式梯度的线性组合平行。因此它们之间存在线性关系。具体可参考《最优化算法》系列。

拉格朗日对偶(Lagrange Duality)

对于带有不等式约束的极值问题,形式化表示如下:
在这里插入图片描述
定义拉格朗日公式:
在这里插入图片描述
公式(n.ml.1.4.6)中的αi和βi都是拉格朗日乘子。但如果按照该公式求解会出现以下问题。
在这里插入图片描述
首先面对两个参数α、β,并且参数αi也是一个不等式约束;然后再在w上求极小值。这个过程不容易做,可否有相对容易的解法呢?
在这里插入图片描述

核方法

在机器学习中,核方法被形式化为特征空间的向量内积。又被称为核技巧(kernel trick),或核置换(kernel substitution)。

核函数介绍

早在机器学习学科成立之前,核函数相关理论、核函数技术以及核函数的有效性定理就已经存在。1964年Aizerman等人把势函数(potential function)相关研究引入到模式识别领域。中间过去很多年,直到1992年Boser等人在研究机器学习中最大间隔分类器中再次将核函数引入进来,产生了支持向量机技术。从这开始,核函数在机器学习的理论和应用得到了更多地关注和极大的兴趣。

例如,Scholkopf等人将核函数应用到主成分分析PCA中产生了核主元分析法(kernel PCA),Mika等人将核函数引入到Fisher判别中产生了核Fisher判别分析(kernel Fisher discriminant)等等。这些技术在机器学习、模式识别等不同领域中起到了很重要的作用。

核函数有效性Mercer定理可追溯至1909年。

核函数引入

Andrew Ng男神在《机器学习》课程第一讲的线性回归中提到例子,用回归模型拟合房屋面积(x表示)与价格(y表示)之间的关系。示例中的回归模型用y=w0+w1x方程拟合。假设从样本的分布中可以看到x与y符合3次曲线关系,那么我们希望使用x的3次多项式来逼近这些样本点。
在这里插入图片描述
我们希望将映射后的特征应用于后面要介绍的SVM分类中,而不直接用原始特征(Raw Feature)。

为什么要用映射后的特征,而不是原始特征来计算呢?

为了更好的拟合数据是其中一个原因。另外一个重要原因是本章写在前面提到的:样本可能存在在低维空间线性不可分的情况,而将其映射到高维空间中往往就可分。

核函数方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上式称为Sigmoid核函数(sigmoidal kenel)。Sigmoid核多用于多层感知机神经网络,隐含层节点数目、隐含节点对输入节点的权值都是在训练过程中自动确定。

注意:sigmoid核对应的核函数矩阵不是正定的。之所以仍作为kernel的一种是因为给了kernel在实际应用中更多的扩展,包括在svm、神经网络等方法中的应用。

核函数有效性判定

问题:
在这里插入图片描述
Mercer定理

在介绍Mercer定理之前,我们先解决上面的问题:
在这里插入图片描述
可见,核函数矩阵K应该是个对称阵。下面的公式推导会给出更明确的结论。

在这里插入图片描述
如此,我们可以得出核函数的必要条件是:

K是有效的核函数 ⟹ 核函数矩阵K半正定。

比较幸运的是,这个条件也是充分的。具体由Mercer定理来表达:

Mercer定理:
在这里插入图片描述
Mercer定理可以说明:为了证明K是有效的核函数,我们不用直接去寻找ϕ,只需要在训练集上求出各个Kij,然后判定矩阵K是否是半正定即可。

注:使用矩阵左上角主子式 ≥0等方法可判定矩阵是否是半正定的。

当然,Mercer定理证明过程中可以通过L2范数和再生希尔伯特空间等概念,但在n维情况下,这里给出的证明是等价的。

Kernel方法不仅用在SVM上,只要在模型的计算过程中出现⟨x,z⟩,我们都可以使用K(x,z)去替换,通过特征空间变换解决本章开头所提到的特征映射问题。

支持向量机

支持向量机(Support Vector Machine,简称SVM)是建立在统计学习理论之上的学习算法,其主要优势体现在解决线性不可分问题,通过引入核函数,巧妙地解决了在高维空间的内积运算复杂度的问题,从而很好的解决了非线性分类问题。

这里我们先通过LR模型与SVM比较,建立二者之间的基本认知。

LR与SVM

LR模型将特征的线性组合作为自变量(取值范围(−∞,∞)),使用logistic函数(又称sigmoid函数)将自变量映射到(0,1)上,映射后的值被认为是y=1的概率(如果是分类问题),表达式
在这里插入图片描述
在这里插入图片描述
LogReg模型要用全部训练数据学习参数w,学习过程中尽可能使正样本的特征组合远大于0,负样本的特征组合远小于0。

注意:LR强调的是在全部训练样本上达到这个目标,采用MLE作为求参准则

SVM直观引入

在这里插入图片描述

函数间隔与几何间隔

形式化表示
在这里插入图片描述
函数间隔(Functional Margin)
在这里插入图片描述
即全局函数间隔就是在所有训练样本上分类正例和负例确信度最小的那个函数间隔。
在这里插入图片描述
几何间隔(Geometric Margin)
在这里插入图片描述
主要考查点:

在我们广告算法组的相关面试中,经常会请求职者推导n维空间中点到超平面的距离公式(如果求职者知道SVM),但是能完整推导出来的只有十之二三 …

几何间隔在分类问题中,可表示为:
在这里插入图片描述

最优间隔分类器

在前面也提到,SVM的目标是寻找一个超平面,使得距离超平面最近的点能有更大的间距。不考虑所有的点都必须远离超平面,只关心求得的超平面能够让所有的点中离它最近的点具有最大间距。因此,我们需要数学化表示最优间隔(optimal margin classifier)。

形式化表示

最优间隔形式化可表示为:
在这里插入图片描述
然而此时的目标函数仍然不是凸函数,无法方便求解。继续改写目标函数…
在这里插入图片描述
公式(ml.1.4.17)是一个典型的带不等式约束的二次规划求解问题(目标函数是自变量的二次函数)。

到此为止,我们完成了目标函数由非凸到凸的转变。

最优间隔分类器学习过程

KKT条件
在这里插入图片描述
这个KKT双重补足条件会用来解释SVM中的支持向量和SMO的收敛测试。KKT思想可总结如下:KKT总体思想是认为极值会在可行域边界上取得,也就是不等式为0或等式约束的条件下取得,而最优下降(或上升)方向一般是这些等式的线性组合,其中每个元素要么是不等式为0的约束,要么是等式约束。对于在可行域边界内的点,对目标函数最优解不起作用,因此前面的系数为0 。

优化目标
重新前面的SVM的优化问题:
在这里插入图片描述
在这里插入图片描述

SVM对偶问题

下面我们看着拉格朗日的对偶问题来求解,对偶函数表达式如下:
在这里插入图片描述
将公式(n.ml.1.4.20)带入(ml.1.4.18),此时得到的是该目标函数的最小部分(因为目标函数是凸函数)。公式推导如下:
在这里插入图片描述
接着,求极大化过程。此时极值问题可表示为:
在这里插入图片描述
对偶问题求解思路
在这里插入图片描述
上面的讨论都是建立在样本线性可分的假设前提下,当样本不可分时,我们可以尝试利用核函数将特征映射到高维空间,这样很可能就可分了。然而,映射后也不能保证样本100%线性可分,那又该如何?这就是下面通过引入松弛变量的软间隔模型和正则化要解决的问题。

软间隔与正则化

为了解决上述问题,这里需要将模型做一个调整,以保证在不可分的情况下,也能够尽可能地找出分隔超平面。

软间隔与惩罚项
在这里插入图片描述
引入松弛变量就是允许样本点的函数间隔小于1,即在最大间隔区间里面,或者函数间隔可以为负数,即样本点在对方的区域中。
在这里插入图片描述
我们可以给出以下总结:
目标函数控制了离群点的数据和程度,使大部分样本点仍然遵守限制条件。同时,考虑了离群点对模型的影响。
模型修改后,同时也需要对(ml.1.4.19)拉格朗日公式进行修改如下:
在这里插入图片描述
回想4.1.4节中介绍的拉格朗日对偶中提到的求法。

  1. 首先,写出拉格朗日公式(如(ml.1.4.25));
  2. 然后,将其看作是变量w和b的函数,分别对其求偏导,得到w和b的表达式;
  3. 最后,把表达式带入拉格朗日公式中,求带入公式后的极大值。

整体推导过程如4.1.5节类似,这里只给出最后结果:
在这里插入图片描述
公式(ml.1.4.27)第(1)式子表明,在两条间隔线外的样本点前面的系数为0;第(2)个式子表明,在间隔线内的样本点(离群点)前面的系数为C;第(3)个式子表明,支持向量(即在超平面两边的最大间隔线上)的样本想前面系数在(0,C)上。

通过KKT条件克制,某些在最大间隔线上的样本点也不是支持向量,相反可能是离群点((1)、(2)中等号成立时)。

SMO算法(Sequential Minimal Optimization)用于求解目标函数W(α)的极大值。

更多案例请关注“思享会Club”公众号或者关注思享会博客:http://gkhelp.cn/

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值