当前位置:
文档之家› 支持向量机算法以及Libsvm工具箱介绍
支持向量机算法以及Libsvm工具箱介绍
SVM工具箱介绍
Libsvm函数
参数优化
KKT条件:
bL
(
i 1
l i 1
l
i
i) 0
w L w ( i i ) x i 0
L C i
i
()
i
( )
0
i ( i ( w , xi ) b y i ) 0
SVM优化算法
SVM工具箱介绍
Libsvm函数
参数优化
引入Lagrange函数:
m in
l
1 2
|| w || C ( i i ) ( i i i i ) i ( i ( w , x i ) b y i )
2 i 1 i 1 i 1
Svmpredict()函数
Svmpredict函数用于预测,将模型和预测样本输入就能够输 出预测数据,以及预测精度。 [T, accuracy, prob_estimates] = svmpredict(Ytest,Xtest,model);
SVM原理介绍
SVM优化算法
SVM工具箱介绍
Libsvm函数
2
/ )
2
Sogmiod核函数: K ( X , X i ) = tan h (v( X X i )+ c)
SVM原理介绍
SVM优化算法
Libsvm工具箱
Libsvm函数
参数优化
LIBSVM
LIBSVM是台湾大学林智仁(Lin Chih-Jen)副教授等开发 设计的一个简单、易于使用和快速有效的SVM模式识 别与回归的软件包,他不但提供了编译好的可在 Windows系列系统的执行文件,还提供了源代码,方便 改进、修改以及在其它操作系统上应用;该软件对 SVM所涉及的参数调节相对比较少,提供了很多的默 认参数,利用这些默认参数可以解决很多问题;并提 供了交互检验(Cross Validation)的功能。该软件包可在 .tw/~cjlin/免费获得。该软件可以 解决C-SVM、ν-SVM、ε-SVR和ν-SVR等问题,包括基 于一对一算法的多类模式识别问题。
l
l
l
i ( i ( w , x i ) b y i )
i 1
其中 η,η,α,α为Lagrange乘子,满足:
i
()
( i , i ) 0, i
()
( i , i ) 0
由此得到该问题的KKT条件。
SVM原理介绍
SVM优化算法
SVM原理介绍
SVM优化算法
SVM工具箱介绍
Libsvm函数
参数优化
非线性回归函数估计决策函数:
f (x)
l
( i i
()
) ( x i , x ) b
i 1
多项式核函数: 径项基核函数:
K ( X , X i ) = [( X X i )+ 1 ]
q
K ( X , X i ) = e x p (- X - X i
SVM原理介绍
SVM优化算法
SVM工具箱介绍
Libsvm函数
参数优化
留一法
将原始数据集DataSet均分为N份:一份作为测试集,即 testingSet,其余作为训练集,即trainingSet,然后分别 用训练集中一个数据去做测试,用其余数据去验证;将 N次所得的误差经行处理作为总体数据的预测误差。
SVM原理介绍
SVM优化算法
SVM工具箱介绍
Libsvm函数
参数优化
K折法
将原始数据集DataSet均分为N份:K份作为训练集,即 testingSet,其余N-K作为测试集,即trainingSet,然后用 训练集去做训练,用测试集去验证;之后再分别将训练 集作为测试集,测试集作为训练集进行迭代一次,将K 次所得的误差经行处理作为总体数据的预测误差。
(1)
SVs
x1 , , x i , , x n
w
(2) ,然后求出b
由KKT条件的
l
( i i ) x i
i 1
所以最终表达式变成
f (x)
l
i 1
( i i ( ) )( x i x ) b
= s v _ c o e f s v '
*
Y=w.X+b
长度为
间隔=w.w
图2
SVM原理介绍
SVM优化算法
SVM常用工具箱
Libsvm函数
参数优化
Support vector machine
样本数据集为线性时,f(x)可以表示为:
f ( x) (w, x) b, w X
N
,b R
N
求解以下二次优化问题,得到向量w
yi ( w , xi ) b m in | w | s .t . 2 ( w , xi ) b yi i , i ,得到以下问题 允许误差存在,引入松弛变量
i , j 1
l
( i i )(
j
j
)( x i , x j )
l
( i i )
i 1
l
y i ( i i )
i 1
(
i 1
l
i
i ) 0, i , i [0, C ]
通过求解该对偶问题求解
sv_ co ef 1 1 , , i i , , n n
支持向量机算法以及Libsvm 工具箱介绍
汇报人:ctj
SVM原理介绍
SVM优化算法
SVM常用工具箱
Libsvm函数
参数优化
Support vector machine
一元回归方程
y=a.x+b Y=w.X+b
图1
SVM原理介绍
SVM优化算法
SVM常用工具箱
Libsvm函数
参数优化
Support vector machine
谢谢!
i ( i ( w , x i ) b y i ) 0
( C i ) i 0
( C i ) i 0
SVM原理介绍
SVM优化算法
SVM工具箱介绍
Libsvm函数
参数优化
由KKT条件将Lagrange函数转换成对偶规划问题:
m ax 1 2
参数优化
Model主要参数介绍
model =
Parameters: [5x1 double] nr_class: 2 totalSV: 328 rho: -3.2425 -b Label: [] ProbA: [] ProbB: [] nSV: [] sv_coef: [328x1 double] SVs: [328x2 double]
SVM原理介绍
SVM优化算法
SVM工具箱介绍
Libsvm函数
参数优化
Svmtrain()函数
Svmtrain函数用于训练支持向量机模型,选择相关参数和训 练样本就能够输出一个结构体model,model中包含模型表达 式中全部参数。 model=svmtrain(Ytrain,Xtrain, ‘-s 3 -t 1 -h 0 –d 1 -c 0.1 –p 2’);
模型参数
支持向量数目
支持向量系数
支持向量
SVM原理介绍
SVM优化算法
SVM工具箱介绍
Libsvm函数
参数优化
二折法
将原始数据集DataSet均分为两份:一份作为训练集, 即trainingSet,一份作为测试集,即testingSet,然后用 训练集去做训练,用测试集去验证;之后再将训练集作 为测试集,测试集作为训练集进行迭代一次,将两次所 得的误差经行处理作为总体数据的预测误差。(注:这 里强调一点,就是数据集一定要均分为两份,理由是: 作为训练集,数据量一定要不小于测试集,所以在迭代 的过程中,使得数据不出现错误情况,必须均分。)
1
2
m in
1 2
|| w || C ( i i )
2 i 1
l
yi ( w , xi ) b i s .t . ( w , xi ) b yi i
其中C为对估计误差大于 的样本数据的惩罚因子。
SVM原理介绍