关于python高斯核函数的信息
如何使用libsvm 高斯核函数
在MALTAB使用SVM库的方式为:
创新互联专注于灵璧网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供灵璧营销型网站建设,灵璧网站制作、灵璧网页设计、灵璧网站官网定制、微信小程序定制开发服务,打造灵璧网络公司原创品牌,更为您提供灵璧网站排名全网营销落地服务。
SVMstruct = svmtrain(data,groups,'Kernel_Function','rbf');
其中data是样本集,groups是组集,Kernel_Function是核函数的字符串,后面的rbf表示选择的是径向基函数(也可以自定义成其他的)
一般说来你需要收集样本集和所需要分的组,然后选择一个合适的核函数,然后使用svmtrain来训练支持向量机。训练完毕后使用svmclassify分类。
详细信息可以在Matlab command window输入doc SVM查看。
高斯核函数的计算机视觉中的作用
在计算机视觉中,有时也简称为高斯函数。高斯函数具有五个重要的性质,这些性质使得它在早期图像处理中特别有用.这些性质表明,高斯平滑滤波器无论在空间域还是在频率域都是十分有效的低通滤波器,且在实际图像处理中得到了工程人员的有效使用.高斯函数具有五个十分重要的性质,它们是:
(1)二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的.一般来说,一幅图像的边缘方向是事先不知道的,因此,在滤波前是无法确定一个方向上比另一方向上需要更多的平滑.旋转对称性意味着高斯平滑滤波器在后续边缘检测中不会偏向任一方向.
(2)高斯函数是单值函数.这表明,高斯滤波器用像素邻域的加权均值来代替该点的像素值,而每一邻域像素点权值是随该点与中心点的距离单调增减的.这一性质是很重要的,因为边缘是一种图像局部特征,如果平滑运算对离算子中心很远的像素点仍然有很大作用,则平滑运算会使图像失真.
(3)高斯函数的傅立叶变换频谱是单瓣的.正如下面所示,这一性质是高斯函数付立叶变换等于高斯函数本身这一事实的直接推论.图像常被不希望的高频信号所污染(噪声和细纹理).而所希望的图像特征(如边缘),既含有低频分量,又含有高频分量.高斯函数傅里叶变换的单瓣意味着平滑图像不会被不需要的高频信号所污染,同时保留了大部分所需信号.
(4)高斯滤波器宽度(决定着平滑程度)是由参数σ表征的,而且σ和平滑程度的关系是非常简单的.σ越大,高斯滤波器的频带就越宽,平滑程度就越好.通过调节平滑程度参数σ,可在图像特征过分模糊(过平滑)与平滑图像中由于噪声和细纹理所引起的过多的不希望突变量(欠平滑)之间取得折衷.
(5)由于高斯函数的可分离性,大高斯滤波器可以得以有效地实现.二维高斯函数卷积可以分两步来进行,首先将图像与一维高斯函数进行卷积,然后将卷积结果与方向垂直的相同一维高斯函数卷积.因此,二维高斯滤波的计算量随滤波模板宽度成线性增长而不是成平方增长.
什么是核函数?常见的核函数有哪些?
姓名:贺文琪
学号:19021210758
【嵌牛导读】核函数通常定义为空间中任一点x到某一中心xc之间欧式距离的单调函数 , 可记作 k(||x-xc||), 其作用往往是局部的 , 即当x远离xc时函数取值很小。核函数不是仅仅在SVM里使用,他是一个工具,把低维数据映射到高维数据的工具。
【嵌牛鼻子】核函数
【嵌牛提问】如何实现核函数
【嵌牛正文】
一、核
1.1 核的介绍
内核方法是一类用于模式分析或识别的算法,其最知名的使用是在支持向量机(SVM)。模式分析的一般任务是在一般类型的数据(例如序列,文本文档,点集,向量,图像等)中找到并研究一般类型的关系(例如聚类,排名,主成分,相关性,分类)图表等)。内核方法将数据映射到更高维的空间,希望在这个更高维的空间中,数据可以变得更容易分离或更好的结构化。对这种映射的形式也没有约束,这甚至可能导致无限维空间。然而,这种映射函数几乎不需要计算的,所以可以说成是在低维空间计算高维空间内积的一个工具。
1.2 核的诀窍
内核技巧是一个非常有趣和强大的工具。 它是强大的,因为它提供了一个从线性到非线性的连接以及任何可以只表示两个向量之间的点积的算法。 它来自如下事实:如果我们首先将我们的输入数据映射到更高维的空间,那么我在这个高维的空间进行操作出的效果,在原来那个空间就表现为非线性。
现在,内核技巧非常有趣,因为不需要计算映射。 如果我们的算法只能根据两个向量之间的内积表示,我们所需要的就是用一些其他合适的空间替换这个内积。 这就是"技巧"的地方:无论使用怎样的点积,它都被内核函数替代。 核函数表示特征空间中的内积,通常表示为:
K(x,y)= φ(x),φ(y)
使用内核函数,该算法然后可以被携带到更高维空间中,而不将输入点显式映射到该空间中。 这是非常可取的,因为有时我们的高维特征空间甚至可以是无限维,因此不可能计算。
1.3 核函数的性质
核函数必须是连续的,对称的,并且最优选地应该具有正(半)定Gram矩阵。据说满足Mercer定理的核是正半定数,意味着它们的核矩阵只有非负特征值。使用肯定的内核确保优化问题将是凸的和解决方案将是唯一的。
然而,许多并非严格定义的核函数在实践中表现得很好。一个例子是Sigmoid内核,尽管它广泛使用,但它对于其参数的某些值不是正半定的。 Boughorbel(2005)也实验证明,只有条件正定的内核在某些应用中可能胜过大多数经典内核。
内核还可以分为各向异性静止,各向同性静止,紧凑支撑,局部静止,非稳定或可分离非平稳。此外,内核也可以标记为scale-invariant(规模不变)或scale-dependent(规模依赖),这是一个有趣的属性,因为尺度不变内核驱动训练过程不变的数据的缩放。
补充:Mercer 定理:任何半正定的函数都可以作为核函数。所谓半正定的函数f(xi,xj),是指拥有训练数据集合(x1,x2,...xn),我们定义一个矩阵的元素aij = f(xi,xj),这个矩阵式n*n的,如果这个矩阵是半正定的,那么f(xi,xj)就称为半正定的函数。这个mercer定理不是核函数必要条件,只是一个充分条件,即还有不满足mercer定理的函数也可以是核函数
二、 几种常用的核
2.1 线性核
线性内核是最简单的内核函数。 它由内积x,y加上可选的常数c给出。 使用线性内核的内核算法通常等于它们的非内核对应物,即具有线性内核的KPCA与标准PCA相同。
2.2 多项式核函数
多项式核是非固定内核。 多项式内核非常适合于所有训练数据都归一化的问题。我记得一般都会把问题归一化吧?
可调参数是斜率α,常数项c和多项式度d。
2.3 高斯核
高斯核是径向基函数核的一个例子。
可调参数sigma在内核的性能中起着主要作用,并且应该仔细地调整到手头的问题。 如果过高估计,指数将几乎呈线性,高维投影将开始失去其非线性功率。 另一方面,如果低估,该函数将缺乏正则化,并且决策边界将对训练数据中的噪声高度敏感。
2.4指数的内核
指数核与高斯核密切相关,只有正态的平方被忽略。 它也是一个径向基函数内核。
2.5 拉普拉斯算子核
拉普拉斯核心完全等同于指数内核,除了对sigma参数的变化不那么敏感。 作为等价的,它也是一个径向基函数内核。
笔记:支持向量机
1、线性可分支持向量机
线性可分支持向量机是指在训练数据集线性可分的情况下,寻找一条几何间隔最大化的直线(也称硬间隔最大化),将正样本和负样本完全分开。
1.1、目标函数
设有数据集D{(x(1),y(1)),(x(2),y(2)),(x(3),y(3))...(x(m),y(m))}含有m个样本,其中x∈Rn,y∈(-1,+1)。(x为n维向量),分割样本的直线方程为y=ω.x+b(ω∈Rn属于n维向量),目标函数为:
1.2 对偶理论求解目标函数
1)1.1中的问题称为函数优化的原问题,构造广义拉格朗日函数L(ω,b,α): 其中,α为拉格朗日乘子,数学上可以证明,构造的拉格朗日函数的最小最大问题(先对α求最大值,再对ω,b求最小值)与原问题等价,即min ω,b max α L(ω,b,α)与原问题等价。
2)容易证明,min ω,b max α L(ω,b,α)与其对偶问题max α min ω,b L(ω,b,α)满足以下关系:
上式被成为弱对偶关系
3)如果原问题是一个凸二次规划问题,则满足强对偶关系,即:
此外,原问题与对偶问题满足强对偶关系的充要条件是KKT条件:
1.3 对偶问题的解
由强对偶关系,可以将求原问题转化为求对偶问题,通过KKT条件,可以得到将对偶问题的优化问题最终转化为:
该问题为凸二次规划问题,可以利用一些优化算法进行求解,比如SMO算法等。
1.4分类超平面和决策函数
由1.3求得最优解α * 后,可分别得到ω * 和b * 。
选择α * 中的一个正分量α * j 0,可得b * :
分离超平面为:y=ω * .x+b *
决策函数为f(x)=sign(ω * .x+b * )
线性可分支持向量机求得的超平面唯一。
1.5支持向量
只有那些拉格朗日乘子α不为0对应的点才对最终的决策函数有贡献,这些点均位于分割边界上,被称为支持向量。
2、线性支持向量机
对于训练集出现某些异常点,导致无法线性可分,线性支持向量机目的在于寻找一条直线,在剔除这些异常点后,使大部分训练数据是线性可分的,实现软间隔最大化。
2.1 目标函数
其中,参数C用来对误分类进行惩罚,C越大,对误分类容忍度越小;ζ表示松弛因子。
2.2对偶问题的求解
最终转化为对偶问题的优化为:
2.3分类超平面和决策函数
由1.3求得最优解α * 后,可分别得到ω * 和b * 。
选择α * 中的一个正分量0α * j C,可得b * ,注意,此时求得的b值不唯一:
分离超平面为:y=ω * .x+b *
决策函数为f(x)=sign(ω * .x+b * )
注意,线性支持向量机求得的超平面不唯一。
2.4支持向量
支持向量由在函数间隔边界上的点、超平面与间隔边界上的点、位于超平面上的点和误分类点组成。
3、非线性支持向量机与核函数
非线性支持向量机用来解决线性不可分数据集的分类问题。现实中存在一些数据集,在现有特征维度下完全线性不可分(与只存在一些异常点不同,使用软间隔最大化的线性支持向量及也不能解决),非线性支持向量机通过核函数,将低维数据集通过映射函数转换为高维数据,这些高维数据是线性可分的。
3.1 核函数
1)设X是输入空间,H为特征空间,如果存在映射函数φ(x)使在输入空间X的数据映射到特征空间H中,使得对于输入空间X中的任意x,z∈X,都有:
则称K(x,z)为核函数。
2)常用核函数
(1)多项式核函数
其中,p为多项式次数。
(2)高斯核函数
对应的支持向量机为高斯径向基函数分类器。
高斯核函数中的参数δ较大时,导致高偏差,低方差;
δ参数较小时,导致低偏差,高方差。
(3)字符串核函数
定义在字符串上的核函数
3.2目标函数
目标函数转化为对偶问题的求解,并应用核函数后,可以转化为:
3.3 决策函数
在3.2求得α值后,不必通过映射函数φ(x)求参数ω,而是通过核函数求得决策函数:
将数据从低维空间通过映射函数映射到高维空间,当做优化计算时,不必显式求得映射函数,而是通过核函数在低维空间做计算,这种方式称为为核技巧。
注意:吴恩达机器学习课程中,称高斯核函数K(x i ,x)为样本x与参考点x i (i=1,2,...m)的相似度函数。对于容量为m训练数据集,选择这m个数据作为参考点,将样本x与参考点x i 的高斯核函数(相似度函数)构建新的特征f i ,最终的决策函数可以表示为:
其中,θ 0 对应着公式3.3中的b * ,θ i 对应着α i * y i ,f i 对应着K(x i ,x)。
分享文章:关于python高斯核函数的信息
当前URL:http://ybzwz.com/article/dojcssg.html