(《机器学习》完整版系列)第10章 降维与度量学习——10.2 低维嵌入(立交桥就是嵌入三维空间中的二维)

虽然空间是高维,但是与学习任务相关的样本可能只与其中某个曲面相关(比如,过马路只需要一座立交桥),这一限定就实现了降维。
三维中的曲面,可以“展”成平面区域,实现了从三维降成二维。
重点讨论了特征分解进行降维的技巧。这一技巧是机器学习中的常用技巧,我们会多次碰到,请同学们学好它。

低维嵌入

虽然空间是高维,但是与学习任务相关的样本可能只与其中某个曲面相关(比如,过马路只需要一座立交桥),这一限定就实现了降维。 例如,三维中的曲面,可以“展”成平面区域,实现了从三维降成二维,即【西瓜书图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=∣∣xixj∣∣

设有变换
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=∣∣zizj∣∣,其左边为 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 ∣∣zizj2=ziTzi+zjTzj2ziTzj,由此启发我们考察内积矩阵
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} zi=zim1i=1mzi(10.3)
∑ i = 1 m z ′ i = 0 \sum_{i=1}^m{\boldsymbol{z}'}_i=0 i=1mzi=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=1mbiji=1mbij=j=1mziTzj=ziTj=1mzj=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=1mdij2=i=1mbii+i=1mbjj2i=1mbij=tr(B)+mbjj20=tr(B)+mbjj(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=1mi=1mdij2=j=1mtr(B)+mj=1mbjj=mtr(B)+mtr(B)=2mtr(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.j2mtr(B)=di.2mtr(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.2d..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(dij2biibjj)(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 dd)形成 Λ ~ \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*} 矩阵XRd×mm列,dx组成列)距离矩阵DRm×m内积矩阵BRm×m特征矩阵ΛRm×m截取左上角阵Λ Rd×d矩阵ZRd×mm列,dz组成列)
其中,利用特征分解进行降维的技巧,后续我们会多次碰到,摘出为式(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} {内积矩阵BRm×m特征矩阵ΛRm×m截取左上角阵Λ Rd×d矩阵ZRd×m(10.17)

上述推导MDS中并没有限定式(10.1)的变换形式,当其变换为线性变换【西瓜书式(10.13)】时,则为MDS的线性降维。

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:10.1 k近邻算法(你是住在穷人区还是富人区?)
下一篇:10.3 主成分分析的优化目标(坐标变换的魔力)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值