You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
2.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

支持向量机SVM是通过已知训练点的类别求训练点和类别之间的对应关系以便将训练集按照类
别分开,或者是预测新的训练点所对应的类别。其数据主要分为线性可分数据和非线性可分数据,通过
建立数据之间的最优超平面来区分数据类别。
最优超平面:
假设线性可分样本(x1,d1),(x2,d2),....,(xn,dn)对于任意输入的样本其期望输出都为1或-1d=1或-1
,用来代表两类类别的标识。
当空间为二维空间时直线可划分区域块其方程为x1+x2 = 1用向量表示即为[1,1]^{T}[x1,x2]-1 = 0
当空间为三维空间时平面可划分区域块其方程为x1+x2+x3 = 1用向量表示即为[1,1,1]^{T}
[x1,x2,x3]-1 = 0
由此推广到高维空间可得超平面方程为W^{T} X+b = 0X为输入向量W为向量权值b为偏置
则W^{T} X+b > 0d = 1W^{T} X+b < 0d = -1
超平面与最近的样本之间的间隔称为分离边缘ρ表示SVM的目标就是找到使ρ最大时的W和b
由于无法直接求得W和b可通过预测函数y = f(x) = sgn(W^{T} X+b)对给定样本的分类错误最小
由几何数学可知空间内一点到最优超平面的距离为r = (W^{T} X+b)/ ||W0||
令g(x) = r ||W0|| = W^{T} X+b → r = g(x)/ ||W0|| = 1/ ||W0|| d = 1r = g(x)/ ||W0|| = -1/ ||W0||
d = -1
所以分离边缘ρ = 2r = 2/ ||W0||
线性可分数据最优超平面:
最优超平面的权向量是训练样本向量的线性组合,且只有支持向量影响最终划分结果
W = α01d1X1 + α02d2X2 + ... + α0ndnXn
b = 1-W^{T} X
非线性可分数据:
SVM对于非线性可分的数据是将输入向量映射到一个高维度特征向量空间如果选用的映射函数适当且
特征空间的维数足够高,则大多数非线性可分模式在特征空间中可转化为线性可分模式,该构造与内积
核相关
以下为四种常用的核函数:
线性核函数K(X,Xp) = X' Xp
多项式核函数K(X,Xp) = [(X Xp)+1]^q
Gauss核函数K(X,Xp) = exp(- |X - X^p|^2/2ρ^2)
Sigmoid核函数K(X,Xp) = tanh(k(X·X^p))+c tanh(x)=(e^x - e^(-x))/(e^x + e^(-x))
支持向量机的学习算法:
(1)准备一组训练样本(x1,d1),(x2,d2),....,(xn,dn)
(2)在约束条件α1d1+α2d2+ ... +αndn = 00<=α<=C下使目标函数Q(α)最大化的αop
(3)计算最优权值W
(4)对于待分类模式X计算判别函数决定X的归属