【文献阅读】(2017)Scaling Locally Linear Embedding

Scaling Locally Linear Embedding

Yasuhiro Fujiwara†‡∗, Naoki Marumo †, Mathieu Blondel †, Koh Takeuchi †, Hideaki Kim†, Tomoharu Iwata †, Naonori Ueda †
摘要:
局部线性嵌入(LLE)是一种流行的降维分析方法,因为它可以有效地表示高维数据的非线性结构。 对于降维,它从一个给定的数据集计算一个最近邻图,其中边缘权重是应用拉格朗日乘数方法获得的,然后它计算 LLE 核的特征向量,其中边缘权重是用来获得核的。 尽管 LLE 在许多应用中都得到了应用,但是它的计算量非常大。 这是因为,在获得边权时,它的计算代价是每个数据点的边数的三次方。 此外,得到 LLE 核特征向量的计算量在数据点个数上为三次。 我们的方法 Ripple 基于两个思想: (1)利用 Woodbury 公式逐步更新边缘权值; (2)利用 LU 分解逆幂法有效地计算 LLE 核的特征向量。 实验表明,通过保证相同的降维结果,Ripple 比原来的 LLE 方法快得多。

在这里插入图片描述

原始LLE

我们对符号进行了正式的定义,并介绍了本文的研究背景。 表1列出了主要符号及其定义。 设 X ∈ R N × M X\in R^{N\times M} XRN×M 是具有 M 维特征的 N 个数据点的矩阵, x i ( x i [ 1 ] , x i [ 2 ] , . . . , x i [ m ] ) x_i (x_i [1] ,x_i [2] ,... ,x_i [ m ]) xi(xi[1]xi[2]...xi[m])是矩阵 X 中的第 i 行向量,向量 x i x_i xi 对应于第 i 行数据点。
由于高维数据通常具有许多冗余和相关性,隐藏了重要的关系,因此找到数据的紧凑表示形式非常重要。 LLE 可用于将高维数据集 x 映射到低维数据集 Y ∈ R N × m Y\in R^{N\times m} YRN×m. Let y i ( y i [ 1 ] , y i [ 2 ] , . . . , y i [ m ] ) y_i (y_i [1] ,y_i [2] ,... ,y_i [ m ]) yi(yi[1]yi[2]...yi[m])为长度 m 的行向量, y i y_i yi对应于高维数据 x i x_i xi 。 LLe 的基本思想是,即使对于数据点所在的结构是全局非线性的,每个数据点及其最近邻点都位于或接近于一个局部几何近似为线性的点集。 通过从相邻的数据点中恢复每个数据点,LLE 生成了一个低维和保持邻域的高维数据集嵌入。
原始的 LLE 算法由两部分组成,解决了最小化重构嵌入代价的最佳化问题。 在第一部分,它找到一组局部权重,参数化每个数据点的线性重建从它的最近邻基于欧几里得度量。

  • 第一部分:
    如果 xp 是用线性重构表示的数据点,则 LLE 的原始算法最小化了以下重构代价:
    在这里插入图片描述在这里插入图片描述
    N [ x p ] N[x_p] N[xp]是点 x p x_p xp的K个最近邻点, W [ i , j ] W[i,j] W[i,j]是xi到xj的边权。为了计算权值,使方程(1)中的重构误差最小,在一个不变性约束下:边权值与数据点 xp 乘积之和为1:
    在这里插入图片描述
    它通过应用重构成本的拉格朗日乘数方法,从局部 Gram 矩阵中获得受约束的最优权重。如果 xi 和 xj 是数据点 xp 的 k 个最近邻(即 xi ∈ N [ x p ] N [ x_p ] N[xp]和 xj ∈ N [ x p ] N [ x_p ] N[xp]) ,则下面的式子给出了 xp 下的由xp和它K个近邻点距离组成的 K × K K\times K K×K 的局部 Gram 矩阵 G p G_p Gp的元素,如果 Gp [ i,j ]是 matrixGp 的[ i,j ]元素:
    在这里插入图片描述
    <,>表示两个向量的内积,用 G p − 1 G_p^{-1} Gp1表示 G p G_p Gp的逆矩阵,则每个数据点的最优权重为
    在这里插入图片描述
    如方程(4)所示,最优解需要矩阵 Gp 的显式反演。

  • 第二部分:
    原始算法的第二部分使用所获得的权重来确定数据点 xp 对应的矢量 yp,最小化了下列嵌入成本:
    在这里插入图片描述
    K是N*N矩阵的LLE核,表示为 K = ( I − W ) × ( I − W ) T K=(I-W)\times(I-W)^T K=(IW)×(IW)T,I是单位阵,W是权重矩阵。代价函数可写为 Y − 1 K Y Y^{-1}KY Y1KY,其中Y还需要满足两个约束,
    (1) Y − 1 Y = I Y^{-1}Y=I Y1Y=I,保证Y的秩为m
    (2) ∑ p y p = 0 \sum_p y_p=0 pyp=0
    合起来的目标函数可写为:

