《统计学习方法》--支持向量机
Posted 兜里有糖心里不慌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《统计学习方法》--支持向量机相关的知识,希望对你有一定的参考价值。
《统计学习方法》第七章–支持向量机
支持向量机概述
支持向量机是一种二类分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器。支持向量机由简至繁依次可分为:线性可分支持向量机,线性支持向量机,非线性支持向量机。当数据线性可分时,通过硬间隔最大化的约束来学习一个分类器,称为线性可分支持向量机;当数据近似线性可分时,通过软间隔最大化的约束来学习一个分类器,称为线性支持向量机;当数据线性不可分时通过使用核技巧及软间隔最大化,学习非线性支持向量机。故此,支持向量机可以简化的描述为通过训练数据集来寻找一个能够将数据正确分类的超平面,此分离超平面满足数据集中的数据点距此超平面的间隔(软间隔/硬间隔)最大化。
基础前提
函数间隔和几何间隔
间隔最大化是贯穿于整个支持向量机模型的最核心的部分。一般来说,一个点距离分离超平面的远近可以表示分类预测的确信程度,在分离超平面确定的情况下,若一个点离超平面越远则分类正确的可信度越高。故此,支持向量机寻求间隔最大化的意义在于分离超平面不仅可以正确分类数据点,而且对于最难分的实例(距离超平面最近的点)也有较大的分类可信度,因此该模型再对未知数据分类时应该也具有较好的性能。
函数间隔
对于给定的训练数据集 T T T和超平面 ( ω , b ) (\\omega,b) (ω,b),
定义超平面 ( ω , b ) (\\omega,b) (ω,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔为 γ i ^ = y i ( ω ⋅ x i + b ) \\hat\\gamma_i=y_i(\\omega\\cdot x_i+b) γi^=yi(ω⋅xi+b)
定义超平面 ( ω , b ) (\\omega,b) (ω,b)关于训练数据集 T T T的函数间隔为超平面 ( ω , b ) (\\omega,b) (ω,b)关于 T T T中所有样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔最小值,即 γ ^ = min i = 1 , 2 , . . , N γ i ^ \\hat\\gamma=\\min_i=1,2,..,N\\hat\\gamma_i γ^=i=1,2,..,Nminγi^
几何间隔
由于函数间隔在当 ω \\omega ω和 b b b成比例的改变时候,得到的分离超平面并没有变化,但是函数间隔却也成比例的改变,故此自然想到应该对其进行规范化处理,令 ∣ ∣ ω ∣ ∣ = 1 ||\\omega||=1 ∣∣ω∣∣=1,这样就得到了几何间隔的定义。
对于给定的训练数据集 T T T和超平面 ( ω , b ) (\\omega,b) (ω,b)
定义超平面 ( ω , b ) (\\omega,b) (ω,b)关于样本点 ( x i , y ) i (x_i,y_)i (xi,y)i的几何间隔为 γ i = y i ( ω ∣ ∣ ω ∣ ∣ ⋅ x i + b ∣ ∣ ω ∣ ∣ ) \\gamma_i=y_i(\\frac\\omega||\\omega||\\cdot x_i+\\fracb||\\omega||) γi=yi(∣∣ω∣∣ω⋅xi+∣∣ω∣∣b)
定义超平面 ( ω , b ) (\\omega,b) (ω,b)关于训练数据集 T T T的几何间隔为超平面 ( ω , b ) (\\omega,b) (ω,b)关于 T T T中所有样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的几何间隔最小值,即 γ = min i = 1 , 2 , . . . , N γ i \\gamma=\\min_i=1,2,...,N\\gamma_i γ=i=1,2,...,Nminγi
线性可分支持向量机与硬间隔最大化
给定线性可分训练数据集,通过间隔最大化(几何间隔最大化)或等价的求解相应的凸二次规划问题得到的分离超平面为 ω ∗ ⋅ x + b ∗ = 0 \\omega^*\\cdot x+b^*=0 ω∗⋅x+b∗=0,相应的分类决策函数为 f ( x ) = s i g n ( ω ∗ ⋅ x + b ∗ ) f(x)=sign(\\omega^*\\cdot x+b^*) f(x)=sign(ω∗⋅x+b∗)。线性可分支持向量机可以表述为下列形式: max ω , b γ − − − − ( 1 ) \\max_\\omega,b\\gamma----(1) ω,bmaxγ−−−−(1) s . t . y i ( ω ∣ ∣ ω ∣ ∣ ⋅ x i + b ∣ ∣ ω ∣ ∣ ) ≥ γ , i = 1 , 2... , N − − − − ( 2 ) s.t. y_i(\\frac\\omega||\\omega||\\cdot x_i+\\fracb||\\omega||)\\geq\\gamma,i=1,2...,N----(2) s.t.yi(∣∣ω∣∣ω⋅xi+∣∣ω∣∣b)≥γ,i=1,2...,N−−−−(2)
即我们希望找到的分类超平面是与整个训练数据集有着最大的几何间隔(硬间隔)。
公式(1)表示我们的目标函数,即最大化分类超平面关于训练数据集的几何间隔,
公式(2)表示我们需要满足的约束条件,即训练数据集中的每一个样本点与分类超平面的几何间隔都应该至少是所求的 γ \\gamma γ
这样就把问题转化为了一个约束最优化问题。依据函数间隔和几何间隔的关系 γ = γ ^ ∣ ∣ ω ∣ ∣ \\gamma=\\frac\\hat\\gamma||\\omega|| γ=∣∣ω∣∣γ^带入公式(1)(2)中即可得: max ω , b γ ^ ∣ ∣ ω ∣ ∣ − − − − ( 3 ) \\max_\\omega,b\\frac\\hat\\gamma||\\omega||----(3) ω,bmax∣∣ω∣∣γ^−−−−(3) s . t . y i ( ω ∣ ∣ ω ∣ ∣ ⋅ x i + b ∣ ∣ ω ∣ ∣ ) ≥ γ ^ ∣ ∣ ω ∣ ∣ , i = 1 , 2... , N − − − − ( 4 ) s.t. y_i(\\frac\\omega||\\omega||\\cdot x_i+\\fracb||\\omega||)\\geq\\frac\\hat\\gamma||\\omega||,i=1,2...,N----(4) s.t.yi(∣∣ω∣∣以上是关于《统计学习方法》--支持向量机的主要内容,如果未能解决你的问题,请参考以下文章