MVU

来源:互联网 发布:软件搜索神器 编辑:程序博客网 时间:2024/06/11 18:13

MVU

MVU算法核心思想

在局部等距约束条件下通过最大化非近邻点间的距离,在低维空间中展开高维数据。
数据集的局部等距要求每个数据点和它的近邻点在平移、旋转等作用下它们之间的角度和距离保持不变。
设原样本X=[x1,x2,,xn]RD×n,样本在低维空间的表示为Y=[y1,y2,,yn]Rd×n
xjxkxi的两个近邻点,局部等距要求满足(yiyk)(yiyj)=(xixk)(xixj)
因为在三角形中当确定了三角形的两边及两边所夹的角,三角形就可保持不变。同时当确定三角形三边时三角形也保持不变。
所以上述约束等价于||yiyj||2=||xixj||2
因此问题转化为:

maxs.t.i=1nj=1n||yiyj||2i=1nyi=0||yiyj||2=||xixj||2xjxi

这是一个在二次等式约束条件下最大化平方函数的非凸优化问题,为了获得最优解,需要定义内积矩阵Kij=yiyj,该矩阵满足对称半正定约束K0
同时0=ni=1yi=||ni=1yi||2=ni=1nj=1yiyj=ni=1nj=1Kij
||yiyj||2=Kii2Kij+Kjj=||xixj||2
因此,MVU的优化问题转化为一个半定规划(SDP)问题
maxs.t.trace(K)K0i=1nj=1nKij=0Kii2Kij+Kjj=||xixj||2xjxi

求解该SDP问题可得到半正定矩阵K。对K进行特征值分解,得到K的最大的d个特征值对应的特征向量v1,v2,,vd,则[y1,y2,,yn]=[v1,v2,,vd]T
这里说一下SDP的标准形式:
C,Xn×n对称矩阵,定义它们的内积CX=ni=1nj=1CijXij=tr(CTX)
Ain×n对称矩阵,bi为一个实数,i=1,2,...,m
下面的最优化问题即为SDP问题

minimizes.t.CXAiX=bii=1,2,...,mX0

在上述MVU问题中,令C=IX=Km为近邻点对数,设i为第i对对应点,表示对应点对xjxkAi为0,1矩阵,只有Ajji=1,Akki=1,Ajki=1,Akji=1其它元素都为0,bi表示第i对对应点在原空间的距离,即bi=||xjxk||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,当xixj是近邻时,xixj之间建立一条边,并赋予权重Wij.
Wij={1,0,if xixjotherwise
对于非近邻图G,当xixj不是近邻时,xixj之间建立一条边,并赋予权重Wij.
Wij={1,0,if xixjotherwise
重写MVU的目标函数maxni=1nj=1||yiyj||2=ni=1nj=1||yiyj||2Wij+ni=1nj=1||yiyj||2Wij
将原来的每对近邻点间的距离相等约束松弛为距离和相等约束,即ni=1nj=1||yiyj||2Wij=ni=1nj=1||xixj||2Wij
这里由于对近邻点间距离和相等的约束实际是保持流形的局部结构。Wij反映的是近邻点间的相似度,这里Wij常用热核函数计算,Wij={exp(||xixj||2σ2),0,if xixjotherwise.
由于距离和ni=1nj=1||xixj||2Wij是一定的,设为c,则ni=1nj=1||yiyj||2Wij=c,故目标函数即为maxni=1nj=1||yiyj||2Wij
原问题转化为

maxs.t.i=1nj=1n||yiyj||2Wij=2tr(YLYT)i=1nj=1n||yiyj||2Wij=c2tr(YLYT)=c

利用拉格朗日乘数法解决上述问题:
L(Y,λ)=tr(YLYT)λ((tr(YLYT)c)
LY=YLT+YLλ(YLT+YL)=0即YL=λYL两边取转置得LYT=λLYT.(注意到LL都是对称阵)
DVE的优化问题可转化为广义特征值分解问题LYT=λ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,当xixj是近邻时,xixj之间建立一条边,并赋予权重Wij.Wij={exp(||xixj||2σ2),0,if xixjotherwise.
构造非邻域图G,当xixj不是近邻且xixj在所选的基准点点集中时,xixj之间建立一条边,并赋予权重Wij.Wij=1
优化问题可转化为广义特征值分解问题LYT=λ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的低维表示为Y1X2的低维表示为Y2,设数据集X1到数据集X的投影矩阵为QQn×p矩阵,则可通过Y=Y1QT计算Y.则核矩阵K=YTY=QYT1Y1QT.

线性变换矩阵Q的计算

QT=[Q1,Q2],则Y=[Y1,Y2]=Y1QT=Y1[Q1,Q2]=[Y1Q1,Y1Q2],所以Q1=E,其中Ep×p的单位矩阵,下面主要计算Q2Q2需要借助X2计算。
对任意xiX2,设xi的近邻点组成的集合为N(xi),则xi可用其近邻点近似表示为xi=xjN(xi)xjwij=nj=1xjwij,其中当xjN(xi)wij=0.
则近邻点间的权值矩阵W=(wij)(np)×n可通过类似于LLE的方式获得

W=argmini=p+1n||xij=1nxjwij||2s.t.j=1nwij=1

由于xi=nj=1xjwij=pj=1xjwij+nj=p+1xjwij

W=[W(np)×P,W(np)×(np)]=[W1,W2]

X2=X1WT1+X2WT2

Y2=Y1WT1+Y2WT2

Y2(EWT2)=Y1WT1,其中E(np)×(np)矩阵

Y2=Y1WT1(EWT2)1

注意到Y2=Y1Q2

Q2=WT1(EWT2)1

其中(EWT2)1可通过(EWT2)1=(EWT2)T((EWT2)(EWT2)T)1计算

计算Y1

在基准点集上借助SDP求解Y1

K=YTY=QYT1Y1QT=QLQT,其中L=YT1Y1

maxs.t.trace(K)L0i=1nj=1nKij=0Kkk2Kkj+Kjj=||xkxj||2xi,xjN(xi),1ip

L进行特征值分解,选取前d个最大特征值对应的特征向量即可得Y1,
Y=Y1QT

1 0
原创粉丝点击