目录
什么是SVM
是一种分类模型,求一个能使两类点分布在超平面两侧且间隔最大化的平面。实际中,分为线性可分SVM,线性SVM和非线性SVM。
什么是间隔
那么如何定义“间隔”?
假设一个数据集线性可分, x∈Rn,y∈{ +1,−1} x ∈ R n , y ∈ { + 1 , − 1 } ,超平面 (ω,b) ( ω , b ) 将点完全非离到平面两侧。点 (x,y) ( x , y ) 到平面 (ω,b) ( ω , b ) 的距离为 |ω⋅x+b| | ω ⋅ x + b | ,若点到平面的距离越远说明分类越可靠,反之越不可靠。若 y(ω⋅x+b) y ( ω ⋅ x + b ) 为正,则点被超平面正确分类,否则为负。所以 y(ω⋅x+b) y ( ω ⋅ x + b ) 可以代表分类的正确性和分类的确信度。
所以定义,数据集到平面的函数间隔为,离平面最近的点(即支持向量)到平面的函数间隔:
但,由于同比例放大 ω和b ω 和 b ,没有改变平面但是函数间隔放大。所以定义几何间隔:
线性可分SVM的学习思想
有了上面几何间隔的定义,则支持向量机学习的基本思想是,求解能够正确划分训练数据集并且使几何间隔最大化的分离超平面,表示为:
为了方便求解,做如下变换。首先,将 γ=γ^||ω|| γ = γ ^ | | ω | | 代入原式。然后,因为函数间隔的大小变化,可以看做 (ω,b) ( ω , b ) 的等比例变换,它的大小不影响超平面,所以可以令 γ^=1 γ ^ = 1 ,即目标函数变换为 maxω,b1||ω|| max ω , b 1 | | ω | | ,同时约束条件也 s.t.yi(ω⋅xi+b)≥1,i=1,2,...,N s . t . y i ( ω ⋅ x i + b ) ≥ 1 , i = 1 , 2 , . . . , N
最后,将目标函数取倒数并取平方,将原最大化化问题转化为凸最小化问题,
系数 12 1 2 也是为了后面求导时简化计算,这里先不解释。做这些变化的原因,是为了转化为凸优化问题,这样的好处是,凸优化问题的解如果存在一定是全局最优解。而对于线性可分数据集,一定存在超平面使点分隔在平面两侧,即解非空,所以上式问题解存在且唯一。
存在性证明:因为数据集线性可分多以一定存在可行解。有目标函数是凸函数有下界,所以一定存在最优解。有训练集既有正实例又有负实例,所以 (ω,b)=(0,b) ( ω , b ) = ( 0 , b ) 不是最优解,所以存在性得证。唯一性证明:较复杂,假设存在两个最优解 (ω∗1,b∗) ( ω 1 ∗ , b ∗ ) 和 (ω∗2,b) ( ω 2 ∗ , b ) ,想办法证明 ω∗1=ω∗2 ω 1 ∗ = ω 2 ∗ 。同理,设两个最优解 (ω∗,b∗1) ( ω ∗ , b 1 ∗ ) 和 (ω∗,b∗2) ( ω ∗ , b 2 ∗ ) ,证明 b∗1=b∗2 b 1 ∗ = b 2 ∗ 。证明过程略。
有关凸优化,可参考其他博文。
拉格朗日对偶性
前面推导了线性可分支持向量机的学习方法,下面,如何求解这个带约束的最优化问题?答案是,应用拉格朗日对偶性,它是将目标函数和约束条件“融合”到新的函数,即拉格朗日函数,变为非约束最优化问题,来方便求解。是一种求解约束的最优化问题的方法。下简单解释。原约束最小化问题,