在这里插入图片描述
方程(6)是一个特征值问题,其解是 kernelK 的底部 m + 1个特征向量,最小特征值的特征向量由于代表平移自由度而被丢弃,其余的 m 个特征向量产生一个使方程(6)最小的解。 因此,可以得到矩阵 x 的低维表示 y 作为核 k 的底特征向量。

  • 复杂度分析
    原有的 LLE 算法存在明显的高计算量。 第一部分计算每个数据点的矩阵 Gp 和逆矩阵。 由于矩阵 Gp 的大小为 k,且其元素是 m 长向量的内积,如方程(3)所示,计算所有数据点的矩阵 Gp 需要 o (NK2M)时间。 此外,由于需要公式(4)[31]中所示 Gp 的逆矩阵,计算边缘权值需要 o (NK3)时间。 此外,还需要 o (N2M)时间来获得所有数据点的最近邻。 此外,原算法第二部分的计算代价为 o (N3)。 这是因为,如方程(6)所示,通过计算粒径为 n n 的核 k 的最小 m + 1特征值可以得到给定数据的低维嵌入,因此,LLE 的计算代价为 o (n (K2M + K3) + N2M + N3)。 此外,还需要 o (N2)空间来计算核 k 的特征向量。 因此,原有的 LLE 算法不能适用于大规模数据集。
改进的RIPPLE算法

本节介绍了 Ripple,它可以在不牺牲精确性的情况下有效地执行基于 lle 的降维。 第4.1节概述了构成我们方法基础的思想。 第4.2节描述了增量计算边缘权重的技术。 在第4.3节中,我们描述了有效计算 LLE 核特征向量的方法。 4.4部分展示了我们的降维算法以及它的理论性质。 本节中引理和定理的证明见附录。

在执行降维时,原始的 LLE 算法解决了2个优化问题,以最小化重构嵌入成本,如第3节所述。 然而,由于(1)通过计算嵌入代价的最优解来计算重构代价的最优解需要 o (NK3)时间,(2)通过计算嵌入代价的最优解来实现嵌入的计算代价为 o (N3) ,因此其计算代价过高。

