高斯RBF核函数中Sigma取值和SVM分离面的影响
1:高斯RBF核函数的定义
k(x) = exp(-x^2/(2×sigma))
在MATLAB中输入一下代码:ezsurf('exp(-x^2/(2*sigma^2))');

在GOOGLE中输入“exp(-(x)^2/(2*y^2)), x is from -10 to 10, y is from -10 to 10”,可以得到三维动画绘图.
2.绘制不同sigma下的SVM分离面
load fisheriris; xdata = meas(:end,:); group = species(:end); sigma = ;svmStruct = svmtrain(xdata,group,'kernel_function','rbf','rbf_sigma', sigma,'showplot',true); hold on; sigma = ;svmStruct = svmtrain(xdata,group,'kernel_function','rbf','rbf_sigma', sigma,'showplot',true); hold on; sigma = ;svmStruct = svmtrain(xdata,group,'kernel_function','rbf','rbf_sigma', sigma,'showplot',true);

3.绘制不同sigma下的核函数值
xRange = [ ];
ezplot('exp(-x^2/(2*1^2))', xRange);
hold on;ezplot('exp(-x^2/(2*2^2))', xRange);
ezplot('exp(-x^2/(2*5^2))', xRange);

4.讨论
在高斯RBF核函数中,Sigma越大,分离面越平滑;Sigma越小,分离面越细致。这是因为sigma越小,核函数对x的衰减越快,这就放大了数据x之间的差别,即k(x)对x值的变化很敏感,因此SVM的分离面变得细致;同样的道理,sigma越大,核函数对x的衰减越慢,这使k(x)对x的变化变得钝化(即不敏感),进而使SVM的分离面变得平滑。
5.绘制不同C下的分离面
C越大,分离面越弯曲复杂;C越小,分离面越平滑。
load fisheriris; xdata = meas(:end,:); group = species(:end); C = ^;svmStruct = svmtrain(xdata,group,'kernel_function','rbf','boxconstraint', C,'showplot',true); hold on; C = ^;svmStruct = svmtrain(xdata,group,'kernel_function','rbf','boxconstraint', C,'showplot',true); hold on; C = ^;svmStruct = svmtrain(xdata,group,'kernel_function','rbf','boxconstraint', C,'showplot',true);

另:高斯核函数具有提取局部特征信息的能力(对局部信息敏感),多项式核函数对全局数据灵敏,因此文献【1】构造了一个新的核函数(实际上是高斯核函数和多项式核函数之和)来使算法达到兼顾全局和局部特征的能力。
【1】吕方,刘少波,于晓洋,一种复合KPCA故障诊断模型,中北大学学报(自然科学版),30(6)(2009)
高斯RBF核函数中Sigma取值和SVM分离面的影响的更多相关文章
- Loadrunner中参数化取值方式分析
Loadrunner中参数化取值依赖两个维度: 1.取值顺序分为“顺序”“随机”“唯一”. select next row:Sequential , Random,unique 2.更新值时分为 ...
- Laravel 中 Session 的使用问题(dd()导致laravel中session取值问题)
Laravel 中 Session 的使用问题(dd()导致laravel中session取值问题) 一.总结 一句话总结: Laravel 会首先收集需要写入 Session 的所有数据,并在用户的 ...
- C# Textbox的ImeMode取值对中文输入法的影响 (转)
摘自:http://blog.csdn.net/jhycjhyc/article/details/6578570 C# Textbox的ImeMode取值对中文输入法的影响 取值 ...
- C# Textbox的ImeMode取值对中文输入法的影响(进入才能看清)
原文:C# Textbox的ImeMode取值对中文输入法的影响(进入才能看清) C# Textbox的ImeMode取值对中文输入法的影响 取值 五笔加加 微软拼音3.0 搜 ...
- 各CF-based tracker中output_sigma_factor取值
现有的各CF-Based tracker中理想高斯响应中output_sigma_factor的取值情况 默认output_sigma = target_sz*output_sigma_factor; ...
- C语言中数据类型取值范围的计算的理解与总结
c语言中,数据类型有short,int,long,char,float,double,然后除了浮点型只有 有符号数(signed)外,其他的数据类型都分为有符号(signed)和无符号(unsigne ...
- sql中#与$取值
在mapper.xml中#与$都是用来取值的 <update id="addUrl"> update user_power set url = #{newurl} wh ...
- 浅析mybatis中${}和#{}取值区别
mybatis作为一个轻量级的ORM框架,应用广泛,其上手使用也比较简单:一个成熟的框架,必然有精巧的设计,值得学习. 在使用mybatis框架时,在sql语句中获取传入的参数有如下两种方式: ${p ...
- mybatis中 ${}和#取值小记(Parameter index out of range)
mybatis mapperxml文件中有两种取值法.${}和#{} $的是原样,#的是取值并转成指定?#{ele1,jdbcType=VARCHAR} 有个坑, 错误的写法 <if test= ...
随机推荐
- springMVC记录系统日志的几种方式
在项目开发中往往需要记录一些用户操作的系统日志到数据库,而不仅仅是记录在文件中或者log4j上. 第一种是最简单最原始也是最繁琐最笨的办法:即每个需要记录的操作入口方法中去调用新增日志的接口. ...
- PAT (Advanced Level) 1069. The Black Hole of Numbers (20)
简单题. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #in ...
- 关于js的几道经典题(作用域、原型链等)自己做的
1. function test() { var a = 1; setTimeout(function() { alert(a); a = 3; }, 1000); a = 2; setTimeout ...
- HDU 4638 (莫队)
题目链接:Problem - 4638 做了两天莫队和分块,留个模板吧. 当插入r的时候,设arr[r]代表r的位置的数字,判断vis[arr[r-1]]和vis[arr[r+1]]是否访问过,如果两 ...
- tls session resumption
http://stackoverflow.com/questions/12318325/resume-tls-connection-in-java As long as you use the sam ...
- CDOJ 1273 God Qing's circuital law
暴力枚举+idea.做的时候mod写错了,写成了1000000009,找了两个多小时才发现...... a[1],a[2],a[3]....a[N] b[1],b[2],b[3]....b[N] 首先 ...
- php --with-mysql=mysqlnd
1.什么是mysqlnd驱动? PHP手册上的描述: MySQL Native Driver is a replacement for the MySQL Client Library (libmys ...
- SSH使用TCP Wrappers实现访问控制
SSH使用TCP Wrappers实现访问控制主要配置文件/etc/hosts.allow/etc/hosts.deny===TCP Wrappers的访问控制原则首先检查 hosts.allow 文 ...
- Ubuntu安装MongoDB和PHP扩展
MongoDB是一个可伸缩的,高性能的开源NoSQL 文档数据库.主要用C++开发完成.面向文档存储,全索引支持,可复制和高可用性,自动分片等特征.其在非关系型数据库中是功能最丰富,最像关系型数据库 ...
- UVA 11149 Power of Matrix
矩阵快速幂. 读入A矩阵之后,马上对A矩阵每一个元素%10,否则会WA..... #include<cstdio> #include<cstring> #include< ...