【MDS算法】—— Multiple Dimensional Scaling降维算法简介

在高维情形下出现的数据样本稀疏、距离计算困难等问题,是所有机器学习方法共同面临的严重障碍,被称为“维数灾难” (curse ofdimensionality)。

缓解维数灾难的一个重要途径是降维 (dimension reduction),亦称“维数约简”,即通过某种数学变换将原始高维属性空间转变为一个低维“子空间”(subspace), 在这个子空间中样本密度大幅提高,距离计算也变得更为容易.为什么能进行降维?这是因为在很多时候,人们观测或收集到的数据样本虽是高维的,但与学习任务密切相关的也许仅是某个低维分布,即高维空间中的一个低维“ 嵌入” (embedding)。下图给出了一个直观的例子。原始高维空间中的样本点,在这个低维嵌入子空间中更容易进行学习。

【MDS算法】—— Multiple Dimensional Scaling降维算法简介_第1张图片

若要求原始空间中样本之间的距离在低维空间中得以保持,如上图所示,即得到“多维缩放” (Multiple Dimensional Scaling,简称 M D S MDS MDS ) 这样一种经典的降维方法。下面做一个简单的介绍。

假定 m m m 个样本在原始空间的距离矩阵为 D ∈ R m × m D∈\mathbb{R}^{m×m} DRm×m,其第 i i i j j j 列的元素 d i s t i j dist_{ij} distij 为样本 x i x_i xi x j x_j xj 的距离。我们的目标是获得样本在 d ′ d' d 维空间的表示 Z ∈ R d ′ × m , d ′ ≤ d Z∈\mathbb{R}^{d'×m},d'≤d ZRd×m,dd,且任意两个样本在 d ′ d' d 维空间中的欧氏距离等于原始空间中的距离,即 ∣ ∣ z i − z j ∣ ∣ = d i s t i j ||z_i-z_j||=dist_{ij} zizj=distij

B = Z T Z ∈ R m x m B=Z^TZ∈\mathbb{R}^{mxm} B=ZTZRmxm,其中 B B B 为降维后样本的内积矩阵, b i j = z i T z j b_{ij}=z_i^Tz_j bij=ziTzj,有
在这里插入图片描述

