Python3入门机器学习之9.3核函数

Python3入门机器学习

9.3 核函数

首先回顾一下SVM算法的本质,就是求解以下最优化问题:
在这里插入图片描述

在求解这个最优化问题的过程中,我们需要将其变形,变成在数学上更好解的形式(不进行推导过程的介绍):
在这里插入图片描述
在我们转变的这个式子中,对于样本数据集任意的两个向量都要进行向量间的点乘。如果我们想使用多项式特征的话,方块中的式子就变为如下:
在这里插入图片描述
而核函数是这样的思想:有没有可能不将这两个样本点xi和xj先分别转换成xi‘ 和xj’,再做乘法,而是设置一个函数,直接对原来的样本进行数学运算,直接计算出xi‘ 和xj’。如下:
在这里插入图片描述
在这里插入图片描述
K函数的作用其实是想省略这一步:不需要变形了,直接拿原来的样本代进一个函数中,用这个函数直接算出来本身的xi‘ 和xj’进行点乘之后得到的结果。K函数就是核函数。
使用核函数,一方面计算量会减少,另一方面会减少存储空间。
核函数并不是SVM算法特有的一种技巧,事实上只要我们的算法转化成了最优化问题,在求解这个最优化的问题中存在xi点乘xj这样的式子或者类似的式子,都可以应用核函数技巧。

下面以多项式(二次项)核函数为例,来说明核函数是如何运作的:
在这里插入图片描述
用核函数计算的结果和把x、y先变成x‘ 和y’再进行点乘的结果是一样的。只就是核函数的一个优势,大大的降低了计算的复杂度。
于是:
在这里插入图片描述
在这里拓展一下,由于多项式核函数不仅仅能制造二次方的多项式特征,可以计算任意的degree特征,于是有:
在这里插入图片描述
在这里C和d是两个超参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值