1、线性可分支持向量机学习算法--最大间隔法
输入:线性可分训练集T={(x1,y1),(x2,y2),,,,(xn,yn)},其中,xi属于R,yi属于+-1
输出:最大间隔分离超平面和分离决策函数。
(1)构造并求约束最优化问题。
求解最优解w*,b*.
(2)由此得到分离超平面:
w* .x +b* =0
分类决策函数:f(x)=sign(w∗⋅x+b∗)
2、线性可分支持向量机学习算法
输入:线性可分训练集T={(x1,y1),(x2,y2),,,(xn,yn)}
输出:分离超平面和分类决策函数。
(1)构造约束最优化问题
求得最优解
(2)计算
并选择a*的一个正分量a*j>0,计算
求得分离超平面
分类决策函数:
3、线性支持向量机学习算法
输入:线性可分训练集T={(x1,y1),(x2,y2),,,(xn,yn)}
输出:分离超平面和分类决策函数。
(1)选择惩罚参数c>0,构造并求解凸二次规划问题
求得最优解a*=(a1*,a2*,,,,an*)T。
(2)计算
满足条件0<aj*<C,计算
(3)求得分离超平面
分类决策函数
4、非线性支持向量机学习算法
输入:训练数据集
输出:分类决策函数
(1)选取适当的核函数K(x,z)和适当的参数C,构造并求解最优化问题
求得最优解
(2)选择a*的一个正分量0<aj<c,计算
(3)构造决策函数
当K(x,z)是正定核函数时,该问题为凸二次规划问题,解释存在的。
5、最小最优化SMO算法
输入:训练集
输出:近似解a
(1)取初值a(0)=0,令k=0
(2)选取优化变量a1(k),a2(k),解析求解两个变量的最优化问题。求得最优解a1(k+1),a2(k+1),更新a为a(k+1);
(3)若在进度范围内满足停机条件:
其中,
则转步骤(4),否则令k=k+1,转步骤(2);
(4)取a=a(k+1)