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
因此问题转化为:
maxs.t.∑i=1n∑j=1n||yi−yj||2∑i=1nyi=0,中心化约束,以消除数据集低维表示的平移自由度||yi−yj||2=||xi−xj||2,等距约束,当xj与xi是近邻点时要求满足此约束
这是一个在二次等式约束条件下最大化平方函数的非凸优化问题,为了获得最优解,需要定义内积矩阵
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)问题
maxs.t.trace(K)K≥0∑i=1n∑j=1nKij=0Kii−2Kij+Kjj=||xi−xj||2,当xj与xi是近邻点时
求解该SDP问题可得到半正定矩阵
K。对
K进行特征值分解,得到
K的最大的
d个特征值对应的特征向量
v1,v2,⋯,vd,则
[y1,y2,⋯,yn]=[v1,v2,⋯,vd]T 这里说一下SDP的标准形式:
C,X为
n×n对称矩阵,定义它们的内积
C⋅X=∑ni=1∑nj=1CijXij=tr(CTX) Ai为
n×n对称矩阵,
bi为一个实数,
i=1,2,...,m 下面的最优化问题即为SDP问题
minimizes.t.C⋅XAi⋅X=bi,i=1,2,...,mX≥0
在上述MVU问题中,令
C=−I,
X=K,
m为近邻点对数,设
i为第
i对对应点,表示对应点对
xj↔xk,
Ai为0,1矩阵,只有
Ajji=1,Akki=1,Ajki=1,Akji=1其它元素都为0,
bi表示第
i对对应点在原空间的距离,即
bi=||xj−xk||2.则MVU问题可用解决SDP问题的方法得到最优解
K.
MVU算法步骤
1.计算原样本空间中每个点到其它点的距离构造距离矩阵,根据k近邻法或ϵ邻域法选出每个点的近邻。
2.构造约束矩阵Ai,根据距离矩阵设定bi
3.用SDPA或CSDP或SDPT3或SeDuMi或DSDP或SDPLR解决算法中的SDP问题,求出K
4.对K进行特征值分解
有区别方差嵌入DVE
DVE算法首先构造数据集的近邻图和非近邻图以表征它的局部和全局结构信息,利用近邻点间的距离和保持不变的约束以保证数据集的局部结构不变,通过最大化非近邻点在低维空间中的距离从而在全局上展开嵌入流形。
对于给定的原样本空间X=[x1,x2,⋯,xn]∈RD×n,首先构造它的近邻图G和非近邻图G′.
对于近邻图G,当xi与xj是近邻时,xi与xj之间建立一条边,并赋予权重Wij.
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,则∑ni=1∑nj=1||yi−yj||2Wij=c,故目标函数即为max∑ni=1∑nj=1||yi−yj||2W′ij
原问题转化为
maxs.t.∑i=1n∑j=1n||yi−yj||2W′ij=2tr(YL′YT)∑i=1n∑j=1n||yi−yj||2Wij=c即2tr(YLYT)=c
利用拉格朗日乘数法解决上述问题:
L(Y,λ)=tr(YL′YT)−λ((tr(YLYT)−c) ∂L∂Y=YL′T+YL′−λ(YLT+YL)=0即
YL′=λYL两边取转置得
L′YT=λLYT.(注意到
L与
L′都是对称阵)
DVE的优化问题可转化为广义特征值分解问题
L′YT=λLYT 选取其前
d个最大特征值对应的特征向量
v1,v2,...,vd,则
YT=[v1,v2,...,vd]LDVE
DVE相比于MVU减小了计算量但非邻域图G′的拉普拉斯矩阵L′是稠密矩阵,对齐进行特征值分解,所需的计算量和存储空间都比较大,只能处理小样本,对于海量数据无能为力。基于基准点的有区别方差嵌入(LDVE)致力于提高对海量高维数据的处理能力。
对于给定的原样本空间X=[x1,x2,⋯,xn]∈RD×n,随机选取p个基准点,设这p个基准点组成的集合为X1,剩下的样本点组成的集合为X2.将随机选取的p个基准点排在数据集X的前面,剩下的排在后面,记X=[X1,X2].
构造邻域图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个最大特征值对应的特征向量v1,v2,...,vd,则YT=[v1,v2,...,vd]
LMVU
在给定的样本空间X=[x1,x2,⋯,xn]∈RD×n中随机选取p个基准点,d<p<D,设这p个基准点组成的集合为X1,剩下的样本点组成的集合为X2.将随机选取的p个基准点排在数据集X的前面,剩下的排在后面,记X=[X1,X2].X1的低维表示为Y1,X2的低维表示为Y2,设数据集X1到数据集X的投影矩阵为Q,Q为n×p矩阵,则可通过Y=Y1QT计算Y.则核矩阵K=YTY=QYT1Y1QT.
线性变换矩阵Q的计算
令QT=[Q1,Q2],则Y=[Y1,Y2]=Y1QT=Y1[Q1,Q2]=[Y1Q1,Y1Q2],所以Q1=E,其中E为p×p的单位矩阵,下面主要计算Q2,Q2需要借助X2计算。
对任意xi∈X2,设xi的近邻点组成的集合为N(xi),则xi可用其近邻点近似表示为xi=∑xj∈N(xi)xjwij=∑nj=1xjwij,其中当xj∉N(xi)时wij=0.
则近邻点间的权值矩阵W=(wij)(n−p)×n可通过类似于LLE的方式获得
W=argmin∑i=p+1n||xi−∑j=1nxjwij||2s.t.∑j=1nwij=1
由于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是(n−p)×(n−p)矩阵
∴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
maxs.t.trace(K)L≥0∑i=1n∑j=1nKij=0Kkk−2Kkj+Kjj=||xk−xj||2,xi,xj∈N(xi),1≤i≤p
对L进行特征值分解,选取前d个最大特征值对应的特征向量即可得Y1,
Y=Y1QT