这段内容太多,本想不写。但实在太基础了。本节内容主要理论来源于李航《统计学习方法》。从今天开始,我开始看第三遍了。
推荐首先结合这篇 机器学习第四课:SVM前置知识点(凸优化问题)看
http://blog.csdn.net/dajiabudongdao/article/details/52462942
支持向量机SVM是一种二类分类模型。支持向量机的学习策略就是间隔最大化,可形式化求解一个凸二次规划问题。
线性可分,简单点说, 存在一条线性分割,可以将集合的正标识与负标识分割开来。
1.1 简介
对于给定的训练集T和超平面(w,b)。定义超平面(w,b)关于样本点 (xi,yi) 的(不带符号的)函数间隔为 γi^=yi(wxi+b) ,函数间隔向量化为
超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点的函数间隔最小值(注:到目前为止还没考虑符号问题)。
这好像很熟悉?看看我们初中点 (x0,y0) 到直线Ax+By+C=0的距离公式吧!
上次推导是什么意思?其实本质就是初中那点东西。
初中的直角坐标系中直线表示:Ax+By+C=0,设 x=(x;y),w=(A,B) (注,这里x是列向量),则原公式可以化为( wx+C=0 )
则点到直线公式可以写成 d=|wx+C|w2√ ,这就是 γ=w∥w∥xi+b∥w∥ 。
恩?什么地方不一样?对!前者有绝对值。绝对值的作用是对方向进行封印,前面说过,我们定义的距离是有方向的(因为正方向一边一类,负方向一边一类),所以这里没有绝对值。
那么问题来了。在算距离误差时候,我们也会只考虑正值。我们是不是也该调和下。我们第一反应自然是绝对值。但是,这种绝对值的写法难处理,非常不适合我们的需求。于是我们换了一种更通用的技巧:
因为样本点 (xi,yi) 中y仅可取{-1,1},所以带不符号的几何距离可以这么写。
1.2间隔最大化
我觉得在思考的时候以点到直线距离的二维思路来进行N推演是比较靠谱的。那么,我们回想下我们的最终目的是什么??当然是找到下图中间这条实线!这样的直线很多,我们的任务就是找到尽可能大的确信度。这就引出了间隔最大化。(直观的几何解释就是那最大化那条宽宽的Gap)
最大间隔平面变为最优化几何距离 γ 的问题。
注意:为了方便后期运算,下面的参数没有用向量的写法。
这里但额目标函数满足了KKT条件。这就是SVM巧妙的东西,也是核心思想的东西。这关乎到最大间隔的存在性与唯一性证明与求解方法。如果想深究建议直接看我这里的内容:
http://blog.csdn.net/dajiabudongdao/article/details/52462942
满足KKT条件的话,那么他的对偶形式肯定有解了。
我们直接把他的对偶形式写出来吧!对偶形式怎么写?
1.先用拉格朗日乘数法搞一下。
因为是求最小值,所以为要最小化拉格朗日函数
3.1硬间隔是什么鬼?
上面所说的线性可分的情况都是硬间隔。如果近似线性可分的话我们需要加一个松弛变量。这种看似“马马虎虎”的行为我们称之为“软间隔”。这么说软间隔的弹性较大,硬间隔的弹性较小。
3.2什么是支持向量?
就是一侧边界上点组成的向量。支持就是边界支撑的意思。