支持向量机SVM原理详解+白板推导
2018-03-05 22:07
447 查看
感知机是SVM的基础,详细介绍请戳http://blog.csdn.net/akirameiao/article/details/79436859
X = {x1,x2,...,xnx1,x2,...,xn}
Y = {+1, -1}
模型:
感知机的目的是找到一个可以正确分类数据的超平面S:ω⋅x+b=0ω⋅x+b=0, 得到感知机模型 f(x)=sign(ω⋅x+b)f(x)=sign(ω⋅x+b),其中ω⋅x+b>0ω⋅x+b>0为正类,ω⋅x+b<0ω⋅x+b<0为负类。SVM和感知机最大的差别就是SVM寻找的间隔最大的超平面,所谓间隔,可以理解为实例点到超平面最小的距离,所以SVM找的是把数据正确分隔的”最开”的超平面。
间隔
函数间隔:对于给定的训练数据集T和超平面(ω,bω,b), 定义超平面关于样本点(xi,yixi,yi)的函数间隔为 γ̂ i=yi(ω⋅xi+b)γ^i=yi(ω⋅xi+b)
几何间隔:对于给定的训练数据集T和超平面(ω,bω,b), 定义超平面关于样本点(xi,yixi,yi)的几何间隔为 γi=1||ω||yi(ω⋅xi+b)=γ̂ i||ω||γi=1||ω||yi(ω⋅xi+b)=γ^i||ω||
所以我们可以建立模型:
输入: T={(x1,y1),(x2,y2),⋯,(xi,yi)}T={(x1,y1),(x2,y2),⋯,(xi,yi)}
输出: 分离超平面:ω⋅x+b=0ω⋅x+b=0 决策函数:f(x)=sign(ω⋅x+b)f(x)=sign(ω⋅x+b)
策略:
接下来的问题就是找到间隔最大的超平面,记超平面关于实例点的的几何间隔【1||ω||yi(ω⋅xi+b)≥γi1||ω||yi(ω⋅xi+b)≥γi 】, 定义超平面关于所有实例点的几何间隔为【γ=maxγiγ=maxγi】, 则问题就可以写成【 maxω,bγmaxω,bγ ,s.t.yi(ω⋅xi+b)≥γis.t.yi(ω⋅xi+b)≥γi 】
有几何间隔和函数间隔的关系,问题可以改写为【maxγ̂ ||ω||maxγ^||ω||】【s.t.yi(ω⋅xi+b)≥γ̂ ,i=1,2,⋯,Ns.t.yi(ω⋅xi+b)≥γ^,i=1,2,⋯,N】
由于同时成比例的改变 ωω 和 b ,不会影响超平面的位置,也不会影响不等式约束和目标函数的优化,可以令【γ̂ =1γ^=1】,为了求解的方便,把优化目标改成:min12||ω||2min12||ω||2,约束条件改成yi(ω⋅xi+b)−1≥0,i=1,2,⋯,Nyi(ω⋅xi+b)−1≥0,i=1,2,⋯,N
算法:
原始算法:
输入:线性可分数据集T={(x1,y1),(x2,y2),⋯,(xn,yn)}T={(x1,y1),(x2,y2),⋯,(xn,yn)},其中,xi∈Rn,yi∈{+1,−1},i=1,2,⋯,Nxi∈Rn,yi∈{+1,−1},i=1,2,⋯,N
输出:最大间隔分离超平面:ω∗⋅x+b∗=0ω∗⋅x+b∗=0 分类决策函数:f(x)=sign(ω∗⋅x+b∗)f(x)=sign(ω∗⋅x+b∗)
过程:(1)minω,b12||ω||2(1)minω,b12||ω||2, s.t.s.t. yi(ω⋅xi+b)−1≥0,i=1,2,⋯,Nyi(ω⋅xi+b)−1≥0,i=1,2,⋯,N,求的最优解 ω∗,b∗ω∗,b∗
(2)得到分离超平面 w∗⋅x+b=0w∗⋅x+b=0,决策函数 f(x)=sign(ω∗⋅x+b∗)f(x)=sign(ω∗⋅x+b∗)
对偶算法:
首先构建原始问题的拉格朗日函数 L(ω,b,α)=12||ω||2+∑Ni=1αi(1−yi(ω⋅xi+b))L(ω,b,α)=12||ω||2+∑i=1Nαi(1−yi(ω⋅xi+b)) 由拉格朗日对偶性,原始问题的对偶问题的极大极小问题 maxαminω,bL(ω,b,α)maxαminω,bL(ω,b,α) 接下来是求解过程
a. 对ω,bω,b 求偏导数,并令其等于0,【∇ωL(ω,b,α)=ω−∑Ni=1αiyixi=0∇ωL(ω,b,α)=ω−∑i=1Nαiyixi=0 】, 【∇bL(ω,b,α)=∑Ni=1αiyi∇bL(ω,b,α)=∑i=1Nαiyi】,得到【ω=∑Ni=1αiyixi,∑Ni=1αiyi=0ω=∑i=1Nαiyixi,∑i=1Nαiyi=0】
b. 将a中得到的结果代入拉格朗日函数,化简得到
【 minω,bL(ω,b,α)=−12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)+∑Ni=1αiminω,bL(ω,b,α)=−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi】
c. 接下来求【maxα−12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)+∑Ni=1αimaxα−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi,s.t ∑Ni=1αiyi=0∑i=1Nαiyi=0, αi≥0αi≥0】, 【i=1,2,⋯,Ni=1,2,⋯,N】
d. 转化为求【minα12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)−∑Ni=1αiminα12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi, s.t∑Ni=1αiyi=0∑i=1Nαiyi=0, αi≥0,i=1,2,⋯,Nαi≥0,i=1,2,⋯,N】
拉格朗日函数的KKT条件
∇ωL(ω,b,α)=0∇ωL(ω,b,α)=0
αi≥0αi≥0
yif(xi)−1≥0yif(xi)−1≥0
αi(yif(xi)−1)=0αi(yif(xi)−1)=0
e. 由KKT条件,ω∗=∑Ni=1α∗yixiω∗=∑i=1Nα∗yixi , 由于ω≠0ω≠0可知存在下标 j,使得α∗j>0αj∗>0 , 那么yi(ω⋅xi+b)=0,yi(ω⋅xi+b)=0,将 ωω 代入,得到 b∗=yj−∑Ni=1α∗iyi(xi⋅xj)b∗=yj−∑i=1Nαi∗yi(xi⋅xj)
输入:线性可分数据集T={(x1,y1),(x2,y2),⋯,(xn,yn)}T={(x1,y1),(x2,y2),⋯,(xn,yn)},其中,xi∈Rn,yi∈{+1,−1},i=1,2,⋯,Nxi∈Rn,yi∈{+1,−1},i=1,2,⋯,N
f.计算出 αα 之后,可以得到ω,bω,b,分离超平面∑Ni=1α∗iyi(x⋅xi)+b∗∑i=1Nαi∗yi(x⋅xi)+b∗ , 分类决策f(x)=sign(∑Ni=1α∗iyi(x⋅xi)+b∗)f(x)=sign(∑i=1Nαi∗yi(x⋅xi)+b∗)
策略:
min12||ω||2+C∑Niξimin12||ω||2+C∑iNξi
s.t.yi(ω⋅xi+b)≥1−ξis.t.yi(ω⋅xi+b)≥1−ξi
ξ≥0ξ≥0
算法:
a.L(ω,b,ξ,α,μ)=12||ω||2+C∑Niξi+∑Niαi[1−ξi−yi(ω⋅xi+b)]+∑Ni(−μiξi)a.L(ω,b,ξ,α,μ)=12||ω||2+C∑iNξi+∑iNαi[1−ξi−yi(ω⋅xi+b)]+∑iN(−μiξi)
展开后得到
L(ω,b,ξ,α,μ)=12||ω||2+C∑Niξi+∑Niαi−∑Niαiξi−∑Niαiyiωxi−∑Niαiyib−∑NiμiξiL(ω,b,ξ,α,μ)=12||ω||2+C∑iNξi+∑iNαi−∑iNαiξi−∑iNαiyiωxi−∑iNαiyib−∑iNμiξi
b.原始问题的对偶问题ω,b,ξω,b,ξ求偏导数,得到
∇ωL=ω−∑Niαiyixi∇ωL=ω−∑iNαiyixi
∇bL=−∑Niαiyi∇bL=−∑iNαiyi
∇ξiL=C−αi−μi∇ξiL=C−αi−μi
令偏导数为0,得到
ω=∑Niαiyixiω=∑iNαiyixi
∑Niαiyi=0∑iNαiyi=0
C−αi−μi=0C−αi−μi=0
c.将b中的结果代入拉格朗日函数,得到对偶问题
【 minω,bL(ω,b,α)=−12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)+∑Ni=1αiminω,bL(ω,b,α)=−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi】
d. 接下来求
maxα−12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)+∑Ni=1αimaxα−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi,s.t ∑Ni=1αiyi=0∑i=1Nαiyi=0, αi≥0αi≥0】, 【i=1,2,⋯,Ni=1,2,⋯,N】
e. 转化为求
minα12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)−∑Ni=1αiminα12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi,
s.t ∑Ni=1αiyi=0∑i=1Nαiyi=0,
αi≥0,i=1,2,⋯,Nαi≥0,i=1,2,⋯,N
μi≥0μi≥0
αi(yi(ω⋅xi+b)−1+ξi)=0αi(yi(ω⋅xi+b)−1+ξi)=0
f.计算出 αα 之后,可以得到ω,bω,b,分离超平面∑Ni=1α∗iyi(x⋅xi)+b∗∑i=1Nαi∗yi(x⋅xi)+b∗ , 分类决策f(x)=sign(∑Ni=1α∗iyi(x⋅xi)+b∗)f(x)=sign(∑i=1Nαi∗yi(x⋅xi)+b∗)
核函数:
K(xi,xj)=ϕ(xi)⋅ϕ(xj)K(xi,xj)=ϕ(xi)⋅ϕ(xj)
优化目标可以写成
分离超平面∑Ni=1α∗iyiK(x⋅xi)+b∗∑i=1Nαi∗yiK(x⋅xi)+b∗ , 分类决策 f(x)=sign(∑Ni=1α∗iyiK(x⋅xi)+b∗)f(x)=sign(∑i=1Nαi∗yiK(x⋅xi)+b∗)
核函数一般的由高斯核函数、
SMO算法
1.选出两个优化变量αi,αjαi,αj之后,通过代数方法求解二次规划问题
2.选出一个变量αiαi,如何选择第二个变量αjαj
![](https://img-blog.csdn.net/20180330165123771?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FraXJhbWVpYW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
![](https://img-blog.csdn.net/20180330165132472?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FraXJhbWVpYW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
原理
线性可分支持向量机
问题的输入输出X = {x1,x2,...,xnx1,x2,...,xn}
Y = {+1, -1}
模型:
感知机的目的是找到一个可以正确分类数据的超平面S:ω⋅x+b=0ω⋅x+b=0, 得到感知机模型 f(x)=sign(ω⋅x+b)f(x)=sign(ω⋅x+b),其中ω⋅x+b>0ω⋅x+b>0为正类,ω⋅x+b<0ω⋅x+b<0为负类。SVM和感知机最大的差别就是SVM寻找的间隔最大的超平面,所谓间隔,可以理解为实例点到超平面最小的距离,所以SVM找的是把数据正确分隔的”最开”的超平面。
间隔
函数间隔:对于给定的训练数据集T和超平面(ω,bω,b), 定义超平面关于样本点(xi,yixi,yi)的函数间隔为 γ̂ i=yi(ω⋅xi+b)γ^i=yi(ω⋅xi+b)
几何间隔:对于给定的训练数据集T和超平面(ω,bω,b), 定义超平面关于样本点(xi,yixi,yi)的几何间隔为 γi=1||ω||yi(ω⋅xi+b)=γ̂ i||ω||γi=1||ω||yi(ω⋅xi+b)=γ^i||ω||
所以我们可以建立模型:
输入: T={(x1,y1),(x2,y2),⋯,(xi,yi)}T={(x1,y1),(x2,y2),⋯,(xi,yi)}
输出: 分离超平面:ω⋅x+b=0ω⋅x+b=0 决策函数:f(x)=sign(ω⋅x+b)f(x)=sign(ω⋅x+b)
策略:
接下来的问题就是找到间隔最大的超平面,记超平面关于实例点的的几何间隔【1||ω||yi(ω⋅xi+b)≥γi1||ω||yi(ω⋅xi+b)≥γi 】, 定义超平面关于所有实例点的几何间隔为【γ=maxγiγ=maxγi】, 则问题就可以写成【 maxω,bγmaxω,bγ ,s.t.yi(ω⋅xi+b)≥γis.t.yi(ω⋅xi+b)≥γi 】
有几何间隔和函数间隔的关系,问题可以改写为【maxγ̂ ||ω||maxγ^||ω||】【s.t.yi(ω⋅xi+b)≥γ̂ ,i=1,2,⋯,Ns.t.yi(ω⋅xi+b)≥γ^,i=1,2,⋯,N】
由于同时成比例的改变 ωω 和 b ,不会影响超平面的位置,也不会影响不等式约束和目标函数的优化,可以令【γ̂ =1γ^=1】,为了求解的方便,把优化目标改成:min12||ω||2min12||ω||2,约束条件改成yi(ω⋅xi+b)−1≥0,i=1,2,⋯,Nyi(ω⋅xi+b)−1≥0,i=1,2,⋯,N
算法:
原始算法:
输入:线性可分数据集T={(x1,y1),(x2,y2),⋯,(xn,yn)}T={(x1,y1),(x2,y2),⋯,(xn,yn)},其中,xi∈Rn,yi∈{+1,−1},i=1,2,⋯,Nxi∈Rn,yi∈{+1,−1},i=1,2,⋯,N
输出:最大间隔分离超平面:ω∗⋅x+b∗=0ω∗⋅x+b∗=0 分类决策函数:f(x)=sign(ω∗⋅x+b∗)f(x)=sign(ω∗⋅x+b∗)
过程:(1)minω,b12||ω||2(1)minω,b12||ω||2, s.t.s.t. yi(ω⋅xi+b)−1≥0,i=1,2,⋯,Nyi(ω⋅xi+b)−1≥0,i=1,2,⋯,N,求的最优解 ω∗,b∗ω∗,b∗
(2)得到分离超平面 w∗⋅x+b=0w∗⋅x+b=0,决策函数 f(x)=sign(ω∗⋅x+b∗)f(x)=sign(ω∗⋅x+b∗)
对偶算法:
首先构建原始问题的拉格朗日函数 L(ω,b,α)=12||ω||2+∑Ni=1αi(1−yi(ω⋅xi+b))L(ω,b,α)=12||ω||2+∑i=1Nαi(1−yi(ω⋅xi+b)) 由拉格朗日对偶性,原始问题的对偶问题的极大极小问题 maxαminω,bL(ω,b,α)maxαminω,bL(ω,b,α) 接下来是求解过程
a. 对ω,bω,b 求偏导数,并令其等于0,【∇ωL(ω,b,α)=ω−∑Ni=1αiyixi=0∇ωL(ω,b,α)=ω−∑i=1Nαiyixi=0 】, 【∇bL(ω,b,α)=∑Ni=1αiyi∇bL(ω,b,α)=∑i=1Nαiyi】,得到【ω=∑Ni=1αiyixi,∑Ni=1αiyi=0ω=∑i=1Nαiyixi,∑i=1Nαiyi=0】
b. 将a中得到的结果代入拉格朗日函数,化简得到
【 minω,bL(ω,b,α)=−12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)+∑Ni=1αiminω,bL(ω,b,α)=−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi】
c. 接下来求【maxα−12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)+∑Ni=1αimaxα−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi,s.t ∑Ni=1αiyi=0∑i=1Nαiyi=0, αi≥0αi≥0】, 【i=1,2,⋯,Ni=1,2,⋯,N】
d. 转化为求【minα12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)−∑Ni=1αiminα12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi, s.t∑Ni=1αiyi=0∑i=1Nαiyi=0, αi≥0,i=1,2,⋯,Nαi≥0,i=1,2,⋯,N】
拉格朗日函数的KKT条件
∇ωL(ω,b,α)=0∇ωL(ω,b,α)=0
αi≥0αi≥0
yif(xi)−1≥0yif(xi)−1≥0
αi(yif(xi)−1)=0αi(yif(xi)−1)=0
e. 由KKT条件,ω∗=∑Ni=1α∗yixiω∗=∑i=1Nα∗yixi , 由于ω≠0ω≠0可知存在下标 j,使得α∗j>0αj∗>0 , 那么yi(ω⋅xi+b)=0,yi(ω⋅xi+b)=0,将 ωω 代入,得到 b∗=yj−∑Ni=1α∗iyi(xi⋅xj)b∗=yj−∑i=1Nαi∗yi(xi⋅xj)
输入:线性可分数据集T={(x1,y1),(x2,y2),⋯,(xn,yn)}T={(x1,y1),(x2,y2),⋯,(xn,yn)},其中,xi∈Rn,yi∈{+1,−1},i=1,2,⋯,Nxi∈Rn,yi∈{+1,−1},i=1,2,⋯,N
f.计算出 αα 之后,可以得到ω,bω,b,分离超平面∑Ni=1α∗iyi(x⋅xi)+b∗∑i=1Nαi∗yi(x⋅xi)+b∗ , 分类决策f(x)=sign(∑Ni=1α∗iyi(x⋅xi)+b∗)f(x)=sign(∑i=1Nαi∗yi(x⋅xi)+b∗)
线性支持向量机
如果数据中大部分点是线性可分的,但是存在少数点是线性不可分,这种情况下,就可以使用软间隔支持向量机,每个实例支付一个代价 ξiξi ,将约束条件写成 yi(ω⋅xi+b)≥1−ξiyi(ω⋅xi+b)≥1−ξi , 将优化目标函数写成 12||ω||2+C∑Niξi12||ω||2+C∑iNξi, C是调和两者的参数,这样的叫做软间隔支持向量机策略:
min12||ω||2+C∑Niξimin12||ω||2+C∑iNξi
s.t.yi(ω⋅xi+b)≥1−ξis.t.yi(ω⋅xi+b)≥1−ξi
ξ≥0ξ≥0
算法:
a.L(ω,b,ξ,α,μ)=12||ω||2+C∑Niξi+∑Niαi[1−ξi−yi(ω⋅xi+b)]+∑Ni(−μiξi)a.L(ω,b,ξ,α,μ)=12||ω||2+C∑iNξi+∑iNαi[1−ξi−yi(ω⋅xi+b)]+∑iN(−μiξi)
展开后得到
L(ω,b,ξ,α,μ)=12||ω||2+C∑Niξi+∑Niαi−∑Niαiξi−∑Niαiyiωxi−∑Niαiyib−∑NiμiξiL(ω,b,ξ,α,μ)=12||ω||2+C∑iNξi+∑iNαi−∑iNαiξi−∑iNαiyiωxi−∑iNαiyib−∑iNμiξi
b.原始问题的对偶问题ω,b,ξω,b,ξ求偏导数,得到
∇ωL=ω−∑Niαiyixi∇ωL=ω−∑iNαiyixi
∇bL=−∑Niαiyi∇bL=−∑iNαiyi
∇ξiL=C−αi−μi∇ξiL=C−αi−μi
令偏导数为0,得到
ω=∑Niαiyixiω=∑iNαiyixi
∑Niαiyi=0∑iNαiyi=0
C−αi−μi=0C−αi−μi=0
c.将b中的结果代入拉格朗日函数,得到对偶问题
【 minω,bL(ω,b,α)=−12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)+∑Ni=1αiminω,bL(ω,b,α)=−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi】
d. 接下来求
maxα−12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)+∑Ni=1αimaxα−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi,s.t ∑Ni=1αiyi=0∑i=1Nαiyi=0, αi≥0αi≥0】, 【i=1,2,⋯,Ni=1,2,⋯,N】
e. 转化为求
minα12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)−∑Ni=1αiminα12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi,
s.t ∑Ni=1αiyi=0∑i=1Nαiyi=0,
αi≥0,i=1,2,⋯,Nαi≥0,i=1,2,⋯,N
μi≥0μi≥0
αi(yi(ω⋅xi+b)−1+ξi)=0αi(yi(ω⋅xi+b)−1+ξi)=0
f.计算出 αα 之后,可以得到ω,bω,b,分离超平面∑Ni=1α∗iyi(x⋅xi)+b∗∑i=1Nαi∗yi(x⋅xi)+b∗ , 分类决策f(x)=sign(∑Ni=1α∗iyi(x⋅xi)+b∗)f(x)=sign(∑i=1Nαi∗yi(x⋅xi)+b∗)
非线性支持向量机
当数据在当前输入空间线性不可分时,可以使用映射函数,ϕ(x)ϕ(x) 将样本映射到特征空间,使它们变得线性可分核函数:
K(xi,xj)=ϕ(xi)⋅ϕ(xj)K(xi,xj)=ϕ(xi)⋅ϕ(xj)
优化目标可以写成
分离超平面∑Ni=1α∗iyiK(x⋅xi)+b∗∑i=1Nαi∗yiK(x⋅xi)+b∗ , 分类决策 f(x)=sign(∑Ni=1α∗iyiK(x⋅xi)+b∗)f(x)=sign(∑i=1Nαi∗yiK(x⋅xi)+b∗)
核函数一般的由高斯核函数、
SMO算法
1.选出两个优化变量αi,αjαi,αj之后,通过代数方法求解二次规划问题
2.选出一个变量αiαi,如何选择第二个变量αjαj
白板推导
面试必会
线性支持向量机
实现
Python代码相关文章推荐
- SVM-支持向量机原理详解与实践
- 支持向量机SVM 原理、推导与Matlab实现(2)-对偶问题
- SVM(support vector machine)支持向量机原理详解
- 分类算法----线性可分支持向量机(SVM)算法的原理推导
- 【机器学习】支持向量机SVM原理及推导
- SVM-支持向量机原理详解与实践之一
- 支持向量机SVM 原理、推导与Matlab实现
- SVM-支持向量机原理详解与实践之二
- 支持向量机(SVM)原理与实践(一)
- 奇异值分解(SVD)原理详解及推导
- 【转】奇异值分解(SVD)原理详解及推导
- 手推SVM 支持向量机的简易推导和理解
- 支持向量机(SVM)的数学原理
- 支持向量机(SVM)的详细推导过程及注解
- SVM(支持向量机)详解
- 奇异值分解(SVD)原理详解及推导
- SVM原理详解
- 支持向量机(SVM)入门理解与推导
- SVM-支持向量机详解(三)
- SVM(支持向量机)详解