虽然空间是高维,但是与学习任务相关的样本可能只与其中某个曲面相关(比如,过马路只需要一座立交桥),这一限定就实现了降维。
三维中的曲面,可以“展”成平面区域,实现了从三维降成二维。
重点讨论了特征分解进行降维的技巧。这一技巧是机器学习中的常用技巧,我们会多次碰到,请同学们学好它。
低维嵌入
虽然空间是高维,但是与学习任务相关的样本可能只与其中某个曲面相关(比如,过马路只需要一座立交桥),这一限定就实现了降维。 例如,三维中的曲面,可以“展”成平面区域,实现了从三维降成二维,即【西瓜书图10.2】所示,其中,左图中的曲面是“嵌入”到三维空间中了。
多维缩放(MDS)要求在降维过程中保持距离不变。 样本 x i \boldsymbol{x}_i xi与 x j \boldsymbol{x}_j xj有距离 d i s t i j \mathrm{dist}_{ij} distij,则对应于样本集 D D D可计算出距离矩阵 D \mathbf{D} D,其元素为 d i s t i j = ∣ ∣ x i − x j ∣ ∣ \mathrm{dist}_{ij}=||\boldsymbol{x}_i-\boldsymbol{x}_j|| distij=∣∣xi−xj∣∣。
设有变换
z
=
f
(
x
)
\begin{align} \boldsymbol{z}=f(\boldsymbol{x}) \tag{10.1} \end{align}
z=f(x)(10.1)
变换到低维空间后,算法要求保持距离不变,即
{
z
i
}
i
=
1
m
\{\boldsymbol{z}_i\}_{i=1}^m
{zi}i=1m的距离矩阵仍为
D
\mathbf{D}
D。
%
x
i
\boldsymbol{x}_i
xi与
x
j
\boldsymbol{x}_j
xj分别对应为
z
i
\boldsymbol{z}_i
zi与
z
j
\boldsymbol{z}_j
zj,再
而在低维中可以定义距离为欧氏距离,则有:
d
i
s
t
i
j
=
∣
∣
z
i
−
z
j
∣
∣
\mathrm{dist}_{ij}=||\boldsymbol{z}_i-\boldsymbol{z}_j||
distij=∣∣zi−zj∣∣,其左边为
D
\mathbf{D}
D中元素,而右边平方可展开为:
∣
∣
z
i
−
z
j
∣
∣
2
=
z
i
T
z
i
+
z
j
T
z
j
−
2
z
i
T
z
j
||\boldsymbol{z}_i-\boldsymbol{z}_j||^2=\boldsymbol{z}_i^{\mathrm{T}}\boldsymbol{z}_i+\boldsymbol{z}_j^{\mathrm{T}}\boldsymbol{z}_j-2\boldsymbol{z}_i^{\mathrm{T}}\boldsymbol{z}_j
∣∣zi−zj∣∣2=ziTzi+zjTzj−2ziTzj,由此启发我们考察内积矩阵
B
=
Z
T
Z
,
(
b
i
j
=
z
i
T
z
j
)
\begin{align} \mathbf{B}= \mathbf{Z}^{\mathrm{T}}\mathbf{Z},\quad (b_{ij}=\boldsymbol{z}_i^{\mathrm{T}}\boldsymbol{z}_j) \tag{10.2} \end{align}
B=ZTZ,(bij=ziTzj)(10.2)
其中,
Z
\mathbf{Z}
Z的列为
z
i
\boldsymbol{z}_i
zi。
【西瓜书】讨论了由矩阵 D \mathbf{D} D求矩阵 B \mathbf{B} B,即【西瓜书式(10.10)】,这里我们选择一些式子推导来揭示用到的技巧。
对
z
\boldsymbol{z}
z进行中心化
z
′
i
=
z
i
−
1
m
∑
i
=
1
m
z
i
\begin{align} {\boldsymbol{z}'}_i=\boldsymbol{z}_i-\frac{1}{m}\sum_{i=1}^m\boldsymbol{z}_i \tag{10.3} \end{align}
z′i=zi−m1i=1∑mzi(10.3)
则
∑
i
=
1
m
z
′
i
=
0
\sum_{i=1}^m{\boldsymbol{z}'}_i=0
∑i=1mz′i=0,后续设
z
\boldsymbol{z}
z已被中心化,即
∑
i
=
1
m
z
i
=
0
\sum_{i=1}^m{\boldsymbol{z}}_i=0
∑i=1mzi=0。 中心化后的效果是矩阵
B
\mathbf{B}
B的行(列)上元素之和为0,即
∑
j
=
1
m
b
i
j
=
∑
j
=
1
m
z
i
T
z
j
=
z
i
T
∑
j
=
1
m
z
j
=
0
∑
i
=
1
m
b
i
j
=
0
(由对称性)
\begin{align} \sum_{j=1}^mb_{ij} & =\sum_{j=1}^m\boldsymbol{z}_i^{\mathrm{T}}\boldsymbol{z}_j\notag \\ & =\boldsymbol{z}_i^{\mathrm{T}}\sum_{j=1}^m\boldsymbol{z}_j\notag \\ & =0 \tag{10.4} \\ \sum_{i=1}^mb_{ij} & =0 \qquad \text{(由对称性)}\tag{10.5} \end{align}
j=1∑mbiji=1∑mbij=j=1∑mziTzj=ziTj=1∑mzj=0=0(由对称性)(10.4)(10.5)
【西瓜书式(10.3)】两端对
i
i
i求和,有
∑
i
=
1
m
d
i
j
2
=
∑
i
=
1
m
b
i
i
+
∑
i
=
1
m
b
j
j
−
2
∑
i
=
1
m
b
i
j
=
t
r
(
B
)
+
m
⋅
b
j
j
−
2
⋅
0
=
t
r
(
B
)
+
m
⋅
b
j
j
\begin{align} \sum_{i=1}^md_{ij}^2 & =\sum_{i=1}^mb_{ii}+\sum_{i=1}^mb_{jj}-2\sum_{i=1}^mb_{ij}\notag \\ & =\mathrm{tr}(\mathbf{B})+m\cdot b_{jj}-2\cdot 0 \notag \\ & =\mathrm{tr}(\mathbf{B})+m\cdot b_{jj} \tag{10.6} \end{align}
i=1∑mdij2=i=1∑mbii+i=1∑mbjj−2i=1∑mbij=tr(B)+m⋅bjj−2⋅0=tr(B)+m⋅bjj(10.6)
式(10.6)即为【西瓜书式(10.4)】,同样可得【西瓜书式(10.5)】。
对式(10.6)两边针对
j
j
j求和,则
∑
j
=
1
m
∑
i
=
1
m
d
i
j
2
=
∑
j
=
1
m
⋅
t
r
(
B
)
+
m
⋅
∑
j
=
1
m
b
j
j
=
m
⋅
t
r
(
B
)
+
m
⋅
t
r
(
B
)
=
2
m
⋅
t
r
(
B
)
\begin{align} \sum_{j=1}^m\sum_{i=1}^md_{ij}^2 & =\sum_{j=1}^m\cdot \mathrm{tr}(\mathbf{B})+m\cdot \sum_{j=1}^mb_{jj}\notag \\ & =m\cdot \mathrm{tr}(\mathbf{B})+m\cdot \mathrm{tr}(\mathbf{B})\notag \\ & =2m\cdot \mathrm{tr}(\mathbf{B}) \tag{10.7} \end{align}
j=1∑mi=1∑mdij2=j=1∑m⋅tr(B)+m⋅j=1∑mbjj=m⋅tr(B)+m⋅tr(B)=2m⋅tr(B)(10.7)
式(10.7)即为【西瓜书式(10.6)】的推导过程。
【西瓜书式(10.7)
∼
\,\thicksim
∼(10.9)】是引入记号,在此记号下,重写【西瓜书式(10.4)
∼
\,\thicksim
∼(10.6)】,有
b
j
j
=
d
.
j
2
−
t
r
(
B
)
m
b
i
i
=
d
i
.
2
−
t
r
(
B
)
m
0
=
−
d
.
.
2
+
2
t
r
(
B
)
m
\begin{align} b_{jj} & =d_{.j}^2-\frac{\mathrm{tr}(\mathbf{B})}{m}\tag{10.8} \\ b_{ii} & =d_{i.}^2-\frac{\mathrm{tr}(\mathbf{B})}{m}\tag{10.9} \\ 0 & =-d_{..}^2+\frac{2\mathrm{tr}(\mathbf{B})}{m}\tag{10.10} \end{align}
bjjbii0=d.j2−mtr(B)=di.2−mtr(B)=−d..2+m2tr(B)(10.8)(10.9)(10.10)
此三式相加,得
b
j
j
+
b
i
i
=
d
.
j
2
+
d
i
.
2
−
d
.
.
2
\begin{align} b_{jj}+b_{ii} & =d_{.j}^2+d_{i.}^2-d_{..}^2 \tag{10.11} \end{align}
bjj+bii=d.j2+di.2−d..2(10.11)
又由【西瓜书式(10.3)】,有
b
i
j
=
−
1
2
(
d
i
j
2
−
b
i
i
−
b
j
j
)
\begin{align} b_{ij} & =-\frac{1}{2}(d_{ij}^2-b_{ii}-b_{jj}) \tag{10.12} \end{align}
bij=−21(dij2−bii−bjj)(10.12)
式(10.11)代入式(10.12)即得【西瓜书式(10.10)】。 即可以由矩阵
D
\mathbf{D}
D的元素求出矩阵
B
\mathbf{B}
B的元素。
下面从内积矩阵 B \mathbf{B} B找出从高维到低维的变换。
由矩阵理论,可以求出
B
\mathbf{B}
B的特征分解,即
B
=
V
Λ
V
T
\begin{align} \mathbf{B}=\mathbf{V}\boldsymbol{\Lambda }\mathbf{V}^{\mathrm{T}} \tag{10.13} \end{align}
B=VΛVT(10.13)
其中,对角矩阵
Λ
=
d
i
a
g
(
λ
1
,
λ
2
,
⋯
,
λ
d
)
\boldsymbol{\Lambda }=\mathrm{diag}({\lambda }_1,{\lambda }_2,\cdots,{\lambda }_d)
Λ=diag(λ1,λ2,⋯,λd),主对角线上为从大到小排列的
B
\mathbf{B}
B特征值,其余非主对角线的元素全为0。
由式(10.2)及式(10.13),有
Z
T
Z
=
V
Λ
V
T
=
[
V
Λ
1
2
]
[
Λ
1
2
V
]
T
\begin{align} \mathbf{Z}^{\mathrm{T}}\mathbf{Z} & =\mathbf{V}\boldsymbol{\Lambda }\mathbf{V}^{\mathrm{T}}\notag \\ & =[\mathbf{V}\boldsymbol{\Lambda }^{\frac{1}{2}}][\boldsymbol{\Lambda }^{\frac{1}{2}}\mathbf{V}]^{\mathrm{T}} \tag{10.14} \end{align}
ZTZ=VΛVT=[VΛ21][Λ21V]T(10.14)
其中,
Λ
1
2
=
d
i
a
g
(
λ
1
,
λ
2
,
⋯
,
λ
d
)
\boldsymbol{\Lambda }^{\frac{1}{2}}=\mathrm{diag}(\sqrt{{\lambda }_1} ,\sqrt{{\lambda }_2} ,\cdots,\sqrt{{\lambda }_d} )
Λ21=diag(λ1,λ2,⋯,λd),注:这里各特征值均为非负,因为内积矩阵是半正定的,即
B
\mathbf{B}
B为半正定。
由式(10.14),有
Z
=
Λ
1
2
V
T
\begin{align} \mathbf{Z} & =\boldsymbol{\Lambda }^{\frac{1}{2}}\mathbf{V}^{\mathrm{T}} \tag{10.15} \end{align}
Z=Λ21VT(10.15)
上述推理中,并未涉及到降维,而是说:若变换保持距离不变,则内积矩阵
B
\mathbf{B}
B也保持不变。
B
\mathbf{B}
B经过特征分解后,就可考虑降维:取前面
d
′
d'
d′个特征值(
d
′
≪
d
d' \ll d
d′≪d)形成
Λ
~
\tilde{ \boldsymbol{\Lambda }}
Λ~,对应于
V
~
\tilde{\mathbf{V}}
V~,则变换所得到的
Z
\mathbf{Z}
Z可表述为【西瓜书式(10.12)】,注:作为算法应将“近似等于”改为“等于”(相当于作了变换)。
Z
≈
Λ
~
1
2
V
~
T
\begin{align} \mathbf{Z} & \approx \tilde{ \boldsymbol{\Lambda }}^{\frac{1}{2}}\tilde{\mathbf{V}}^{\mathrm{T}} \tag{10.16} \end{align}
Z≈Λ~21V~T(10.16)
它有两个特点:
- Z \mathbf{Z} Z实现了对 x \boldsymbol{x} x的降维(从 d d d维降到了 d ′ d' d′维),即以样本集 D D D的样本为列的矩阵 X \mathbf{X} X( d d d行属性)变换成了矩阵 Z \mathbf{Z} Z( d ′ d' d′行属性)。注:本章的 X \mathbf{X} X不是设计矩阵(设计矩阵参见对简化模型数学化 中的式(9)),而是设计矩阵的转置。 在特值分解时,通常以样本为“列”形成矩阵 X \mathbf{X} X,特点: X \mathbf{X} X为 d × m d\times m d×m,协方差矩阵 X X T \mathbf{X}\mathbf{X}^{\mathrm{T}} XXT为 d × d d\times d d×d的方形矩阵。
- “距离不变”改成了“距离近似”。
上述过程总结成MDS算法【西瓜书图10.3】。 过程简记为
{
矩阵
X
∈
R
d
×
m
(
m
列,
d
维
x
组成列)
⇒
距离矩阵
D
∈
R
m
×
m
⇒
内积矩阵
B
∈
R
m
×
m
⇒
特征矩阵
Λ
∈
R
m
×
m
⇒
截取左上角阵
Λ
~
∈
R
d
′
×
d
′
⇒
矩阵
Z
∈
R
d
′
×
m
(
m
列,
d
′
维
z
组成列)
\begin{align*} \begin{cases} & \text{矩阵$\boldsymbol{X}\in \mathbb{R} ^{d\times m}$($m$列,$d$维$\boldsymbol{x}$组成列)}\Rightarrow \text{距离矩阵$\boldsymbol{D}\in \mathbb{R} ^{m\times m}$}\Rightarrow \notag \\ & \text{内积矩阵$\boldsymbol{B}\in \mathbb{R} ^{m\times m}$}\Rightarrow \text{特征矩阵$\boldsymbol{\Lambda }\in \mathbb{R} ^{m\times m}$}\Rightarrow \notag \\ & \text{截取左上角阵$\boldsymbol{\widetilde{\Lambda} }\in \mathbb{R} ^{d'\times d'}$}\Rightarrow \text{矩阵$\boldsymbol{Z}\in \mathbb{R} ^{d'\times m}$($m$列,$d'$维$\boldsymbol{z}$组成列)} \end{cases} \end{align*}
⎩
⎨
⎧矩阵X∈Rd×m(m列,d维x组成列)⇒距离矩阵D∈Rm×m⇒内积矩阵B∈Rm×m⇒特征矩阵Λ∈Rm×m⇒截取左上角阵Λ
∈Rd′×d′⇒矩阵Z∈Rd′×m(m列,d′维z组成列)
其中,利用特征分解进行降维的技巧,后续我们会多次碰到,摘出为式(10.17)。
{
内积矩阵
B
∈
R
m
×
m
⇒
特征矩阵
Λ
∈
R
m
×
m
⇒
截取左上角阵
Λ
~
∈
R
d
′
×
d
′
⇒
矩阵
Z
∈
R
d
′
×
m
\begin{align} \begin{cases} & \text{内积矩阵$\boldsymbol{B}\in \mathbb{R} ^{m\times m}$}\Rightarrow \text{特征矩阵$\boldsymbol{\Lambda }\in \mathbb{R} ^{m\times m}$}\Rightarrow \\ & \text{截取左上角阵$\boldsymbol{\widetilde{\Lambda} }\in \mathbb{R} ^{d'\times d'}$}\Rightarrow \text{矩阵$\boldsymbol{Z}\in \mathbb{R} ^{d'\times m}$} \\ \end{cases} \tag{10.17} \end{align}
{内积矩阵B∈Rm×m⇒特征矩阵Λ∈Rm×m⇒截取左上角阵Λ
∈Rd′×d′⇒矩阵Z∈Rd′×m(10.17)
上述推导MDS中并没有限定式(10.1)的变换形式,当其变换为线性变换【西瓜书式(10.13)】时,则为MDS的线性降维。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权