我们的方法通过观察到如果两个数据点在高维空间中靠得很近,那么它们可能共享最近邻,从而有效地解决了这个最佳化问题。 由于Gram矩阵是由最近邻矩阵计算出来的,因此我们的思想是引用其最近邻矩阵的格拉姆矩阵。 然而,由于每个数据点在其Gram矩阵中有不同的元素,因此很难直接利用这种思想。 根据 Gram 矩阵(Equation (3))的定义,给出了数据点 xp 的 Gram 矩阵的 G p [ i , j ] = < x p − x i , x p − x j > G_p[ i,j ] =<xp-xi,xp-xj> Gp[ij]=<xpxixpxj> (其中 xi 和 xj 属于数据点 xp 的 K个最近邻。 因此,对于数据点 xp 和 xq,比如 xp ≠ \neq =xq,即使数据点 xp 和 xq 共享相同的最近邻 xi 和 xj,它们的[ i,j ]元素也不具有相同的得分。 为了提高计算效率,我们在数据点 xp 中引入了矩阵 Cp,通过与原始方法不同的方式应用拉格朗日乘数方法。 由于 matrixCp 的[ i,j ]元素可以计算为 C p [ i , j ] = < x i , x j > Cp [ i,j ]=<xi,xj> Cp[ij]=<xixj> ,如果不同的数据点在高维空间中共享相同的最近邻,它们可以拥有相同的元素。 因此,我们可以有效地得到矩阵 Cp。 此外,该方法还提高了求逆矩阵的效率。 如第3节所述,原始算法计算每个数据点的逆矩阵会产生较高的计算开销。 由于矩阵 Cp 可以与矩阵 Cq 共享相同的分数,我们可以利用 Woodbury 公式从矩阵 c-1q 中逐步更新矩阵 c-1p,以减少高计算量。

为了解决嵌入代价问题,我们的思想是利用逆幂法有效地计算核 k 的底特征向量,逆幂法可以计算矩阵的最小特征值及其特征向量。 然而,由于该方法需要计算核 K 的逆矩阵,因此不能简单地用该方法计算底特征向量。 由于 K 的大小为 N × N N\times N N×N,所以计算逆矩阵需要一定的时间。 此外,这种方法还存在另一个问题: 它的内存成本高得令人望而却步,为 o (N2)。 如第3节所述,核 k 被计算为 K = ( I − W ) × ( I − W ) T K=(I-W)\times(I-W)^T K=(IW)×(IW)T由于 W 对应于最近邻域的边权,因此核 K 具有稀疏结构。 然而,这种稀疏性在 K 的逆矩阵中丢失了;
FFF,t_70)

即使 K具有稀疏结构,逆矩阵也具有稠密结构。 因此,核 k 的逆矩阵的内存消耗为 o (N2)。为了克服这些问题,我们计算了矩阵 I − W I-W IW 的 LU分解,得到了核 k 的特征向量; LU分解将一个矩阵分解为上下三角形。 由于可以利用上下三角形来计算底特征向量,因此可以避免计算核 K 的逆矩阵。 由于内核的下三角和上三角都具有稀疏结构,因此可以在计算量和内存开销方面有效地实现嵌入.

