此文是根据July大神所写的支持向量机通俗导论(理解SVM的三层境界)一文的读后感,记录下自己的一点感悟与体会。
SVM 它本质上即是一个二分类方法,用
1.算法步骤:
1.1 选取合适的核函数
1.2 将训练数据
这里,大部分
1.3 根据上一步求得得分类函数对待分类数据x进行二分类。即判断
2.核函数
核函数:
核函数原理:
将低维线性不可分数据通过核函数映射到高维,达到线性可分的目的,并利用内积函数使运算量并未明显增加。
3.多分类器的应用
SVM是二分类器,对于N类问题的分类有两种办法:
1. 训练N个SVM分类器,每个分类器对应分类一种类别与其他N-1种类别,最终分类结果是具有最大正距离的类别,即正向离超平面距离最远。实际应用上应该是取f(x)的最大值。
2. 训练
4.拉格朗日对偶性
凸函数寻找最大值问题的求解方法,其局部最大值即全局最大值!
目标函数:
这里的某些条件即KKT条件:
5.使用松弛变量处理outliers 方法
数据本身是非线性结构的,而只是因为数据有噪声。对于这种偏离正常位置很远的数据点,我们称之为outlier ,在我们原来的SVM 模型里,outlier的存在有可能造成很大的影响,因为超平面本身就是只有少数几个support vector 组成的,如果这些support vector 里又存在outlier 的话,其影响就很大了。为了处理这种情况,SVM 允许数据点在一定程度上偏离一下超平面。