一起学西瓜书06 支持向量机(核函数)
之前我们已经说过,碰到线性不可分的情况时,我们处理的方法是把它转到高纬度去处理
这里的预测公式中将xi和xj先做数组运算,节省了时间
下面举个简单的例子说明它的可行性
我们要将已知的函数转化为三维,下面的推导过程详细说明的两者结论的等价
所以我们可以先做数组运算,再平方
核函数
因为在机器学习中,我们求解的过程要用到内积,而变换后的高维空间的内积我们不好求,所以我们定义了这个核函数,可以把高维空间的内积运算转化成内为空间的某些运算,这样求起来不是很简单吗?
换句话说,如果我们有了核函数,我们就不再需要知道那个映射φ到底是个什么鬼,我们就可以直接通过核函数,就可以求导高维空间的内积了,从而可以计算出高维空间中两个数据点之间的距离和角度。核函数也可以通过函数组合来得到,如下,这也很好理解
下图是四种常用的核函数,与skler中的参数对应,可以简单的了解一下
举例:多项式核
这里的a代表的是红色的球集,b代表绿色的球集
r是洗漱和d是度量程度,这两个参数都可以通过sklern计算出最优结果
下面两个例子表现出了r取值不同的情况下所升维的情况
这里括号.括号是点积的意思
所以r可以理解为在x轴上的缩放程度,下面我们看看sklern中展示的结果,数据集如下
参数c代表对损失的容错率,我们看看不同参数所对应的效果