1 函数间隔和几何间隔
逻辑回归 h θ ( x ) = g ( θ T x ) h_\theta( x)=g(\theta^T x) hθ(x)=g(θTx)其中的θ是{ θ 0 \theta_0 θ0, θ 1 \theta_1 θ1… θ n \theta_n θn},这里我们用 w = θ 1 , . . . , θ n w={\theta_1,...,\theta_n} w=θ1,...,θn,b= θ 0 \theta_0 θ0,进而得到 h w , b ( x ) = g ( w T x + b ) h_{w,b}( x)=g(w^T x+b) hw,b(x)=g(wTx+b)。以二分类举例,这里我们使用{-1,1}来表示两类。也就是说y=g(z),当z>0时,y=1,当z<0时,y=-1。
函数间隔
γ
^
=
y
i
(
w
x
i
+
b
)
\hat{\gamma}=y^i(wx^i+b)
γ^=yi(wxi+b)
已知分界面为
w
x
+
b
=
0
wx+b=0
wx+b=0,我们用上式表示函数间隔。所谓间隔有间也有隔分别对应分类的确信度和正确性。
正确性: 如果
w
x
i
+
b
<
0
wx^i+b<0
wxi+b<0,则对应yi应该为-1,即
y
i
(
w
x
i
+
b
)
>
0
y^i(wx^i+b)>0
yi(wxi+b)>0;如果
w
x
i
+
b
>
0
wx^i+b>0
wxi+b>0,则对应yi应该为1,即
y
i
(
w
x
i
+
b
)
>
0
y^i(wx^i+b)>0
yi(wxi+b)>0。如果分类正确那么
γ
^
\hat{\gamma}
γ^ 始终大于0。
确信度: 如果
w
x
i
+
b
wx^i+b
wxi+b远远大于0,这表示该点离分界面很远,表明该点分类正确性的可能很大。所以
γ
^
\hat{\gamma}
γ^ 值越大表明点离分界面越远确信度越高。
但是函数间隔存在一定的问题,上述定义的函数间隔虽然可以表示分类预测的正确性和确信度,但在选择分类 超平面时,只有函数间隔还远远不够,因为如果成比例的改变 w 和 b,如将他们改变为 2w 和 2b,虽然此时超 平面没有改变,但函数间隔的值
γ
^
\hat{\gamma}
γ^却变成了原来的 4 倍。
所以在实际中,我们定义点到超平面的距离时,采用的是几何间隔
几何间隔
τ
=
y
i
(
w
x
i
+
b
)
∣
∣
w
∣
∣
\tau=\frac{y^i(wx^i+b)}{||w||}
τ=∣∣w∣∣yi(wxi+b)
上式表示为几何间隔。
在上图中w向量与分界面垂直,
γ
\gamma
γ表示x与x0之间的距离,我们可得
x
=
x
0
+
γ
∣
∣
w
∣
∣
x=x_0+\frac{\gamma} { ||w||}
x=x0+∣∣w∣∣γ。
为了消除函数间隔随着w的改变而改变的缺点,对w进行标准化,所以需要除以它的二范数。
γ
=
(
w
x
i
+
b
)
/
∣
∣
w
∣
∣
\gamma =(wx^i+b)/||w||
γ=(wxi+b)/∣∣w∣∣
所以集合间距
τ
=
γ
^
/
∣
∣
w
∣
∣
\tau = \hat{\gamma}/||w||
τ=γ^/∣∣w∣∣,可以看到,此时系数的成倍的变化,不会带来几何间隔的改变。
2 最优间隔分类器
这里网上有位大佬讲的非常好,视频在这,下面是笔记
如图中所示我们要寻找“x"和”O“的边界,其中两条分界线都满足分类要求,但是图中绿色分界线距离样本点的最小距离是比较小的,而蓝色分界线的最小距离较大(如图中绿色箭头和蓝色箭头所示)。这就说明当对新数据进行判别时蓝色分界线的鲁棒性更强。
在处理分类问题时,我们就是要寻找最大间隔(距离超平面最近的点到超平面的距离最大)分类器。即可表示为
m
a
x
m
a
r
g
i
n
(
w
,
b
)
(
x
i
∈
R
n
,
y
i
∈
−
1
,
1
)
max\ margin(w,b)(xi\in R^n,y_i\in{-1,1})
max margin(w,b)(xi∈Rn,yi∈−1,1)
s.t
y
i
(
w
T
x
i
+
b
)
>
0
,
i
=
1
,
.
.
.
,
n
\ y_i(w^Tx_i+b)>0,i=1,...,n
yi(wTxi+b)>0,i=1,...,n
其中的约束条件就表明这是可分类的数据集。
m
a
r
g
i
n
(
w
,
b
)
=
m
i
n
d
i
s
t
a
n
c
e
(
w
,
b
,
x
i
)
margin(w,b)=min \ distance(w,b,x_i)
margin(w,b)=min distance(w,b,xi)其中distance是点到直线的距离,即可得到:
在对上式做一些改动可得:
{
m
a
x
m
i
n
1
∣
∣
w
∣
∣
y
i
(
w
T
x
i
+
b
)
\{max\ min\frac{1}{||w||}y_i(w^Tx_i+b)
{max min∣∣w∣∣1yi(wTxi+b)
∃
{\exists}
∃ r>0,s.t
m
i
n
y
i
(
w
T
x
i
+
b
)
=
r
}
min\ y_i(w^Tx_i+b)=r\}
min yi(wTxi+b)=r}
因为绝对值大于0,yi不是-1就是1且
y
i
(
w
T
x
i
+
b
)
>
0
y_i(w^Tx_i+b)>0
yi(wTxi+b)>0所以上面的式子与图中的式子是相等的。
因为min只与xi有关而与||w||无关所以||w||可以往前提,可得:
{
m
a
x
1
∣
∣
w
∣
∣
m
i
n
y
i
(
w
T
x
i
+
b
)
\{max\frac{1}{||w||}min\ y_i(w^Tx_i+b)
{max∣∣w∣∣1min yi(wTxi+b)
∃
{\exists}
∃ r>0,s.t
m
i
n
y
i
(
w
T
x
i
+
b
)
=
r
}
min\ y_i(w^Tx_i+b)=r\}
min yi(wTxi+b)=r}
又因为
m
i
n
y
i
(
w
T
x
i
+
b
)
min\ y_i(w^Tx_i+b)
min yi(wTxi+b)是函数边界,而函数边界通过修改Wt和b是不改变的,所以可以找到w*,b*使得r=1。可得:
{
m
a
x
1
∣
∣
w
∣
∣
⋅
1
\{max\frac{1}{||w||}·1
{max∣∣w∣∣1⋅1
s.t
m
i
n
y
i
(
w
T
x
i
+
b
)
=
1
}
min\ y_i(w^Tx_i+b)=1\}
min yi(wTxi+b)=1}
在对上式做一些改变,将max问题改为min问题可得:
{
m
i
n
(
w
,
b
)
1
/
2
∣
∣
w
∣
∣
2
\{min\ (w,b) \ 1/2||w||^2
{min (w,b) 1/2∣∣w∣∣2 →二次函数凸优化问题
s.t
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
.
.
.
,
n
\ y_i(w^Tx_i+b)\ge1,i=1,...,n
yi(wTxi+b)≥1,i=1,...,n →N个约束
3 拉格朗日乘数法
上面我们提到了带约束的凸优化问题,这时我们利用拉格朗日乘数将约束条件整合。
拉格朗日乘数法方程:
l
(
w
,
b
,
λ
)
=
1
/
2
w
T
w
+
∑
λ
i
[
1
−
y
i
(
w
T
x
i
+
b
)
]
,
i
=
1
,
.
.
.
,
n
l(w,b,\lambda)=1/2w^Tw+\sum \lambda_i[1-y_i(w^Tx_i+b)],i=1,...,n
l(w,b,λ)=1/2wTw+∑λi[1−yi(wTxi+b)],i=1,...,n
借助拉格朗日乘数法转换为无约束:
{
m
i
n
m
a
x
l
(
w
,
b
,
λ
)
min \ max l(w,b, \lambda)
min maxl(w,b,λ) 注意这里min的是参数w,b,max的参数是
λ
\lambda
λ
s.t
λ
i
≥
0
\lambda_i\ge0
λi≥0}
再将上面的式子转换为对偶问题:
{
m
a
x
m
i
n
l
(
w
,
b
,
λ
)
max \ min l(w,b, \lambda)
max minl(w,b,λ) 注意这里max的参数是
λ
\lambda
λ,min的是参数w,b
s.t
λ
i
≥
0
\lambda_i\ge0
λi≥0}
因为参数
w
,
b
,
λ
w,b,\lambda
w,b,λ满足KKT条件这拉格朗日对偶问题一定是凹函数。所以上面两组对偶问题的转换是成立的。
这时我们求解:
{
m
a
x
m
i
n
l
(
w
,
b
,
λ
)
max \ min l(w,b, \lambda)
max minl(w,b,λ)
s.t
λ
i
≥
0
\lambda_i\ge0
λi≥0}
首先对w,b分别求导并得0可得:
将上面两式代入
l
(
w
,
b
,
λ
)
l(w,b,\lambda)
l(w,b,λ)方程可得;
l
(
w
,
b
,
λ
)
=
−
1
2
∑
i
=
1
n
∑
j
=
1
n
λ
i
λ
j
y
i
y
j
x
i
T
x
j
+
∑
i
=
1
n
λ
i
l(w,b,\lambda)=-\frac{1}{2}\sum\nolimits_{i=1}^n\sum\nolimits_{j=1}^n\lambda_i\lambda_j y_iy_jx_i^Tx_j+\sum\nolimits_{i=1}^n\lambda_i
l(w,b,λ)=−21∑i=1n∑j=1nλiλjyiyjxiTxj+∑i=1nλi
这时目标方程可转换为:
{
m
i
n
−
l
(
λ
)
min -l(\lambda)
min−l(λ)注意这里min的参数为
λ
\lambda
λ
s.t
λ
i
≥
0
\lambda_i\ge0
λi≥0}
即:
{min
1
2
∑
i
=
1
n
∑
j
=
1
n
λ
i
λ
j
y
i
y
j
x
i
T
x
j
−
∑
i
=
1
n
λ
i
\frac{1}{2}\sum\nolimits_{i=1}^n\sum\nolimits_{j=1}^n\lambda_i\lambda_j y_iy_jx_i^Tx_j-\sum\nolimits_{i=1}^n\lambda_i
21∑i=1n∑j=1nλiλjyiyjxiTxj−∑i=1nλi 注意这里min的参数为
λ
\lambda
λ
s.t
λ
i
≥
0
,
∑
i
=
1
n
λ
i
y
i
=
0
\lambda_i\ge0,\sum\nolimits_{i=1}^n\lambda_i y_i=0
λi≥0,∑i=1nλiyi=0}
4 Soft-Margin SVM
上面我们讨论二分类的线性分是有前提的,那就是
y
i
(
w
T
x
i
+
b
)
>
0
,
i
=
1
,
.
.
.
,
n
y_i(w^Tx_i+b)>0,i=1,...,n
yi(wTxi+b)>0,i=1,...,n即数据集是线性可分的,那如果存在错误分类数据,那么上述方法不可用。在允许存在一定量错误的情况下,我们采取Soft-Margin的方法处理数据集。(注意这里是一定量如果是那种完全不可线性分的情况,我们往下会提到解决方法)
其实就是增加一个error值,即:
{min
1
2
w
T
w
+
c
∑
i
=
1
n
m
a
x
{
0
,
1
−
y
i
(
w
T
x
i
+
b
)
}
\frac{1}{2}w^Tw+c\sum\nolimits_{i=1}^nmax\{{0,1-y_i(w^Tx_i+b)}\}
21wTw+c∑i=1nmax{0,1−yi(wTxi+b)}
s
.
t
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
.
.
.
,
n
s.t\ y_i(w^Tx_i+b)\ge1,i=1,...,n
s.t yi(wTxi+b)≥1,i=1,...,n}
引入
ε
i
=
1
−
y
i
(
w
T
x
i
+
b
)
\varepsilon_i=1-y_i(w^Tx_i+b)
εi=1−yi(wTxi+b),则
ε
i
≥
0
\varepsilon_i\ge0
εi≥0
{min
1
2
w
T
w
+
c
∑
i
=
1
n
ε
i
\frac{1}{2}w^Tw+c\sum\nolimits_{i=1}^n\varepsilon_i
21wTw+c∑i=1nεi
s
.
t
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
.
.
.
,
n
s.t\ y_i(w^Tx_i+b)\ge1,i=1,...,n
s.t yi(wTxi+b)≥1,i=1,...,n,
ε
i
≥
0
\varepsilon_i\ge0
εi≥0}
5 Kenel Method 核方法
kenel method →低维的线性不可分带来高维转换
kenel trick→对偶问题带来内积,直接求
ϕ
T
ϕ
\phi^T\phi
ϕTϕ而不单独去求
ϕ
\phi
ϕ
kenel function→
k
(
x
,
x
‘
)
=
ϕ
(
x
)
T
ϕ
(
x
‘
)
=
⟨
ϕ
(
x
)
T
,
ϕ
(
x
‘
)
⟩
k(x,x`)=\phi(x)^T\phi(x`)=\langle\phi(x)^T,\phi(x`)\rangle
k(x,x‘)=ϕ(x)Tϕ(x‘)=⟨ϕ(x)T,ϕ(x‘)⟩
线性可分 | 线性不可分(存在一定错误) | 完全线性不可分 |
---|---|---|
hard margin SVM | soft margin SVM | 升维 ϕ ( x ) + h a r d − m a r g i n S V M \phi(x)+hard-margin SVM ϕ(x)+hard−marginSVM |
高维比低维更易线性可分
什么是核函数?
X×X属于实数集|R,那么
∀
x
,
z
∈
X
,
k
(
x
,
z
)
=
⟨
ϕ
(
x
)
T
,
ϕ
(
z
)
⟩
则
称
k
(
x
,
z
)
{\forall}x,z\in X,k(x,z)=\langle\phi(x)^T,\phi(z)\rangle则称k(x,z)
∀x,z∈X,k(x,z)=⟨ϕ(x)T,ϕ(z)⟩则称k(x,z)为核函数。
正定核的两个定义:
(1)k:X×X→|R,
∀
x
,
z
∈
X
,
{\forall}x,z\in X,
∀x,z∈X,有k(x,z),如果
∃
ϕ
:
x
→
∣
R
,
ϕ
∈
H
(
希
尔
伯
特
空
间
)
,
s
.
t
k
(
x
,
z
)
=
⟨
ϕ
(
x
)
T
,
ϕ
(
z
)
⟩
{\exists}\phi:x→|R,\phi\in H(希尔伯特空间),s.t\ k(x,z)=\langle\phi(x)^T,\phi(z)\rangle
∃ϕ:x→∣R,ϕ∈H(希尔伯特空间),s.t k(x,z)=⟨ϕ(x)T,ϕ(z)⟩,则称k(x,z)为正定核函数。
(2)k:X×X→|R,
∀
x
,
z
∈
X
,
{\forall}x,z\in X,
∀x,z∈X,有k(x,z),如果k(x,z)满足如下两条性质:
1)对称性:k(x,z)=k(z,x)
2)正定性:任取N个元素,x1,x2,…,xn
∈
X
\ \in X
∈X,对应的Gram Matrix是半正定的。
则称k(x,z)为正定核函数。
注意:这里解释一下什么是(希尔伯特空间Hilbert Space):完备的,可能是无限维被赋予内积的线性空间。
完备的:对极限的操作是封闭的,也就是说所有可能的数据都在该空间中。
被赋予内积:1,正定性2,对称性3,线性
必要性的证明:参考大佬视频,这里是截图:
参考资料
链接:https://www.jianshu.com/p/2e3c0c583e85