前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习系列18:核函数

机器学习系列18:核函数

作者头像
SuperFeng
发布2019-09-26 16:14:46
1K0
发布2019-09-26 16:14:46
举报
文章被收录于专栏:SuperFeng

让我们来考虑这样一个问题,现在给定一个数据集,让你划分出决策边界,该怎么办呢?数据集中正样本为「叉」,负样本为「圈」,如下图:

第一反应就是用一个高阶多项式去构造一个假设函数,当假设函数大于等于零时,我们就可以认为它为正样本,否则为负样本,类似下面这种形式:

但是有一个问题出现了,我们不能确定构造的假设函数就是最符合这个例子的高阶多项式,可能还有其他的高阶多项式能够更好地符合这个例子。

为了解决这样一个问题,我们首先来引入新的符号,用 f 替换原来多项式中的 x,假设函数就变成了如下这种类型:

现在问题就转化成如何选择特征 f?我们可以通过核函数(Kernels)改造支持向量机让它来学习复杂的非线性假设函数。

对于特征 x_1 和 x_2,我们首先手动的选取几个点 l^(1), l^(2), l^(3), 这些点被称作标志(landmark), 然后令:

其中:

这里的 similarity( ) 是相似度函数,被称为核函数(Kernels),也叫做高斯核函数(Gaussian Kernel)虽然这个函数跟正态分布函数长得很像,但其实比没有什么关系。

现在我们来分析一下这个函数,当 x 与 l 几乎相等时,这一项:

就等于 0,那么 f =1。当 x 与 l 差距很大时,f = 0。

让我们用图像去直观地感受一下:

图像中高度为 f 的值,x 越接近 l ,f 就越处在「山丘」的顶部。山丘的形状还与 σ^2 有关。

σ^2 越小,「山丘」越「瘦高」,σ^2 越大,「山丘」越「胖矮」。

在下面这张图中,假设我们已经手动寻找了标志且构造了一个假设函数:

参数也知道了:

现在观察粉红色的点,它离 l^(1) 近,f1 = 1,离 l^(2) , l^(3) 远,f2 和 f3 都为 0,此时假设函数大于 0,我们就可以预测这是一个正样本。

再来观察浅蓝色的点:

离 l^(1) , l^(2) , l^(3) 都远,f1,f2,f3 都为 0,假设函数就小于 0,我们就可以认为这是一个负样本。通过这样的判断,我们就可以画出一个决策边界:

如何选择标记点呢?我们可以将训练集所在的位置直接当做样本点来处理。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SuperFeng 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档