按照自己的理解初步的推导一下的SVM的原理,持续还会有更新,不断地加入新的内容。
SVM是一种二分类方法,是一种可以解决线性、非线性的分类算法,SVM的核心观点是在两类数据间找到一个线性“超平面”,使其与两类数据间隔最远,接下来我们按照这个思路对SVM进行推导,叙述大致思路,省略数学计算。
我们率先讨论线性可分问题,即可用一条线性直线(在二维空间,三维空间是线性平面,更高维是超平面,为便于表示我们假设二维空间)将两类分开,如下所示,定义
f
(
x
)
=
w
T
x
+
b
f(x)=w^Tx+b
f(x)=wTx+b分类函数,
w
w
w代表权重,
x
x
x代表数据特征,
b
b
b代表偏置,
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0代表分类直线,当结果大于0时代表在分类直线上方,当结果小于0时代表在分类直线下方。
首先我们需要对间隔有一个定义,先给出一个间隔定义,名为函数间隔,functional margin。定义
y
y
y为每个数据的实际类别(
l
a
b
e
l
label
label),用+1和-1分别表示两类,图中圈圈为正类别+1,叉叉为负类别-1。
对每个函数点,定义
γ
i
=
y
(
i
)
f
(
x
)
γ_i=y^{(i)}f(x)
γi=y(i)f(x),用
l
a
b
e
l
label
label乘以分类函数结果,当数据为正类,
y
i
y^{{i}}
yi和
f
(
x
)
f(x)
f(x)均为正值,相乘结果为正,相反,当数据为负类,相乘结果为仍为正值,这样,我们就定义了一个恒正的间隔值,成为函数间隔。接着,对于每一个函数点,我们取一个最小值,代表这组数据的函数间隔,
γ
f
=
min
γ
i
(
i
=
1
,
2
,
3
,
.
.
.
,
n
)
γ_f=\minγ_{i(i=1,2,3,...,n)}
γf=minγi(i=1,2,3,...,n)
可是仅仅使用函数间隔来表示是不够的,因为当成比例的改变
w
w
w和
b
b
b,比如改变为
2
w
2w
2w何
2
b
2b
2b,此时分割平面的位置没有改变,而函数间隔却改变了,这样是不严谨的,我们需要加入约束条件,使其规范化。
定义图中的
γ
γ
γ的为几何间隔,geometrical margin,
w
w
w实际上为法向量,我们对其进行推导,根据已知条件列出方程组,
{
x
1
=
x
0
+
γ
i
w
∣
∣
w
∣
∣
w
T
x
0
+
b
=
0
\left\{\begin{array}{cc} x_1=x_0+γ_i\frac{w}{||w||} \\ w^Tx_0+b=0\ \end{array}\right.
{x1=x0+γi∣∣w∣∣wwTx0+b=0 求得结果为
γ
i
=
f
(
x
)
∣
∣
w
∣
∣
γ_i=\frac{f(x)}{||w||}
γi=∣∣w∣∣f(x)
因为距离非负性,将结果乘以
y
i
y_i
yi,得到
γ
i
=
y
i
f
(
x
)
∣
∣
w
∣
∣
γ_i=\frac{y_if(x)}{||w||}
γi=∣∣w∣∣yif(x)对所有函数点,取最小值
γ
g
=
min
y
i
f
(
x
)
∣
∣
w
∣
∣
(
i
=
1
,
2
,
3
,
.
.
.
,
n
)
=
γ
f
∣
∣
w
∣
∣
γ_g=\min \frac{y_if(x)}{||w||}(i=1,2,3,...,n)=\frac{γ_f}{||w||}
γg=min∣∣w∣∣yif(x)(i=1,2,3,...,n)=∣∣w∣∣γf可以看出,几何间隔实际上就是函数间隔除以
∣
∣
w
∣
∣
||w||
∣∣w∣∣。
我们的目的是寻找一个最大间隔分类器,因此我们要让函数间隔最大化,即
m
a
x
γ
g
maxγ_g
maxγg
为简化计算,我们令函数间隔
γ
f
=
1
γ_f = 1
γf=1,最后的求解即为
max
1
∣
∣
w
∣
∣
,
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
.
.
.
,
n
\max\frac{1}{||w||} ,s.t .y_i(w^Tx_i+b)\geq1,i=1,...,n
max∣∣w∣∣1,s.t.yi(wTxi+b)≥1,i=1,...,n
未完待续
简述SVM
最新推荐文章于 2024-08-15 19:32:28 发布
本文深入浅出地介绍了SVM(支持向量机)的基本原理,包括其作为二分类方法的角色,如何在数据间找到最佳超平面以实现最大间隔。通过讨论线性可分情况,解释了函数间隔和几何间隔的概念,以及为何需要最大化几何间隔。文章末尾指出,目标是求解最大间隔分类器,并给出了相应的优化目标。后续内容将展开更多细节。
摘要由CSDN通过智能技术生成