高斯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= ...
随机推荐
- Mac 生产力探究
转载自:http://devtian.me/2015/04/15/about-my-productivity-tool-in-MacOSX/ ##密码管理器 1Password 1Password 是 ...
- js正则表达式大全(转)
1. 正则表达式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的 ...
- 计算机学院大学生程序设计竞赛(2015’12) 1008 Study Words
#include<cstdio> #include<cstring> #include<map> #include<string> #include&l ...
- a标签的target的四个值
特殊的目标 有 4 个保留的目标名称用作特殊的文档重定向操作: _blank 浏览器总在一个新打开.未命名的窗口中载入目标文档. _self 这个目标的值对所有没有指定目标的 <a> 标签 ...
- hibernate---一对一单向外键关联--XML
Student.java: package com.bjsxt.hibernate; public class Student { private int id; private String nam ...
- Freertos之系统配置
Freertos之系统配置 http://blog.csdn.net/liyuanbhu/article/details/7912170/
- RunLoop基础
序言 RunLoop一直是比较高级而又比较神秘的技术,一直以来都没有深入去阅读过苹果给出的官方文档.本篇文章就讲讲苹果官方文档中所介绍的RunLoop,再加上其开源性,让我们一起深入去研究其特性及与线 ...
- 20、手把手教你Extjs5(二十)模块Grid的多列表方案
对于有很多字段的模块在一个grid中显示所有的字段,会显得很臃肿,对于不同的用户其侧重的字段类型也不尽相同,因此就有必要为Grid的列表设计多个方案.在这个自定义系统进行设计的时候,我已经将这部分内容 ...
- STM32的USART DMA传输(转)
源:STM32的USART DMA传输 问题描述: 我有一个需求,AD采得一定数目的数据之后,由串口DMA发出,由于AD使用双缓冲,所以每次开始DMA的时候都需要重新设置开始的内存地址以及传输的数目( ...
- VC2010编写Dll文件(转)
源:VC2010编写Dll文件 1. 打开VS2010[Flie / New / Project / Visual C++ / Win32 / Win32 Console Application]在下 ...