支持向量机
为了f(•) 存在, K (x,y) 需要满足 Mercer 条件。
核函数举例 d 阶多项式核 具有宽度 s的径向基函数核
相当接近于径向基函数神经网络 具有参数 k and q 的Sigmoid 核
对所有的k 和 q,它不满足 Mercer 条件
三.非线性SVM算法
将所有的内积改为核函数 训练算法:
i 1 N
非线性的:
yx αi αi* xi , x b
i 1
N
一般的:
yx αi αi* K xi , x b
i 1
N
核函数的类型
线性型:
K ( x, xi ) x, xi
K ( x, xi ) x, xi d
利用 2 阶多项式核
K(x,y) = (xy+1)2 C 取为 100
先求 i (i=1, …, 5) :
利用 QP 求解 , 得到
1=0, 2=2.5, 3=0, 4=7.333, 5=4.833 注意到确实满足约束条件 支持向量为 {x2=2, x4=5, x5=6}
xr,xs > 0, yr= –1,ys=1
则
f(x)= sgn(<w * ,x> +b)
三. 解的性质
许多的 i 为零 w 只是少数数据的线性组合 具有非零 i 的 xi 称为支持向量 (SV) 决策边界仅由SV确定 设 tj (j=1, ..., s) 为支持向量的指标,于是
N 1 T L w w C i i* 2 i 1 N
目标函数
i i yi wT xi b
i 1 N
约束条件
i* i* yi wT xi b
* i i * i i i 1 i 1 N
xx i K ( x, xi ) exp 2 2 s
2
多项式型:
径向基函数型:
指数径向基函数型:
x xi K ( x, xi ) exp 2 2s
几点说明
SVM 基本上是一个两分类器,修改 QP 公式, 以允许多类别分类。 常用的方法: 以不同的方式智能地将数据集分为两部分, 对每一种 分割方式用 SVM训练,多类别分类的结果, 由所有的SVM分类器的 输出经组合后得到 (多数规则) 。 “一对一”策略 这种方法对N 类训练数据两两组合,构建C2N = N (N - 1) /2个支持向量机。最后分类的时候采取“投票”的方式 决定分类结果。 “一对其余”策略 这种方法对N分类问题构建N个支持向量机, 每个支持向量机负责区分本类数据和非本类数据。最后结果由输 出离分界面距离w·x + b最大的那个支持向量机决定。
如何变换 ? 利用一个适当的变换f, 使分类变得容易些。 特征空间中的线性算子等价于输入空间中的非线性 算子。
变换可能出现的问题
难以得到一个好的分类且计算开销大
SVM同时解决这两个问题
最小化 ||w||2 能得到好的分类 利用核函数技巧可以进行有效的计算
f( ) f( ) f( ) f( ) f( ) f( ) f( ) f( ) f( ) f( ) f( ) f( ) f( ) f( ) f( ) f( ) f( ) f( )
描述函数为
确定b 当 x2, x4, x5 位于 上时, f(2)=1 , f(5)=-1 , f(6)=1, 由此解得 b=9
描述函数的值
第1类
第2类 1 2 4 5 6
第1类
§5 支持向量回归
一.最小二乘法
f(x )
•求 解 :
f x wx b
i
Loss wX b Y
二. 方法的基本思想 利用高斯核函数将数据点映射到高维特征空间 在特征空间内寻找封闭数据点的像点的最小球 面 将球面映射回数据空间,构成封闭数据点的轮 廓线的集合 被每条轮廓线所封闭的点即属于与同一个聚类 减小高斯核函数的宽度,增加轮廓线的数目 用一个大的软间隙值处理重迭的聚类
f(· )
输入空间
特征空间
变换举例
定义核函数 K (x,y) 如下
考虑下列变换
内积可由 K 计算, 不必通过映射 f(•)计算
二. 核函数技巧
核函数 K 与映射 f(.) 之间的关系是
作为核函数技巧这是已知的
在应用中, 我们指定K, 从而间接地确定 f(•) ,以代替选取f(•) 。 直观地, K (x,y) 表示我们对数据 x 和 y 之间相似性的一种描述, 且来自我们的先验知识 。
线性的
非线性的
检测算法:
线性的
非线性的
对于一个新数据z ,如果f 0,则分到第1类; 如果 f<0,则分到第2类。
例题 设有 5个 1 维数据点:
x1=1, x2=2, x3=4, x4=5, x5=6, 其中1, 2, 6 为第1类,而4, 5 为 第2类 y1=1, y2=1, y3=-1, y4=-1, y5=1。
三. SVM的应用
数据与文本分类 系统建模及预测 模式识别(图像及语音识别,生物特征识 别) 异常检测(入侵检测,故障诊断) 时间序列预测
§2 统计学习理论
一. 两分类问题
给定 l 个观测值: i , i = 1, 2, ..., l
x
xi ∊
Rn
第2类
每个观测值与一个标记相连: yi , i = 1, 2, ..., l yi ∊ {土1} 对于 (2-类) 分类, 建立一个函数:
dLoss 0 dw
2
X X w X
T
T
Y
x
二. 线性支持向量回归 (SVR)
f(x)
f x wx b
+ 0 -
• 求解: 1 T Min w w 2 • 约束:
yi wT xi b wT xi b yi
x
线性支持向量回归 (SVR)
支持向量机
内容提要
§1 §2 §3 §4 §5 §6
引言 统计学习理论 线性支持向量机 非线性支持向量机 支持向量回归 支持向量聚类
§1 引言
一. SVM (Support Vector Machine)的历史
神经网络分类器,Bayes分类器等是基于大样本学习 的分类器。 Vapnik 等从1960年开始关于统计学习理论的研究。统 计学习理论是关于小样本的机器学习理论。
软件
关于 SVM 的实现可以在下列网址找到 /software.html SVMLight 是最早的 SVM 软件之一 SVM 的各种 Matlab toolbox 也是可利用的 LIBSVM 可以进行多类别分类 CSVM 用于SVM分类 rSVM 用于SVM回归 mySVM 用于SVM分类与回归 M-SVM 用于SVM多类别分类
f(x)
• 最小化:
f x wx b
+ 0 -
N 1 T w w C i i* 2 i 1
• 约束:
yi wT xi b i
wT xi b yi i*
*
i , i* 0
x
Lagrange 最优化
1992年支持向量机首次被引入。1995年Vapnik发展 了支持向量机理论。支持向量机是基于统计学习理论 的一种实用的机器学习方法。
二. SVM 的发展
⒈ SVM理论的发展: 最小二乘支持向量机(LS – SVM) 多分类支持向量机(M-SVM) 支持向量回归(SVR) 支持向量聚类(SVC) ⒉ SVM与计算智能的融合: 神经网络+支持向量机 模糊逻辑+支持向量机 遗传算法+支持向量机 小波分析+支持向量机 主分量分析+支持向量机 粗糙集理论+支持向量机
1 l Remp f yi f xi 2l i 1
如果训练样本的个数是有限的,则实验风险最小化的方法不保证 有高推广能力
三. VC理论
VC (Vapnik-Chervonenkis)维数 分类函数 f 的集合F的VC维数 p=VCdim(F) 定义 (Vapnik–Chervonenkis). 函数 f 的集合F的VC 维数是p, 当且仅当存在点集 {xi}pi=1 使得这些点能够被所有 2p 种可能的 分类方式分开,且不存在集合 {xi}qi=1 ( q > p )满足这一性质。
ə Φ/ ə b=0 ⇒ ∑n i=1 αiyi=0 ə Φ/ ə w =0 ⇒ w=∑n i=1 αiyixi
于是得到对偶问题
这是一个二次规划 (QP) 问题 i的全局最大值总可以求得 W的计算
解得α*=argmin α1/2∑n i=1∑n i=1 αi αjyiyj <xi,xj> –∑n k =1 αk w*=∑n i=1 αiyixi, b *=–1/2<w * , xr+xs> 其中Xr 与xs满足
在 n 维空间中,超平面集合的VC维数等于n + 1 。 VC维数刻画了“可能近似正确”意义上的学习能力。
例:VC维数
四. 结构风险最小化
VC 理论引入期望风险的边界, 它依赖于实验风险与 F的能力。