Select Language

AI社区

AI技术百科

非线性SVM算法原理

对于输入空间中的非线性分类问题,可以通过非线性变换将它转化为某个维特征空间中的线性分类问题,在高维特征空间

中学习线性支持向量机。由于在线性支持向量机学习的对偶问题里,目标函数和分类决策函数都只涉及实例和实例之间的内积,所以不需要显式地指定非线性变换而是用核函数替换当中的内积。核函数表示,通过一个非线性转换后的两个实例间的内积。具体地, [公式] 是一个函数,或正定核,意味着存在一个从输入空间到特征空间的映射 [公式] ,对任意输入空间中的 [公式] ,有

[公式]

在线性支持向量机学习的对偶问题中,用核函数 [公式]  替代内积,求解得到的就是非线性支持向量机

[公式]

综合以上讨论,我们可以得到非线性支持向量机学习算法如下:

输入:训练数据集 [公式] 其中,[公式][公式]

输出:分离超平面和分类决策函数

(1)选取适当的核函数 [公式] 和惩罚参数 [公式] ,构造并求解凸二次规划问题

[公式]

[公式]

[公式]

得到最优解 [公式]

(2)计算

选择 [公式] 的一个分量 [公式] 满足条件 [公式] ,计算

[公式]

(3)分类决策函数:

[公式]


介绍一个常用的核函数——高斯核函数

[公式]

对应的SVM是高斯径向基函数分类器,在此情况下,分类决策函数为

[公式]


参考

[1]《统计学习方法》 李航

[2]《机器学习》周志华

[3]Python3《机器学习实战》学习笔记(八):支持向量机原理篇之手撕线性SVM Jack-Cui

[4]深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件

[5]支持向量机通俗导论(理解SVM的三层境界)

[6]Support Vector Machines for Classification


我要发帖
svm算法
2021-12-02 23:00:13加入圈子
  • 3

    条内容
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。