活动地址:CSDN21天学习挑战赛
1 简介
求和函数可以通过求映射函数 φ \varphi φ,再求 φ ( x ) \varphi(x) φ(x)与 φ ( z ) \varphi(z) φ(z)之间的内积即可得到核函数 K ( x , z ) K(x,z) K(x,z),但是实际应用中可以不直接定义映射函数 φ \varphi φ,而是直接计算核函数 K ( x , z ) K(x,z) K(x,z)。
概念介绍
1.Gram矩阵介绍
n维欧氏空间中任意k(k<n)个向量 α 1 , α 2 , . . . , α k \alpha_1,\alpha_2,...,\alpha_k α1,α2,...,αk的内积组成的矩阵。
Δ ( α 1 , α 2 , ⋯ , α k ) = ( ( α 1 , α 1 ) ( α 1 , α 2 ) ⋯ ( α 1 , α k ) ( α 2 , α 1 ) ( α 2 , α 2 ) ⋯ ( α 2 , α k ) ⋯ ⋯ ⋯ ⋯ ( α k , α 1 ) ( α k , α 2 ) ⋯ ( α k , α k ) ) \Delta\left(\alpha_{1}, \alpha_{2}, \cdots, \alpha_{\mathrm{k}}\right)=\left(\begin{array}{cccc} \left(\alpha_{1}, \alpha_{1}\right) & \left(\alpha_{1}, \alpha_{2}\right) & \cdots & \left(\alpha_{1}, \alpha_{\mathrm{k}}\right) \\ \left(\alpha_{2}, \alpha_{1}\right) & \left(\alpha_{2}, \alpha_{2}\right) & \cdots & \left(\alpha_{2}, \alpha_{\mathrm{k}}\right) \\ \cdots & \cdots & \cdots & \cdots \\ \left(\alpha_{\mathrm{k}}, \alpha_{1}\right) & \left(\alpha_{\mathrm{k}}, \alpha_{2}\right) & \cdots & \left(\alpha_{\mathrm{k}}, \alpha_{\mathrm{k}}\right) \end{array}\right) Δ(α1,α2,⋯,αk)=⎝ ⎛(α1,α1)(α2,α1)⋯(αk,α1)(α1,α2)(α2,α2)⋯(αk,α2)⋯⋯⋯⋯(α1,αk)(α2,αk)⋯(αk,αk)⎠ ⎞2.对称函数
在对称函数中,函数的输出值不随输入变数的排列而改变。从函数的形式中可以看出若输入变量排列后,方程式不会改变。例如: c a 2 + 3 a b + c b 2 ca^2 + 3ab+ cb^2 ca2+3ab+cb2,在a和b对调后其值不变。
2 怎么找核函数
核函数满足的特征:
- 核函数应该是对称函数
φ ( x i ) ⋅ φ ( x j ) = K ( x i , x j ) \varphi(x_i)\cdot \varphi(x_j)=K(x_i,x_j) φ(xi)⋅φ(xj)=K(xi,xj),核函数变量对调后值不变,所以核函数应该是对称函数。 -
K
(
x
i
,
x
j
)
K(x_i,x_j)
K(xi,xj)对应的Gram矩阵半正定。
核函数是内积的形式,所以其值大于等于0。
得到核函数
K
(
x
i
,
x
j
)
K(x_i,x_j)
K(xi,xj)之后构成一个希尔伯特空间(Hilbert Space)。
步骤为:
1.定义映射φ ,并构成向量空间S;
映射关系:
ϕ
:
x
→
K
(
⋅
,
x
)
\phi: x \rightarrow K(\cdot, x)
ϕ:x→K(⋅,x)
定义线性组合:
f
(
⋅
)
=
∑
i
=
1
m
α
i
K
(
⋅
,
x
i
)
f(\cdot)=\sum_{i=1}^{m} \alpha_{i} K\left(\cdot, x_{i}\right)
f(⋅)=∑i=1mαiK(⋅,xi)
此时就构成了一个向量空间S。
2.在S上定义内积构成内积空间;
定义一个运算*,
f
∗
g
=
∑
i
=
1
m
∑
j
=
1
l
α
i
β
j
K
(
x
i
,
z
j
)
f * g = \sum_{i=1}^{m} \sum_{j=1}^{l} \alpha_{i} \beta_{j} K\left(x_{i}, z_{j}\right)
f∗g=∑i=1m∑j=1lαiβjK(xi,zj),再证明*是空间S的内积。
3.最后将S完备化构成希尔伯特空间.
3 引入和函数后的非线性支持向量机
输入:训练集
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
,
y
i
∈
−
1
,
+
1
,
i
=
1
,
2
,
.
.
.
,
N
T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\},y_i \in{-1,+1},i=1,2,...,N
T={(x1,y1),(x2,y2),⋯,(xN,yN)},yi∈−1,+1,i=1,2,...,N
构造最优化问题:
min
α
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
K
(
x
i
,
x
j
)
−
∑
i
=
1
N
α
i
\min _{\alpha} \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j} K\left(x_{i}, x_{j}\right)-\sum_{i=1}^{N} \alpha_{i}
minα21∑i=1N∑j=1NαiαjyiyjK(xi,xj)−∑i=1Nαi
s
.
t
.
∑
i
=
1
N
α
i
y
i
=
0
,
0
⩽
α
i
⩽
C
,
i
=
1
,
2
,
⋯
,
N
s.t. \quad \sum_{i=1}^{N} \alpha_{i} y_{i}=0 ,\qquad 0 \leqslant \alpha_{i} \leqslant C, \quad i=1,2, \cdots, N
s.t.∑i=1Nαiyi=0,0⩽αi⩽C,i=1,2,⋯,N
得到最优解
α
∗
\alpha^*
α∗.
计算
b
∗
=
y
j
−
∑
i
=
1
N
α
i
∗
y
i
K
(
x
i
⋅
x
j
)
b^*=y_{j}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K\left(x_{i} \cdot x_{j}\right)
b∗=yj−∑i=1Nαi∗yiK(xi⋅xj)
构造决策函数:
f
(
x
)
=
sign
(
∑
i
=
1
N
α
i
∗
y
i
K
(
x
⋅
x
i
)
+
b
∗
)
f(x)=\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K\left(x \cdot x_{i}\right)+b^{*}\right)
f(x)=sign(i=1∑Nαi∗yiK(x⋅xi)+b∗)
输出:分类决策函数
参考
1.《统计学习方法》——李航
2.https://zh.m.wikipedia.org/zh-cn/%E5%AF%B9%E7%A7%B0_(%E6%95%B0%E5%AD%A6)