↑ 点击上方蓝字" 奶糖猫 ",加个关注如何
非线性支持向量机
对于线性分类问题,线性分类支持向量机是一种非常有效的方法。但是有的分类问题是非线性的,这时就可以使用非线性支持向量机对分类问题求解,其主要的特点是利用 核技巧(kernel trick) ,下面通过一个通俗的小栗子介绍核技巧。
核方法与核技巧
假设有一个二维平面上有4个点,两个红色点、两个绿色点,这4个点位于一条直线上,如下:
对于这个问题,我们是无法利用一条直线准确将红色点和绿色点分隔开,但是可以利用 一条曲线 实现分类,如下:
这时可以改变一下我们固有的思想,如果 将二维平面映射至三维立体空间中 ,并且将一类别的点在纵轴上 提高或者下降 ,这样不就可以利用一个超平面将其分隔开了嘛!如下:
现在只需要考虑一个问题,就是将同一类别在纵轴上同时提高或下降的操作应该如何实现。先回到开始的二维平面,如果将这些点添至坐标轴中,会不会存在某个函数的图像可以将其分隔开呢?
这里利用 一个函数 区 分两类点,可以看出红色点的横纵坐标乘积为0,即 ,绿色点的横纵坐标乘积为2,即 ,那么利用曲线 不就可以将两类点准确分类嘛!如下:
其中 也就是我们非常熟悉的 反比例函数 。
解决了二维平面的问题,那么再将其映射至三维空间就可以解决前文提出的问题了。可以将算出的新值作为点在三维空间的z轴的坐标,绿色的点就可以 沿z轴正方向提高 ,两类点就可以利用一个超平面实现分类,如下:
上面这个栗子也称作 异或问题 ,求解这个问题利用的思想就是核方法。
这个栗子说明用线性分类方法求解分线性分类问题大致可分为两步:首先使用一个变换将原空间的数据映射至新空间;然后在新空间里用线性分类学习方法对数据进行分类,核技巧就属于这样的方法。
核技巧的基本思想就是通过一个 非线性变换 将输入空间映射至特征空间,使得输入空间的超曲面模型对应于特征空间的超平面模型,这样,就可以通过在特征空间利用线性支持向量机求解分类问题。
核函数
在知道核技巧的基本思想后,我们可以对之前求出的 对偶问题 做出相应的处理,即通过输入空间向特征空间的映射,将,如下:
若按照这种方法对问题求解,必须在特征空间中求 出 和的内积 ,但是特征空间的维度往往是比较大的,这就使内积的运算极其复杂,有没有另一种方法可以简化这个求解方式呢?
假设有一个二维平面,我们需要将其映射至一个三维特征空间中,那么二维平面上的两类样本点分为用和;则在三维特征空间中两类点可以用和表示。
若要对三维特征空间做内积操作,可以将其做以下推导,可以看到三维特征空间中的内积是可以由二维平面的内积表示的,最后得到的这个函数就被称为 核函数 。
所以对于每一个映射至特征空间中的函数,都可以找到一个 相应的核函数 对其运算进行优化,表达式也可以做出相应的更改,如下:
在此基础上可以了解一下核函数的定义,设是输入空间,又设为特征空间(希尔伯特空间),如果存在一个到的映射
使得对所有 ,函数 满足条件
则称为核函数,为映射函数,其中为和的内积。
综上,如果有一个 待求解的非线性分类问题 ,我们没有必要去计算其对应特征空间中的内积,只需要找到这个非线性分类问题对应的核函数,将输入空间的数据代入核函数中,便可求得该问题的解。
于是,“ 核函数的选择 ”就成了支持向量机的最大变数,若核函数的选择不合适,则意味着将样本映射到了一个不合适的特征空间,很可能导致分类效果不佳。而只是起到一个中间的 过渡作用 ,并没有什么实际意义。
下图给出了几个常用的核函数,其中 高斯核函数 是最为重要的,也称作径向基核函数。
正定核
在已知映射函数,可以通过和的内积求得核函数,但这个过程是比较复杂的,能否 直接判断 一个给定的函数是不是核函数呢?或者一个函数需要满足什么条件才能成为核函数?
我们通常所说的核函数是叫作 正定核函数 ,先了解一下正定核的 两个概念 。
其一,若输入空间映射至特征空间的关系为
则称为正定核函数。
R代表数学中的实数域
其二,对于输入空间内的样本点
如果满足 对称性和正定性 ,则称为正定核函数。
概念一很好理解,并且前文也应用到了,所以这里着重讲述一下概念二。概念二的对称性:
由于 内积运算具有对称性 ,而核函数包含内积运算,所以核函数具有对称性。
正定性表示对于任意,对应的Gram矩阵
是 半正定矩阵 。如果在对称性成立的情况下,那么正定性是一个核函数为正定核的 充要条件 ,即
这里只给出必要性的证明。若要证明一个矩阵是半正定的,只需证明矩阵中每个特征值都 大于等于0 即可。在已知条件下,对任意的 ,若存在以下等式:
则表明 关于的Gram矩阵是半正定的。
总结
对于分类问题而言,可以利用核技巧,将线性分类的学习方法应用至非线性分类问题中。将线性支持向量机扩展至非线性支持向量机, 只需将线性支持向量机对偶问题中的内积利用转化成核函数 即可。
欢迎各位给奶糖猫留言 呀 在线陪聊
看到这点个“在看”吧 谢谢大爷呀
End
往期推荐:
2. 机器学习笔记(九)——手撕支持向量机之间隔、对偶、KKT条件详细推导
4. 机器学习笔记(七)——初识逻辑回归、两种方法推导梯度公式
以上所述就是小编给大家介绍的《机器学习笔记(十一)——学支持向量机怎能不懂“核”》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 机器学习算法——感知机&支持向量机
- 机器学习A-Z~支持向量机
- 吴恩达机器学习系列17:支持向量机
- 机器学习笔记(十一):学支持向量机怎能不懂 “核”
- 机器学习笔记(九)——手撕支持向量机之间隔、对偶、KKT条件详细推导
- 支持向量机(一):支持向量机的分类思想
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
极简算法史:从数学到机器的故事
[法] 吕克•德•布拉班迪尔 / 任轶 / 人民邮电出版社 / 2019-1 / 39.00元
数学、逻辑学、计算机科学三大领域实属一家,彼此成就,彼此影响。从古希腊哲学到“无所不能”的计算机,数字、计算、推理这些貌似简单的概念在三千年里融汇、碰撞。如何将逻辑赋予数学意义?如何从简单运算走向复杂智慧?这背后充满了人类智慧的闪光:从柏拉图、莱布尼茨、罗素、香农到图灵都试图从数学公式中证明推理的合理性,缔造完美的思维体系。他们是凭天赋制胜,还是鲁莽地大胆一搏?本书描绘了一场人类探索数学、算法与逻......一起来看看 《极简算法史:从数学到机器的故事》 这本书的介绍吧!