赞
踩
原始空间不存在能够正确划分的超平面
在二维平面直角坐标系中,如果按照与原点之间的距离对数据点进行分类的话,分类模型就成为一个圆,也就是超平面
如果能将样本从原始空间映射到高维特征空间上,在新的特征空间是上样本就可能是线性可分的
通过一个非线性映射,将原始低维空间上的非线性问题转化为新的高维空间上的线性问题,这就是核技巧的基本思想。
使在原始空间 R n R^n Rn 中的超平面模型映射为特征空间的超平面模型
在学习和预测中,只定义核函数,而不显式定义映射函数,利用线性分类方法与核函数解决非线性问题
假设原始空间是 低维欧几里得空间
X
\mathcal{X}
X ,新空间为 **高维希尔伯特空间
H
\mathcal{H}
H ** ,从
X
\mathcal{X}
X 到
H
\mathcal{H}
H 的映射可以用函数
ϕ
(
x
)
:
X
→
H
\phi(x):\mathcal{X}\rightarrow \mathcal{H}
ϕ(x):X→H 表示。核函数可以表示为映射函数内积形式
K
(
x
,
z
)
=
ϕ
(
x
)
⋅
ϕ
(
z
)
K(x,z)=\phi(x)\cdot\phi(z)
K(x,z)=ϕ(x)⋅ϕ(z)
eg
原空间
X
\mathcal{X}
X 中的两个点进行内积运算
(
x
i
,
x
j
)
(x_i,x_j)
(xi,xj) ,若先进行映射再在
H
\mathcal{H}
H 中内积运算,则有
z
i
=
ϕ
(
x
i
)
,
z
j
=
ϕ
(
x
j
)
,
则
(
z
i
,
z
j
)
=
ϕ
(
x
i
)
⋅
ϕ
(
x
j
)
z_i=\phi(x_i),z_j=\phi(x_j),则(z_i,z_j)=\phi(x_i)\cdot \phi(x_j)
zi=ϕ(xi),zj=ϕ(xj),则(zi,zj)=ϕ(xi)⋅ϕ(xj)
若使用核函数,则可直接计算
K
(
x
i
,
x
j
)
K(x_i,x_j)
K(xi,xj)
对于确定的核函数
计算过程在低维空间上完成,避免了高维空间中的复杂计算
对于给定核函数,高维空间 H \mathcal{H} H 和映射函数 ϕ \phi ϕ 的取法不唯一
可映射到不同的特征空间, z i z_i zi 维度可以不同和
可通过不同映射函数,映射到同一特征空间
输入:线性不可分的数据
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
∈
X
∈
R
n
,
y
i
∈
Y
∈
{
+
1
,
−
1
}
,
i
=
1
,
⋯
,
N
D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}\in \mathcal{X}\in R^n,y_i\in \mathcal{Y}\in \{+1,-1\},i=1,\cdots,N
D={(x1,y1),(x2,y2),⋯,(xN,yN)}∈X∈Rn,yi∈Y∈{+1,−1},i=1,⋯,N
输出:分离超平面和决策函数
算法:
1. 选择合适的参数 C C C 和核函数 K ( x , z ) K(x,z) K(x,z) ,构造最优化问题
线性SVM
{
min
α
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
x
i
⋅
x
j
−
∑
i
=
1
N
α
i
s
.
t
.
0
≤
α
i
≤
0
∑
i
=
1
N
α
i
y
i
=
0
{minα12N∑i=1N∑j=1αiαjyiyjxi⋅xj−N∑i=1αis.t.0≤αi≤0N∑i=1αiyi=0
对于
(
x
i
,
x
j
)
(x_i,x_j)
(xi,xj) ,可以通过核技巧映射到线性可分空间
ϕ
(
x
i
)
⋅
ϕ
(
x
j
)
=
z
i
⋅
z
j
=
K
(
x
i
,
x
j
)
\phi(x_i)\cdot \phi(x_j)=z_i\cdot z_j=K(x_i,x_j)
ϕ(xi)⋅ϕ(xj)=zi⋅zj=K(xi,xj)
在
H
\mathcal{H}
H 空间中的SVM问题为
{
min
α
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
K
(
x
i
,
x
j
)
−
∑
i
=
1
N
α
i
s
.
t
.
0
≤
α
i
≤
0
∑
i
=
1
N
α
i
y
i
=
0
{minα12N∑i=1N∑j=1αiαjyiyjK(xi,xj)−N∑i=1αis.t.0≤αi≤0N∑i=1αiyi=0
求得最优解
α
∗
=
(
α
1
∗
,
α
2
∗
,
⋯
,
α
N
∗
)
\alpha^*=(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*)
α∗=(α1∗,α2∗,⋯,αN∗)
2. 选一个 0 < α j ∗ < C 0<\alpha_j^*<C 0<αj∗<C 的分量对应的样本点 ( x j , y j ) (x_j,y_j) (xj,yj) ——支持向量,计算模型参数 ω ∗ , b ∗ \omega^*,b^* ω∗,b∗
有 ω ∗ = ∑ i = 1 N α i ∗ y i K ( ⋅ , x i ) \omega^*=\sum\limits_{i=1}^N\alpha_i^*y_i K(\cdot,x_i) ω∗=i=1∑Nαi∗yiK(⋅,xi) , b ∗ = y j − ∑ i = 1 N α i ∗ y i K ( x i , x j ) b^*=y_j-\sum\limits_{i=1}^N\alpha_i^*y_iK(x_i,x_j) b∗=yj−i=1∑Nαi∗yiK(xi,xj)
模型
{
∑
i
=
1
N
α
i
∗
y
i
K
(
x
i
,
x
)
+
(
y
j
−
∑
i
=
1
N
α
i
∗
y
i
K
(
x
i
,
x
j
)
)
=
0
决策函数
f
(
x
)
=
s
i
g
n
[
∑
i
=
1
N
α
i
∗
y
i
K
(
x
i
,
x
)
+
(
y
j
−
∑
i
=
1
N
α
i
∗
y
i
K
(
x
i
,
x
j
)
)
]
{N∑i=1α∗iyiK(xi,x)+(yj−N∑i=1α∗iyiK(xi,xj))=0决策函数f(x)=sign[N∑i=1α∗iyiK(xi,x)+(yj−N∑i=1α∗iyiK(xi,xj))]
所以问题的关键为 如何确定核函数
K
(
x
i
,
x
j
)
K(x_i,x_j)
K(xi,xj)
对于内积运算,
(
x
,
x
)
>
0
,当
x
>
0
时
——正定性
(
x
i
,
x
j
)
=
(
x
j
,
x
i
)
——非负性
}
⇒
正定核
\left. (x,x)>0,当x>0时——正定性(xi,xj)=(xj,xi)——非负性
故正定核函数应满足:
对称性: K ( x , z ) = K ( z , x ) K(x,z)=K(z,x) K(x,z)=K(z,x)
正定性: ∀ x 1 , x 2 ⋯ , x N ∈ R n \forall x_1,x_2\cdots,x_N\in R^n ∀x1,x2⋯,xN∈Rn , K ( x i , x j ) K(x_i,x_j) K(xi,xj) 的Gram阵是半正定的
Gram阵
原
[
(
x
1
,
x
1
)
⋯
(
x
1
,
x
N
)
⋮
⋱
⋮
(
x
N
,
x
1
)
⋯
(
x
N
,
x
N
)
]
新
[
K
(
x
1
,
x
1
)
⋯
K
(
x
1
,
x
N
)
⋮
⋱
⋮
K
(
x
N
,
x
1
)
⋯
K
(
x
N
,
x
N
)
]
原\left[ (x1,x1)⋯(x1,xN)⋮⋱⋮(xN,x1)⋯(xN,xN)
半正定
对于A, ∀ x ≠ 0 \forall x\neq 0 ∀x=0 ,有 x T A x ≥ 0 x^TAx\ge 0 xTAx≥0 ,则有A为半正定阵
半正定判定
{
x
T
A
x
=
y
T
D
y
——
D
为对角阵
全部特根
λ
≥
0
所有主子行列式
≥
0
{xTAx=yTDy——D为对角阵全部特根λ≥0所有主子行列式≥0
任何一个核函数都隐式定义了一个成为 再生核希尔伯特空间 的特征空间
欧式空间
{
空间
(
集合
)
→
元素是向量
向量空间
⊆
线性空间
(
元素
+
数乘
∈
空间
)
→
内积
内积空间
{
表示向量间关系
用夹角表示,用
(
a
,
b
)
度量夹角大小
→
范数
赋范线性空间——表示向量大小、长度
数列存在极限且
∈
空间,任一柯西列都是收敛列
{
x
1
⋯
,
x
N
}
{
x
1
>
x
2
>
⋯
>
x
N
且
x
1
−
x
2
>
x
2
−
x
3
>
⋯
>
x
N
−
1
−
x
N
(
柯西列
)
→
0
↓
巴拿赫空间
欧式空间{空间(集合)元素是向量→向量空间⊆线性空间(元素+数乘∈空间)内积→内积空间{表示向量间关系用夹角表示,用(a,b)度量夹角大小范数→赋范线性空间——表示向量大小、长度数列存在极限且∈空间,任一柯西列都是收敛列{x1⋯,xN}{x1>x2>⋯>xN且x1−x2>x2−x3>⋯>xN−1−xN(柯西列)→0 ↓巴拿赫空间
对于非欧氏空间上的完备空间,称为希尔伯特空间
H
\mathcal{H}
H
1. 定义映射
ϕ : x → K ( ⋅ , x ) \phi:x\rightarrow K(\cdot,x) ϕ:x→K(⋅,x)
表示这个映射受核函数约束
线性组合:
f
(
⋅
)
=
∑
i
=
1
m
α
i
K
(
⋅
,
x
i
)
f(\cdot)=\sum\limits_{i=1}^m\alpha_iK(\cdot,x_i)
f(⋅)=i=1∑mαiK(⋅,xi) ——向量
S
=
{
f
(
⋅
)
}
——向量空间
S=\{f(\cdot)\}——向量空间
S={f(⋅)}——向量空间
2.
S
→
+
内积
内积空间
S\xrightarrow{+内积}内积空间
S+内积
内积空间
f
(
⋅
)
=
∑
i
=
1
m
α
i
K
(
⋅
,
x
i
)
g
(
⋅
)
=
∑
j
=
1
l
β
j
(
⋅
,
z
j
)
}
⇒
f
⋅
g
=
∑
i
=
1
m
∑
j
=
1
l
α
i
β
j
K
(
x
i
,
z
j
)
\left.f(⋅)=m∑i=1αiK(⋅,xi)g(⋅)=l∑j=1βj(⋅,zj)
证明:
f
⋅
f
≥
0
f
⋅
f
=
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
K
(
x
i
,
x
j
)
≥
0
令
x
=
(
α
1
,
⋯
,
α
m
)
T
,
G
=
[
K
(
x
1
,
x
1
)
⋯
K
(
x
1
,
x
m
)
⋮
⋱
⋮
K
(
x
m
,
x
1
)
⋯
K
(
x
m
,
x
m
)
]
x
T
G
x
=
(
α
1
,
⋯
,
α
m
)
G
(
α
1
,
⋯
,
α
m
)
T
=
[
α
1
K
(
x
1
,
x
1
)
+
α
2
K
(
x
2
,
x
1
)
+
⋯
+
α
m
K
(
x
m
,
x
1
)
⋮
α
1
K
(
x
1
,
x
m
)
+
α
2
K
(
x
2
,
x
m
)
+
⋯
+
α
m
K
(
x
m
,
x
m
)
]
(
α
1
,
⋯
,
α
m
)
T
=
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
K
(
x
i
,
x
j
)
≥
0
\begin{aligned} &f\cdot f\ge 0\\ &f\cdot f=\sum\limits_{i=1}^m\sum\limits_{j=1}^m\alpha_i\alpha_jK(x_i,x_j)\ge 0\\ &令x=(\alpha_1,\cdots,\alpha_m)^T,G=\left[ \begin{matrix} K(x_1,x_1)&\cdots&K(x_1,x_m)\\ \vdots&\ddots&\vdots\\ K(x_m,x_1)&\cdots&K(x_m,x_m) \end{matrix} \right]\\ &\begin{aligned} x^TGx&=(\alpha_1,\cdots,\alpha_m)G(\alpha_1,\cdots,\alpha_m)^T\\ &=\left[ \begin{matrix} \alpha_1K(x_1,x_1)+\alpha_2K(x_2,x_1)+\cdots+\alpha_mK(x_m,x_1)\\ \vdots\\ \alpha_1K(x_1,x_m)+\alpha_2K(x_2,x_m)+\cdots+\alpha_mK(x_m,x_m)\\ \end{matrix} \right](\alpha_1,\cdots,\alpha_m)^T\\ &=\sum\limits_{i=1}^m\sum\limits_{j=1}^m\alpha_i\alpha_jK(x_i,x_j)\ge 0 \end{aligned}
3.
S
→
+
范数
赋范空间
→
完备化
H
S\xrightarrow{+范数}赋范空间\xrightarrow{完备化}\mathcal{H}
S+范数
赋范空间完备化
H
再生性
K
(
⋅
,
x
)
⋅
K
(
⋅
,
z
)
=
K
(
x
,
z
)
f
(
⋅
)
=
∑
i
α
i
K
(
⋅
,
x
i
)
K
(
⋅
,
x
)
f
(
⋅
)
=
∑
i
α
i
K
(
x
,
x
i
)
=
f
(
x
)
K(\cdot,x)\cdot K(\cdot,z)=K(x,z)\\ f(\cdot)=\sum\limits_{i}\alpha_iK(\cdot,x_i)\\ K(\cdot,x)f(\cdot)=\sum\limits_{i}\alpha_i K(x,x_i)=f(x)
K(⋅,x)⋅K(⋅,z)=K(x,z)f(⋅)=i∑αiK(⋅,xi)K(⋅,x)f(⋅)=i∑αiK(x,xi)=f(x)
在支持向量机中,核函数的选择是一个核心问题,常用核函数有:
线性核 : K ( X , Y ) = X T Y K(X,Y)=X^TY K(X,Y)=XTY
多项式核 : K ( X , Y ) = ( X T Y + c ) d K(X,Y)=(X^TY+c)^d K(X,Y)=(XTY+c)d , c c c 为常数, d ≥ 1 d\ge 1 d≥1 为多项式次数
高斯核 : K ( X , Y ) = e − ∥ X − Y ∥ 2 2 σ 2 K(X,Y)=e^{-\frac{\Vert X-Y\Vert^2}{2\sigma^2}} K(X,Y)=e−2σ2∥X−Y∥2 , σ > 0 \sigma>0 σ>0 为高斯核带宽
拉普拉斯核 : K ( X , Y ) = e − ∥ X − Y ∥ σ K(X,Y)=e^{-\frac{\Vert X-Y\Vert}{\sigma}} K(X,Y)=e−σ∥X−Y∥
sigmod核 : K ( X , Y ) = t a n h ( β X T Y + θ ) K(X,Y)=tanh(\beta X^TY+\theta) K(X,Y)=tanh(βXTY+θ) , β > 0 \beta >0 β>0 , θ < 0 \theta <0 θ<0
将支持向量机的最优化作为原始问题,应用最优化理论中的拉格朗日对偶性,可以通过求解其对偶问题得到原始问题的最优解
SVM关键是如何根据支持向量构建解,算法的复杂度也主要取决于支持向量的数目
在算法实现过程中,支持向量机会遇到大量训练样本下,全局最优解难以求得的情况——SMO算法(序列最小最优化)
支持向量机的学习问题可以形式化为凸二次规划问题的求解,SMO算法的特点是不断将原始的二次规划问题分解为只有两个变量的二次规划子问题,并求解子问题的解析解,直到所有变量满足条件为止
逻辑斯蒂模型损失函数
J
(
ω
)
=
−
1
n
[
∑
i
=
1
n
∑
k
=
1
2
I
(
y
i
=
k
)
ln
P
(
y
i
=
k
∣
x
i
,
ω
)
]
=
−
1
n
[
∑
i
=
1
n
y
i
ln
P
(
y
i
=
1
∣
x
i
,
ω
)
+
(
1
−
y
i
)
ln
P
(
y
i
=
0
∣
x
i
,
ω
)
]
J(ω)=−1n[n∑i=12∑k=1I(yi=k)lnP(yi=k|xi,ω)]=−1n[n∑i=1yilnP(yi=1|xi,ω)+(1−yi)lnP(yi=0|xi,ω)]
正则化
J
(
ω
)
+
λ
2
n
∥
ω
∥
2
2
J(\omega)+\frac{\lambda}{2n}\Vert \omega\Vert_2^2
J(ω)+2nλ∥ω∥22
即逻辑斯蒂模型先有损失函数,再做正则化
SVM:将损失函数作为约束,先求出参数,再以损失函数为约束
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。