0 ∈ R d ′ 0∈\mathbb{R}^{d'} 0Rd 为全零向量。

为便于讨论,令降维后的样本 Z Z Z 被中心化,即 ∑ i = 1 m z i = 0 \sum^m_{i=1}z_i=0 i=1mzi=0。显然,矩阵 B B B 的行与列之和均为零,即 ∑ i = 1 m b i j = ∑ j = 1 m b i j 0 \sum^m_{i=1}b_{ij}=\sum^m_{j=1}b_{ij}0 i=1mbij=j=1mbij0。易知
∑ i = 1 m d i s t i j 2 = t r ( B ) + m b j j    , (4) \sum^m_{i=1}dist^2_{ij}=tr(B)+mb_{jj}\,\,,\tag{4} i=1mdistij2=tr(B)+mbjj,(4)

∑ j = 1 m d i s t i j 2 = t r ( B ) + m b i i    , (5) \sum^m_{j=1}dist^2_{ij}=tr(B)+mb_{ii}\,\,,\tag{5} j=1mdistij2=tr(B)+mbii,(5)

∑ i = 1 m ∑ j = 1 m d i s t i j 2 = 2 m   t r ( B )    , (6) \sum^m_{i=1}\sum^m_{j=1}dist^2_{ij}=2m\,tr(B)\,\,,\tag{6} i=1mj=1mdistij2=2mtr(B),(6)

其中 t r ( ⋅ ) tr(·) tr() 表示矩阵的迹 (trace), t r ( B ) = ∑ i = 1 m ∣ ∣ z i ∣ ∣ 2 tr(B)=\sum^m_{i=1}||z_i||^2 tr(B)=i=1mzi2。令
d i s t i . 2 = 1 m ∑ j = 1 m d i s t i j 2    , (7) dist_{i.}^2=\frac{1}{m}\sum^m_{j=1}dist_{ij}^2\,\,,\tag{7} disti.2=m1j=1mdistij2,(7)

d i s t . j 2 = 1 m ∑ j = 1 m d i s t i j 2    , (8) dist_{.j}^2=\frac{1}{m}\sum^m_{j=1}dist_{ij}^2\,\,,\tag{8} dist.j2=m1j=1mdistij2,(8)

d i s t . . 2 = 1 m 2 ∑ i = 1 m ∑ j = 1 m d i s t i j 2    , (9) dist_{..}^2=\frac{1}{m^2}\sum^m_{i=1}\sum^m_{j=1}dist_{ij}^2\,\,,\tag{9} dist..2=m21i=1mj=1mdistij2,(9)

由式 (3) 和式 (4)~(9) 可得
b i j = − 1 2 ( d i s t i j 2 − d i s t i . 2 − d i s t . j 2 + d i s t . . 2 )    , (10) b_{ij}=-\frac{1}{2}(dist_{ij}^2-dist^2_{i.}-dist^2_{.j}+dist^2_{..})\,\,,\tag{10} bij=21(distij2disti.2dist.j2+dist..2),(10)
由此即可通过降维前后保持不变的距离矩阵 D D D 求取内积矩阵 B B B

对矩阵 B B B 做特征值分解 (eigenvalue decomposition), B = Ⅴ Λ Ⅴ T B=Ⅴ\Lambda Ⅴ^T B=ΛT,其中 Λ = d i a g ( λ 1 , λ 2 , . . . , λ d ) \Lambda= diag(λ_1,λ_2,...,\lambda_d) Λ=diag(λ1,λ2,...,λd) 为特征值构成的对角矩阵, λ 1 ≥ λ 2 ≥ . . . ≥ λ d λ_1≥\lambda_2≥...≥\lambda_d λ1λ2...λd V V V 为特征向量矩阵。假定其中有 d ∗ d^* d 个非零特征值,它们构成对角矩阵 Λ ∗ = d i a g ( λ 1 , λ 2 , . . . , λ d ∗ ) \Lambda_*=diag(\lambda_1,\lambda_2,...,\lambda_{d^*}) Λ=diag(λ1,λ2,...,λd)。令 Ⅴ ∗ Ⅴ_* 表示相应的特征向量矩阵,则 Z Z Z 可表达为
Z = Λ ∗ 1 / 2 Ⅴ ∗ T ∈ R d ∗ × m    . (11) Z=\Lambda_*^{1/2}Ⅴ^T_*∈\mathbb{R}^{d^*×m}\,\,.\tag{11} Z=Λ1/2TRd×m.(11)

在现实应用中为了有效降维,往往仅需降维后的距离与原始空间中的距离尽可能接近,而不必严格相等。此时可取 d ′ ≪ d d'\ll d dd 个最大特征值构成对角矩阵 Λ ~ = d i a g ( λ 1 , λ 2 , . . . , λ d ′ ) \tilde{\Lambda}=diag(\lambda_1,\lambda_2,...,\lambda_{d'}) Λ~=diag(λ1,λ2,...,λd),令 Ⅴ ~ \tilde{Ⅴ} ~ 表示相应的特征向量矩阵,则 Z Z Z 可表达为
Z = Λ ~ 1 / 2 Ⅴ ~ T ∈ R d ′ × m    . (12) Z=\tilde{\Lambda}^{1/2}\tilde{Ⅴ}^T∈\mathbb{R}^{d'×m}\,\,.\tag{12} Z=Λ~1/2~TRd×m.(12)
下图给出了 M D S MDS MDS 算法的描述:

【MDS算法】—— Multiple Dimensional Scaling降维算法简介_第2张图片

​ 一般来说,欲获得低维子空间,最简单的是对原始高维空间进行线性变换。给定 d d d 维空间中的样本 X = ( x 1 , x 2 , . . . , x m ) ∈ R d × m X=(x_1,x_2,...,x_m)∈\mathbb{R}^{d×m} X=(x1,x2,...,xm)Rd×m,变换之后得到 d ′ ≤ d d'≤d dd 维空间中的样本
Z = W T X    , (13) Z=W^TX\,\,,\tag{13} Z=WTX,(13)

通常令 d ′ ≪ d d'\ll d dd

其中 W ∈ R d × d ′ W∈\mathbb{R}^{d×d'} WRd×d 变换矩阵,Z∈Rd"xm是样本在新空间中的表达。

变换矩阵 W W W 可视为 d ′ d' d d d d 维基向量, z i = W T x i z_i=W^Tx_i zi=WTxi 是第 i i i 个样本与这 d ′ d' d 个基向量分别做内积而得到的 d ′ d' d 维属性向量。换言之, z i z_i zi 是原属性向量 x i x_i xi 在新坐标系 { w 1 , w 2 , . . . , w d ′ } \{w_1,w_2,...,w_{d'}\} {w1,w2,...,wd} 中的坐标向量。若 w i w_i wi w j ( i ≠ j ) w_j(i≠j) wj(i=j) 正交,则新坐标系是一个正交坐标系,此时 W W W 为正交变换。显然,新空间中的属性是原空间中属性的线性组合。

基于线性变换来进行降维的方法称为线性降维方法,它们都符合式 (13) 的基本形式,不同之处是对低维子空间的性质有不同的要求,相当于对 W W W 施加了不同的约束。在下一节我们将会看到,若要求低维子空间对样本具有最大可分性,则将得到一种极为常用的线性降维方法。

对降维效果的评估,通常是比较降维前后学习器的性能,若性能有所提高则认为降维起到了作用。若将维数降至二维或三维,则可通过可视化技术来直观地判断降维效果。


Reference:《机器学习》

你可能感兴趣的:(【机器学习】)