我们将分别在表2和表3中展示我们的方法所实现的计算和内存开销。 在这些表中,“Reconst”和“Embed”分别对应于最小化重构代价(公式(1)和嵌入代价(公式(5))的步骤。 此外,“SVD”, “NN”,“Weight”,“LU”, and“Power”分别是计算 SVD、最近邻、边缘权、 LU分解和幂的步骤。 我们将在随后的小节中详细介绍这些表的每个步骤和符号。 如表2和表3所示,我们的方法有效地降低了原始方法的计算和内存开销。 虽然我们采用了不同于原始方法的策略,但是我们可以证明得到相同的嵌入结果。 这是因为我们的方法旨在输出重构和嵌入成本的最优解决方案。 因此,我们的方法不像 CLLE [19]那样为了提高效率而牺牲准确性,在执行降维时是高效和准确的。
在这里插入图片描述4.2 Efficient Edge Computation(略)
4.3 Efficient Eigenvector Computation
如第3节所述,我们通过计算核 k 的最小 m + 1特征值来执行降维。 在这一部分,我们介绍了我们的方法,以有效地计算底部特征向量的核 k。 在第4.3.1节中,我们首先描述了基于 LU 分解的逆幂法计算核 k 的特征向量。 然后,我们将在4.3.2节中展示如何有效地计算 LU分解。

原 LLE 算法通过求解第3节所述的嵌入代价的最优解来计算数据集 x 的低维嵌入 y。 如果 K = ( I − W ) T × ( I − W ) K=(I-W)^T\times(I-W) K=(IW)T×(IW)是 LLE 核,w 为边权矩阵,则最优解对应于 k 核的底特征向量,因此,如果 λ i \lambda_i λi 是 k 核的第 i 特征值,使得 ∣ λ 1 ∣ ≥ ∣ λ 2 ∣ ≥ . . . ≥ ∣ λ n ∣ | \lambda_1 | ≥ |\lambda_2 | ≥ ... ≥ | \lambda_n | λ1λ2...λn和 zi 是 i 的特征向量,则通过计算 m + 1的底特征向量为$ Y = [ z_{N-m},z_{N-m + 1},… ,z_{N-1}] ,我们得到了 X 数据集的 m 维嵌入 Y。 注意,下面的特征向量 z N z_N zN 被丢弃了,因为它是一个所有分量都相等的单位向量。 对于计算特征矢量,幂法是最流行的方法。 然而,它被设计用来计算矩阵的主要(最大)特征值和特征向量。 因此,幂方法在降维中是没有用的,因为 LLE 需要底特征向量,即使我们用 Lanczos 和 Householder 方法将核 k 转换成稀疏矩阵也是如此。

我们的方法是利用逆幂方法来执行降维。 逆幂法利用逆矩阵[2]计算特征向量,利用逆矩阵 k-1的幂法计算特征向量 zN。 因此,假设 a0是任意长度的列向量 n,我们可以用幂法作为 k-1a-1求出底部特征值 n 及其特征向量 zN。 然而,由于逆矩阵 k-1具有稠密结构,尽管核 k 具有稀疏结构,但它需要 o (N3)时间和 o (N2)空间来完成 computeK-1。

为了避免直接计算核 k 的逆矩阵,我们特别地计算了核 k 的 LU分解乘积,如果 l 和 U 分别是下三角形和上三角形,我们计算 l 和 U 使得 LU=(I-W)。 因此,我们有
在这里插入图片描述
在这里插入图片描述
在方程式(28)中,我们利用上下三角形的前后置换来计算 b,b’ ,b” ,and a T a_{T} aT。 方程(28)表明我们可以使用上下三角形从 a T − 1 a_{T-1} aT1计算出 a T a_{T} aT 通过 a T − 1 = U T L T L U a T a_{T-1} = U^TL^TLUa_{T} aT1=UTLTLUaT。 由于方程式(27)中的 K = U T L T L U K = U^TL^TLU K=UTLTLU成立,方程式(28)表明我们可以不用 k 的逆矩阵就可以计算出 a T = K − 1 a T − 1 a_{T} = K^{-1}a_{T-1} aT=K1aT1。利用方程式(28) ,我们用幂法计算,当向量 a T a_{T} aT 被更新直到收敛的时候,最底部的特征值 λ N \lambda_N λN 及其特征向量 zN为:
在这里插入图片描述
由于三角网具有类似于核 k 的稀疏结构,可以用方程(28)高效地计算矢量。 我们接下来描述我们的方法来有效地计算其他底部特征值 N-i 和特征向量 zN-i,其中 i 1,2,… ,m. Hotelling 通缩是计算这种特征对称矩阵和特征向量的一种流行方法。 这种方法的基本思想是对矩阵进行修改,使其主特征值变为零,其余特征值不变,矩阵的第二大特征值为修改后矩阵的主特征值。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
上述方程表明,利用方程(31)和(32)中的霍特林通缩矩阵 Hi,可以有效地更新向量 Hi。 利用幂法计算方程(31)和(32)中矩阵的特征值 N-i 及其特征向量 zN-i (1≤ i ≤ m):
在这里插入图片描述
由于可以避免直接计算矩阵 Hi,因此可以有效地计算底部特征值 n-i 和特征向量 zN-i (i 1,2,… ,m)。

4.3.2 LU分解的计算
在这里插入图片描述
我们可以从方程(35)和(36)中计算出矩阵 i-w 在 o (Nn2)时间内的 LU分解。我们可以有效地得到基于 LU 分解的逆幂法所用的矩阵L和 U。

  • 得到权重矩阵后的求低维嵌入步骤
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

性质总结

基于 LU 分解的逆幂方法。 对于算法1,我们有以下性质:

  • 定理1(计算代价)。 设 d 是不同最近邻的个数,c 是计算欧几里得度量的数据点之比,s 是 SVD 的目标秩,t 是求特征向量的迭代次数。 我们的方法需要 o (N (M logs + Ns + cNM + dKM + dK2 + n2 + mnt)时间来执行降维。

  • 定理2(内存开销) . 提出的方法需要 o (N (M + m + n + s + K2))空间来执行 LLE 的降维。

  • 根据降维的结果,我们的方法具有以下性质: 定理3(降维)。 所提出的方法保证了与最初的 LLE 方法相同的降维结果。 定理1,2和3理论上表明,该方法可以达到相同的降维结果,提高效率的计算时间和内存成本。 在下一节中,我们实验表明,该方法比以前的 LLE 实现更有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值