支持向量机中高斯核函数的直观理解

这一文章主要讲述高斯核函数的直观理解,并不会涉及支持向量机代价函数及最优化的问题。
什么是高斯核函数?
在支持向量机中它是一个用来构造非线性边界的核函数。
高斯核函数的定义:
在这里插入图片描述
这个函数说白了,就是点X与空间中一点L(1)的相似度,其中sigma(σ)影响相似度的大小。
直观的来看其在二维中的表示,如假设A为点L的话,它会是这样的:
支持向量机中高斯核函数的直观理解_第1张图片
构造高斯核函数(这里的σ为2):
支持向量机中高斯核函数的直观理解_第2张图片
会发现距离A点越近相似度越接近于1,距离越远相似度越接近于0.
那么在三维中,是这样的:
支持向量机中高斯核函数的直观理解_第3张图片
当我们改变其σ=0.1:
支持向量机中高斯核函数的直观理解_第4张图片
所以当σ降低是,相似范围变窄,要距离点A非常近相似值才能大于0。
而当σ=5时:
支持向量机中高斯核函数的直观理解_第5张图片
相似范围变大,距离较远也能得到大于0的近似值。

那么接下来引发我们思考,我们是否可以利用高斯函数的特点来构造一个非线性的决策边界呢?
答案是可以的,那么我们要如何实现呢,一步一步的来看吧。
假设我们有这样一些离散的点:
支持向量机中高斯核函数的直观理解_第6张图片
这些数据是一些有标签的数据,蓝色点代表正向类,红色点代表负向类。那么我们会希望决策边界是这样:
支持向量机中高斯核函数的直观理解_第7张图片
我们会希望得到这样一条决策边界来帮助我们区分正向类和负向类,那么如何用高斯函数来实现呢?
我是这样思考的,如果随机选取其中的一些离散点来构造属于它们自己的高斯函数,并对每一个点的高斯函数给予一些权重,这些权重基于它附近与它相似的点的多少,对于正向类的点来说,它附近的点如果越多(即正向类的点越多)我们就给它的权重越高,使得越靠近它的点就有高的相似度是正向类。而对于负向类来说,它附近与它相似的点越多(即负向类的点越多),我们给它的权重越低,甚至接近于0。
列如我们随机选取了(-4,-2),(-3,-1),(0,-1),(-4,1),(-4,2),(2,1)
则会构造出这样一个核函数:
Z(x,y)=
θ(1)ℯ^(((x + 4)² + (y + 2)²) / -2σ)
+θ(2)ℯ^(((x + 3)² + (y + 1)²) / -2σ )
+θ(3)ℯ^((x² + (y + 1)²) / -2σ)
+θ(4)ℯ^(((x + 4)² + (y - 1)²) / -2σ)
+θ(5)ℯ^(((x + 4)² + (y - 2)²) / -2σ)
+θ(6)ℯ^(((x -2)² + (y - 1)²) / -2σ)
那么支持向量机会帮助我们找到较好的权重,来绘制出决策边界,假设我们找到了这样的权重θ(1)=1,θ(2)=0.4,θ(3)=0.0001,θ(4)=0.5,θ(5)=0.3,θ(6)=0。选取一个σ=2。
那么我们会得到这样一个图像:
支持向量机中高斯核函数的直观理解_第8张图片
将它投影到二维大致就是这样:
支持向量机中高斯核函数的直观理解_第9张图片
这样它就能拟合出一个有趣且复杂的决策边界。

自己的理解,不一定正确,如有错误还请码友指正。

你可能感兴趣的:(机器学习,机器学习)