MVU
MVU算法核心思想
在局部等距约束条件下通过最大化非近邻点间的距离,在低维空间中展开高维数据。
数据集的局部等距要求每个数据点和它的近邻点在平移、旋转等作用下它们之间的角度和距离保持不变。
设原样本X=[x1,x2,⋯,xn]∈RD×n,样本在低维空间的表示为Y=[y1,y2,⋯,yn]∈Rd×n,
设xj与xk是xi的两个近邻点,局部等距要求满足(yi−yk)(yi−yj)=(xi−xk)(xi−xj)。
因为在三角形中当确定了三角形的两边及两边所夹的角,三角形就可保持不变。同时当确定三角形三边时三角形也保持不变。
所以上述约束等价于||yi−yj||2=||xi−xj||2
因此问题转化为:
这是一个在二次等式约束条件下最大化平方函数的非凸优化问题,为了获得最优解,需要定义内积矩阵Kij=yi⋅yj,该矩阵满足对称半正定约束K≥0
同时0=∑ni=1yi=||∑ni=1yi||2=∑ni=1∑nj=1yi⋅yj=∑ni=1∑nj=1Kij
||yi−yj||2=Kii−2Kij+Kjj=||xi−xj||2
因此,MVU的优化问题转化为一个半定规划(SDP)问题
求解该SDP问题可得到半正定矩阵K。对
这里说一下SDP的标准形式:
C,X为n×n对称矩阵,定义它们的内积C⋅X=∑ni=1∑nj=1CijXij=tr(CTX)
Ai为n×n对称矩阵,bi为一个实数,i=1,2,...,m
下面的最优化问题即为SDP问题
在上述MVU问题中,令C=−I,X=K,m为近邻点对数,设
MVU算法步骤
1.计算原样本空间中每个点到其它点的距离构造距离矩阵,根据k近邻法或
2.构造约束矩阵Ai,根据距离矩阵设定bi
3.用SDPA或CSDP或SDPT3或SeDuMi或DSDP或SDPLR解决算法中的SDP问题,求出K
4.对
有区别方差嵌入DVE
DVE算法首先构造数据集的近邻图和非近邻图以表征它的局部和全局结构信息,利用近邻点间的距离和保持不变的约束以保证数据集的局部结构不变,通过最大化非近邻点在低维空间中的距离从而在全局上展开嵌入流形。
对于给定的原样本空间X=[x1,x2,⋯,xn]∈RD×n,首先构造它的近邻图G和非近邻图
对于近邻图G,当
Wij={1,0,if xi与xj是近邻otherwise
对于非近邻图G′,当xi与xj不是近邻时,xi与xj之间建立一条边,并赋予权重W′ij.
W′ij={1,0,if xi与xj不是近邻otherwise
重写MVU的目标函数max∑ni=1∑nj=1||yi−yj||2=∑ni=1∑nj=1||yi−yj||2Wij+∑ni=1∑nj=1||yi−yj||2W′ij
将原来的每对近邻点间的距离相等约束松弛为距离和相等约束,即∑ni=1∑nj=1||yi−yj||2Wij=∑ni=1∑nj=1||xi−xj||2Wij
这里由于对近邻点间距离和相等的约束实际是保持流形的局部结构。Wij反映的是近邻点间的相似度,这里Wij常用热核函数计算,Wij={exp(−||xi−xj||2σ2),0,if xi与xj是近邻otherwise.
由于距离和∑ni=1∑nj=1||xi−xj||2Wij是一定的,设为c,则
原问题转化为
利用拉格朗日乘数法解决上述问题:
L(Y,λ)=tr(YL′YT)−λ((tr(YLYT)−c)
∂L∂Y=YL′T+YL′−λ(YLT+YL)=0即YL′=λYL两边取转置得L′YT=λLYT.(注意到L与
DVE的优化问题可转化为广义特征值分解问题L′YT=λLYT
选取其前d个最大特征值对应的特征向量
LDVE
DVE相比于MVU减小了计算量但非邻域图G′的拉普拉斯矩阵L′是稠密矩阵,对齐进行特征值分解,所需的计算量和存储空间都比较大,只能处理小样本,对于海量数据无能为力。基于基准点的有区别方差嵌入(LDVE)致力于提高对海量高维数据的处理能力。
对于给定的原样本空间X=[x1,x2,⋯,xn]∈RD×n,随机选取p个基准点,设这
构造邻域图G,当xi与xj是近邻时,xi与xj之间建立一条边,并赋予权重Wij.Wij={exp(−||xi−xj||2σ2),0,if xi与xj是近邻otherwise.
构造非邻域图G′,当xi与xj不是近邻且xi与xj在所选的基准点点集中时,xi与xj之间建立一条边,并赋予权重W′ij.W′ij=1
优化问题可转化为广义特征值分解问题L′YT=λLYT
其中L′相对之前的L′,有较少的非0元。
选取其前d个最大特征值对应的特征向量
LMVU
在给定的样本空间X=[x1,x2,⋯,xn]∈RD×n中随机选取p个基准点,
线性变换矩阵Q的计算
令
对任意xi∈X2,设xi的近邻点组成的集合为N(xi),则xi可用其近邻点近似表示为xi=∑xj∈N(xi)xjwij=∑nj=1xjwij,其中当xj∉N(xi)时wij=0.
则近邻点间的权值矩阵W=(wij)(n−p)×n可通过类似于LLE的方式获得
由于xi=∑nj=1xjwij=∑pj=1xjwij+∑nj=p+1xjwij
令W=[W(n−p)×P,W(n−p)×(n−p)]=[W1,W2]
即X2=X1WT1+X2WT2
∴Y2=Y1WT1+Y2WT2
∴Y2(E−WT2)=Y1WT1,其中E是
∴Y2=Y1WT1(E−WT2)−1
注意到Y2=Y1Q2
∴Q2=WT1(E−WT2)−1
其中(E−WT2)−1可通过(E−WT2)−1=(E−WT2)T((E−WT2)(E−WT2)T)−1计算
计算Y1
在基准点集上借助SDP求解Y1
K=YTY=QYT1Y1QT=QLQT,其中L=YT1Y1
对L进行特征值分解,选取前
Y=Y1QT