此文章主要是结合哔站shuhuai008大佬的白板推导视频:核方法_101min
全部笔记的汇总贴:机器学习-白板推导系列笔记
一、线性不可分问题
有时线性可分的数据夹杂一点噪声,可以通过改进算法来实现分类,比如感知机的口袋算法和支持向量机的软间隔。但是有时候数据往往完全不是线性可分的,比如下面这种情况:
在异或问题中数据往往不是线性可分的,但通过将数据映射到高维空间后就可以实现线性可分。可以认为高维空间中的数据比低维空间的数据更易线性可分。对于异或问题,我们可以通过寻找一个映射 ϕ ( x ) \phi (x) ϕ(x)将低维空间中的数据 x x x映射成高维空间中的z来实现数据的线性可分,例如:
x = ( x 1 , x 2 ) ⏟ 二 维 → ϕ ( x ) z = ( x 1 , x 2 , ( x 1 − x 2 ) 2 ) ⏟ 三 维 \underset{二维}{\underbrace{x=(x_{1},x_{2})}}\overset{\phi (x)}{\rightarrow}\underset{三维}{\underbrace{z=(x_{1},x_{2},(x_{1}-x_{2})^{2})}} 二维 x=(x1,x2)→ϕ(x)三维 z=(x1,x2,(x1−x2)2)
然后在新的空间中,该数据就可以实现线性可分:
二、核方法的引出
映射到高维空间以后出现的问题是计算复杂度的加大,例如在支持向量机的求解过程中求解的优化问题可以转换为如下的优化问题:
{ m i n λ 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i T x j − ∑ i = 1 N λ i , i = 1 , 2 , ⋯ , N λ i ≥ 0 , i = 1 , 2 , ⋯ , N \left\{\begin{matrix} \underset{\lambda }{min}\; \frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\lambda _{i}\lambda _{j}y_{i}y_{j}x_{i}^{T}x_{j}-\sum_{i=1}^{N}\lambda _{i},i=1,2,\cdots ,N \\ \lambda _{i}\geq 0,i=1,2,\cdots ,N \end{matrix}\right. { λmin21∑i=1N∑j=1NλiλjyiyjxiTxj−∑i=1Nλi,i=1,2,⋯,Nλi≥0,i=1,2,⋯,N
将数据映射到高维空间后也就需要求解以下优化问题:
{ m i n λ 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j ϕ ( x i ) T ϕ ( x j ) − ∑ i = 1 N λ i , i = 1 , 2 , ⋯ , N λ i ≥ 0 , i = 1 , 2 , ⋯ , N \left\{\begin{matrix} \underset{\lambda }{min}\; \frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\lambda _{i}\lambda _{j}y_{i}y_{j}{\color{Red}{\phi (x_{i})^{T}\phi (x_{j})}}-\sum_{i=1}^{N}\lambda _{i},i=1,2,\cdots ,N \\ \lambda _{i}\geq 0,i=1,2,\cdots ,N \end{matrix}\right. { λmin21∑i=1N∑j=1Nλiλjyiyjϕ(xi)Tϕ(x