前面的主成分分析(PCA)是线性降维(变换式为线性的),若加上“核技巧”,则为“核主成分分析(KPCA)”。
“核技巧”,它是采用“曲线救国”的道路, 本应该将
d
d
d维的
x
\boldsymbol{x}
x直接降成
d
′
d'
d′维的
y
\boldsymbol{y}
y,改为: 先用非线性变换(核函数)将
d
d
d维的
x
\boldsymbol{x}
x升维成
d
+
d^+
d+维的
z
\boldsymbol{z}
z,再对
d
+
d^+
d+维的
z
\boldsymbol{z}
z使用PCA算法降成
d
′
d'
d′维的
y
\boldsymbol{y}
y
核化线性降维
在【西瓜书第6章】讨论了“核技巧”,它是采用“曲线救国”的道路,这里仍采用此策略。 本应该将
d
d
d维的
x
\boldsymbol{x}
x直接降成
d
′
d'
d′维的
y
\boldsymbol{y}
y,改为: 先用非线性变换(核函数)将
d
d
d维的
x
\boldsymbol{x}
x升维成
d
+
d^+
d+维的
z
\boldsymbol{z}
z,再对
d
+
d^+
d+维的
z
\boldsymbol{z}
z使用PCA算法降成
d
′
d'
d′维的
y
\boldsymbol{y}
y,如图10.1所示。
显然,这里的
z
\boldsymbol{z}
z、
y
\boldsymbol{y}
y分别充当了上节的
x
\boldsymbol{x}
x和
z
\boldsymbol{z}
z,对照上节的【西瓜书式(10.17)】即有【西瓜书式(10.19)】(注:这里
i
i
i为样本编号(
i
=
1
,
2
,
⋯
,
m
i=1,2,\cdots,m
i=1,2,⋯,m),
j
j
j为样本的维度编号(
j
=
1
,
2
,
⋯
,
d
j=1,2,\cdots,d
j=1,2,⋯,d)),或由式(10.60)对应有
Z
Z
T
=
W
Λ
W
T
,
W
T
W
=
I
\begin{align} \mathbf{Z}\mathbf{Z}^{\mathrm{T}}=\mathbf{W}\boldsymbol{\Lambda }\mathbf{W}^{\mathrm{T}},\quad \mathbf{W}^{\mathrm{T}}\mathbf{W}=\mathbf{I} \tag{10.65} \end{align}
ZZT=WΛWT,WTW=I(10.65)
即
W
T
Z
Z
T
W
=
Λ
,
W
T
W
=
I
\begin{align} \mathbf{W}^{\mathrm{T}}\mathbf{Z}\mathbf{Z}^{\mathrm{T}}\mathbf{W}=\boldsymbol{\Lambda },\quad \mathbf{W}^{\mathrm{T}}\mathbf{W}=\mathbf{I} \tag{10.66} \end{align}
WTZZTW=Λ,WTW=I(10.66)
从式(10.66)知,以
W
T
Z
\mathbf{W}^{\mathrm{T}}\mathbf{Z}
WTZ为整体变量即可消去
W
\mathbf{W}
W,从而启发我们引入如下变换式:
{
α
i
j
=
1
λ
j
z
i
T
w
j
z
i
=
ϕ
(
x
i
)
\begin{align} \begin{cases} {\alpha }_i^j=\frac{1}{{\lambda }_j}\boldsymbol{z}_i^{\mathrm{T}}\boldsymbol{w}_j \\ \boldsymbol{z}_i=\phi (\boldsymbol{x}_i) \\ \end{cases} \tag{10.67} \end{align}
{αij=λj1ziTwjzi=ϕ(xi)(10.67)
(i)式(10.67)代入【西瓜书式(10.19)】消去 w \boldsymbol{w} w,有
∑
i
=
1
m
ϕ
(
x
i
)
ϕ
(
x
i
)
T
∑
i
=
1
m
ϕ
(
x
i
)
α
i
j
=
λ
j
∑
i
=
1
m
ϕ
(
x
i
)
α
i
j
\begin{align} \sum_{i=1}^m\phi(\boldsymbol{x}_i)\phi(\boldsymbol{x}_i)^{\mathrm{T}}\sum_{i=1}^m\phi (\boldsymbol{x}_i){\alpha }_i^j={\lambda }_j\sum_{i=1}^m\phi (\boldsymbol{x}_i){\alpha }_i^j \tag{10.68} \end{align}
i=1∑mϕ(xi)ϕ(xi)Ti=1∑mϕ(xi)αij=λji=1∑mϕ(xi)αij(10.68)
注意:易错误地化为
[
∑
i
=
1
m
ϕ
(
x
i
)
ϕ
(
x
i
)
T
−
λ
j
]
∑
i
=
1
m
ϕ
(
x
i
)
α
i
j
=
0
[\sum_{i=1}^m\phi(\boldsymbol{x}_i)\phi(\boldsymbol{x}_i)^{\mathrm{T}}-{\lambda }_j]\sum_{i=1}^m\phi (\boldsymbol{x}_i){\alpha }_i^j=0\notag
[i=1∑mϕ(xi)ϕ(xi)T−λj]i=1∑mϕ(xi)αij=0
更正:
λ
j
{\lambda }_j
λj应为
λ
j
I
{\lambda }_j\mathbf{I}
λjI。
引入记号
{
K
=
以
(
K
)
i
j
为元素的矩阵
=
以
K
i
为行的矩阵
(
K
)
i
j
=
κ
(
x
i
,
x
j
)
=
ϕ
(
x
i
)
T
ϕ
(
x
j
)
α
j
=
(
α
1
j
;
α
2
j
;
⋯
;
α
m
j
)
ϕ
=
(
ϕ
(
x
1
)
;
ϕ
(
x
2
)
;
⋯
;
ϕ
(
x
m
)
)
\begin{align} \begin{cases} \mathbf{K} =\text{以$(\mathbf{K})_{ij}$为元素的矩阵}=\text{以$\mathbf{K}_{i}$为行的矩阵} \\ (\mathbf{K})_{ij}=\kappa (\boldsymbol{x}_i,\boldsymbol{x}_j)={\phi (\boldsymbol{x}_i)}^{\mathrm{T}}\phi (\boldsymbol{x}_j) \\ \boldsymbol{\alpha }^j=({\alpha }_1^j;{\alpha }_2^j;\cdots;{\alpha }_m^j) \\ \boldsymbol{\phi} =(\phi (\boldsymbol{x}_1);\phi (\boldsymbol{x}_2);\cdots;\phi (\boldsymbol{x}_m)) \\ \end{cases} \tag{10.69} \end{align}
⎩
⎨
⎧K=以(K)ij为元素的矩阵=以Ki为行的矩阵(K)ij=κ(xi,xj)=ϕ(xi)Tϕ(xj)αj=(α1j;α2j;⋯;αmj)ϕ=(ϕ(x1);ϕ(x2);⋯;ϕ(xm))(10.69)
则
式(10.68)右边
=
λ
j
ϕ
T
α
j
式(10.68)左边
=
∑
i
=
1
m
ϕ
(
x
i
)
ϕ
(
x
i
)
T
∑
k
=
1
m
ϕ
(
x
k
)
α
k
j
=
∑
i
=
1
m
∑
k
=
1
m
ϕ
(
x
i
)
ϕ
(
x
i
)
T
ϕ
(
x
k
)
α
k
j
=
∑
i
=
1
m
∑
k
=
1
m
ϕ
(
x
i
)
κ
(
x
i
,
x
k
)
α
k
j
=
∑
i
=
1
m
ϕ
(
x
i
)
(
∑
k
=
1
m
κ
(
x
i
,
x
k
)
α
k
j
)
=
∑
i
=
1
m
ϕ
(
x
i
)
(
∑
k
=
1
m
(
K
)
i
k
α
k
j
)
=
∑
i
=
1
m
ϕ
(
x
i
)
K
i
α
j
=
(
∑
i
=
1
m
ϕ
(
x
i
)
K
i
)
α
j
=
ϕ
T
K
α
j
\begin{align} \text{式(10.68)右边} & ={\lambda }_j\boldsymbol{\phi}^{\mathrm{T}}\boldsymbol{\alpha }^j\tag{10.70} \\ \text{式(10.68)左边} & =\sum_{i=1}^m\phi(\boldsymbol{x}_i)\phi(\boldsymbol{x}_i)^{\mathrm{T}}\sum_{k=1}^m\phi (\boldsymbol{x}_k){\alpha }_k^j\notag \\ & =\sum_{i=1}^m\sum_{k=1}^m\phi(\boldsymbol{x}_i)\phi(\boldsymbol{x}_i)^{\mathrm{T}}\phi (\boldsymbol{x}_k){\alpha }_k^j\notag \\ & =\sum_{i=1}^m\sum_{k=1}^m\phi(\boldsymbol{x}_i)\kappa (\boldsymbol{x}_i,\boldsymbol{x}_k){\alpha }_k^j\notag \\ & =\sum_{i=1}^m\phi(\boldsymbol{x}_i)\left(\sum_{k=1}^m\kappa (\boldsymbol{x}_i,\boldsymbol{x}_k){\alpha }_k^j\right)\notag \\ & =\sum_{i=1}^m\phi(\boldsymbol{x}_i)\left(\sum_{k=1}^m(\mathbf{K})_{ik}{\alpha }_k^j\right)\notag \\ & =\sum_{i=1}^m\phi(\boldsymbol{x}_i)\mathbf{K}_{i}\boldsymbol{\alpha }^j\notag \\ & =\left(\sum_{i=1}^m\phi(\boldsymbol{x}_i)\mathbf{K}_{i}\right)\boldsymbol{\alpha }^j\notag \\ & =\boldsymbol{\phi}^{\mathrm{T}}\mathbf{K}\boldsymbol{\alpha }^j \tag{10.71} \end{align}
式(10.68)右边式(10.68)左边=λjϕTαj=i=1∑mϕ(xi)ϕ(xi)Tk=1∑mϕ(xk)αkj=i=1∑mk=1∑mϕ(xi)ϕ(xi)Tϕ(xk)αkj=i=1∑mk=1∑mϕ(xi)κ(xi,xk)αkj=i=1∑mϕ(xi)(k=1∑mκ(xi,xk)αkj)=i=1∑mϕ(xi)(k=1∑m(K)ikαkj)=i=1∑mϕ(xi)Kiαj=(i=1∑mϕ(xi)Ki)αj=ϕTKαj(10.70)(10.71)
则由式(10.70)、式(10.71)有
ϕ
T
(
K
α
j
−
λ
j
α
j
)
=
0
\begin{align} \boldsymbol{\phi}^{\mathrm{T}}(\mathbf{K}\boldsymbol{\alpha }^j-{\lambda }_j\boldsymbol{\alpha }^j)=\mathbf{0} \tag{10.72} \end{align}
ϕT(Kαj−λjαj)=0(10.72)
由于
ϕ
\boldsymbol{\phi}
ϕ已由数据集
D
D
D确定,即它为常向量。 故式(10.72)转化为
K
α
j
=
λ
j
α
j
\begin{align} \mathbf{K}\boldsymbol{\alpha }^j={\lambda }_j\boldsymbol{\alpha }^j \tag{10.73} \end{align}
Kαj=λjαj(10.73)
即为【西瓜书式(10.24)】,比较【西瓜书式(10.24)】与【西瓜书式(10.17)】,形式一样,故向量
α
j
\boldsymbol{\alpha }^j
αj解法一样。 即: 对矩阵
K
\mathbf{K}
K进行特征分解,取最大的
d
′
d'
d′个特征值对应的特征向量即为所求(参考式(10.17)):
α
1
,
α
2
,
⋯
,
α
d
′
\boldsymbol{\alpha }^1,\boldsymbol{\alpha }^2,\cdots,\boldsymbol{\alpha }^{d'}
α1,α2,⋯,αd′。
(ii)式(10.67)代入【西瓜书式(10.19)】消去
z
\boldsymbol{z}
z,则有
w
j
=
∑
i
=
1
m
ϕ
(
x
i
)
α
i
j
\begin{align} \boldsymbol{w}_j=\sum_{i=1}^m\phi(\boldsymbol{x}_i){\alpha }_i^j \tag{10.74} \end{align}
wj=i=1∑mϕ(xi)αij(10.74)
即是由【西瓜书式(10.20)】得到的【西瓜书式(10.22)】。
回到图10.1,
z
\boldsymbol{z }
z到
y
\boldsymbol{y }
y为PCA,由式(10.34)有
y
=
W
^
T
z
=
(
w
1
,
w
2
,
⋯
,
w
d
′
)
T
z
=
(
w
1
T
z
;
w
2
T
z
;
⋯
;
w
d
′
T
z
)
\begin{align} \boldsymbol{y } & ={\hat{\mathbf{W }}}^{\mathrm{T}}\boldsymbol{z }\notag \\ & =(\boldsymbol{w}_1,\boldsymbol{w}_2,\cdots,\boldsymbol{w}_{d'})^{\mathrm{T}}\boldsymbol{z }\notag \\ & =(\boldsymbol{w}_1^{\mathrm{T}}\,\boldsymbol{z };\boldsymbol{w}_2^{\mathrm{T}}\,\boldsymbol{z };\cdots;\boldsymbol{w}_{d'}^{\mathrm{T}}\,\boldsymbol{z }) \tag{10.75} \end{align}
y=W^Tz=(w1,w2,⋯,wd′)Tz=(w1Tz;w2Tz;⋯;wd′Tz)(10.75)
由式(10.75)得分量表达
y
j
=
w
j
T
z
(
y
j
为向量
y
的第
j
个分量)
=
(
∑
i
=
1
m
ϕ
(
x
i
)
α
i
j
)
T
ϕ
(
x
)
(由式(10.74))
=
∑
i
=
1
m
(
α
i
j
)
T
ϕ
(
x
i
)
T
ϕ
(
x
)
=
∑
i
=
1
m
α
i
j
κ
(
x
i
,
x
)
\begin{align} y_j & =\boldsymbol{w}_j^{\mathrm{T}}\boldsymbol{z }\qquad\text{($y_j$为向量$\boldsymbol{y }$的第$j$个分量)}\notag \\ & =\left(\sum_{i=1}^m\phi(\boldsymbol{x}_i){\alpha }_i^j\right)^{\mathrm{T}}\phi(\boldsymbol{x})\quad \text{(由式(10.74))}\notag \\ & =\sum_{i=1}^m({\alpha }_i^j)^{\mathrm{T}}\phi(\boldsymbol{x}_i)^{\mathrm{T}}\phi(\boldsymbol{x})\notag \\ & =\sum_{i=1}^m{{\alpha }_i^j}\kappa (\boldsymbol{x}_i,\boldsymbol{x}) \tag{10.76} \end{align}
yj=wjTz(yj为向量y的第j个分量)=(i=1∑mϕ(xi)αij)Tϕ(x)(由式(10.74))=i=1∑m(αij)Tϕ(xi)Tϕ(x)=i=1∑mαijκ(xi,x)(10.76)
其中,
α
i
j
{\alpha }_i^j
αij已通过上述特征向量求出了,这即为【西瓜书式(10.25)】,取
j
=
1
,
2
,
⋯
,
d
′
j=1,2,\cdots,d'
j=1,2,⋯,d′,则实现了将
d
d
d维的
x
\boldsymbol{x }
x降为
d
′
d'
d′维的
y
\boldsymbol{y }
y。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
上一篇:10.6 图像压缩(图像坐标x压缩成了坐标z么?错!)
下一篇:10.8 流形学习(等度量映射Isomap算法、局部线性嵌入LLE算法)