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