论文导读:使用半定规划的方法进行数据降维--通过最大最小距离[Max-min distance analysis by using sequential SDP relaxation for dimension reduction]
可能是全网第一篇讲解此篇论文的博客
本文旨在记录阅读文献时的想法,并不适合小白,有一定数据降维经验的小伙伴会更快上手。
原文地址:Max-min distance analysis by using sequential SDP relaxation for dimension reduction
本文的目的是实现数据降维,需要首先了解普通的PCA和LDA[Linear discriminate analysis]的算法。
LDA的算法是通过最大化类与类之间的距离和最小化同类之间的方差为目标的算法。目标函数设定为
objective
:
m
i
n
W
T
S
b
W
W
T
S
w
W
\text{objective} : min \frac{W^TS_{b}W}{W^TS_{w}W}
objective:minWTSwWWTSbW
具体的请移步:LDA
1. 系统模型
本文的方法提出一个新的优化目标:最大化类别间的最小距离。根据木桶原理,分类的性能瓶颈肯定受限于最小的距离的两个类别。最小的距离被优化了,那么整体的性能肯定会得到优化。
设定好了目标函数以后我们可以显式的把优化问题表达出来:
考虑一个
C
C
C种类别的分类问题,假设每一个类别之内的数据点的分布都是同样方差(不同也没有关系)的高斯分布。大概如下如图所示:
对于每一个
ω
i
\omega_i
ωi类别都有条件分布
p
(
x
∣
ω
i
)
=
N
(
μ
i
,
Σ
∣
ω
i
)
p(\bold{x}|\omega_i)=\mathcal N(\mathbf{\mu_i,\Sigma|\omega_i})
p(x∣ωi)=N(μi,Σ∣ωi),其中
x
∈
R
m
\bold{x}\in\mathbb{R}^m
x∈Rm,
y
=
W
T
x
∈
R
d
\mathbf{y}=\bold{W}^T\bold{x}\in\mathbb{R}^{{d}}
y=WTx∈Rd,其中
W
∈
R
m
×
d
\bold{W}\in\mathbb{R}^{m\times{d}}
W∈Rm×d,
x
\bold{x}
x是原数据向量,
y
\bold{y}
y是降维后的数据向量,
W
\bold{W}
W是降维矩阵。此处原文章出错
1.1数学表示
每个类别间的数据的方差可以随意假设,文章中假设
Σ
=
I
\bold{\Sigma}=\bold{I}
Σ=I,现在
ω
i
\omega_i
ωi和
ω
j
\omega_j
ωj两个类别的中心距离变成了
Δ
(
ω
i
,
ω
j
∣
W
)
=
t
r
(
W
T
D
i
j
W
)
s
u
b
j
e
c
t
t
o
W
T
W
=
I
d
\begin{aligned} \Delta(\omega_i,\omega_j|\bold{W})&=tr(\bold{W}^T\bold{D}_{ij}\bold{W})\\subject\;{to}\bold{W}^T\bold{W}&=\bold{I}_d \end{aligned}
Δ(ωi,ωj∣W)subjecttoWTW=tr(WTDijW)=Id
W
T
W
=
I
d
\bold{W}^T\bold{W}=\bold{I}_d
WTW=Id是为了让
W
\mathbf{W}
W单位化,其中
D
i
j
\bold{D}_{ij}
Dij是矩阵:
D
i
j
=
(
μ
i
−
μ
j
)
(
μ
i
−
μ
j
)
T
,
\bold{D}_{ij}=(\mu_i-\mu_j)(\mu_i-\mu_j)^T,
Dij=(μi−μj)(μi−μj)T,
这个矩阵被称为类别
ω
i
\omega_i
ωi和
ω
j
\omega_j
ωj的距离矩阵,这个矩阵的迹就是未变换前的两个类别中心的距离了。变换后的迹既是:
t
r
(
W
T
D
i
j
W
)
=
∥
W
T
(
μ
i
−
μ
j
)
∥
2
.
tr(\bold{W}^T\bold{D}_{ij}\bold{W})=\|\bold{W^T(\mu_i-\mu_j)}\|^2.
tr(WTDijW)=∥WT(μi−μj)∥2.
我们的优化目标便是这个了,找到所有类别中心距离最短的距离MMDA(Max-min distance analysis):
max
W
T
W
=
I
d
min
1
≤
i
≤
j
≤
C
Δ
(
ω
i
,
ω
j
∣
W
)
。
\underset{\bold{W}^T\bold{W}=\bold{I}_d}{\text{max}} \quad \underset{1\leq{i}\leq{j}\leq{C}}{\text{min}}\quad\Delta(\omega_i,\omega_j|\bold{W})。
WTW=Idmax1≤i≤j≤CminΔ(ωi,ωj∣W)。
这乍一看,这个优化问题咋做啊,无从下手啊,每次都遍历一边吗,怎么求导啊?别着急,聪明的作者做了一个变形。
1.2优化模型
引入一个辅助变量
t
t
t,令
t
=
min
Δ
1
≤
i
<
j
≤
c
(
ω
i
,
ω
j
∣
W
)
,
t={\text{min}\quad\underset{1 \leq {i} < j \leq {c}}\Delta(\omega_i,\omega_j|\bold{W})},
t=min1≤i<j≤cΔ(ωi,ωj∣W),这样模型就变成了
max
t
s.t.
T
r
(
D
i
j
X
)
≥
t
,
1
≤
i
<
j
≤
C
.
\begin{aligned} \text{max}\quad& t\\ \text{s.t.}\quad&Tr(\bold{D}_{ij}\mathbf{X})\geq{t},1\leq{i}<j\leq{C}. \end{aligned}
maxs.t.tTr(DijX)≥t,1≤i<j≤C.
诶,这样一看是不是问题有点头绪了,学习过凸优化的同学应该能看出来这好像是半定规划的问题。但是半定规划有一个
X
⪰
0
\bold{X}\succeq\mathbf{0}
X⪰0啊。这里需要嘛?而且这里好像对
X
\bold{X}
X的限制没有体现出
W
T
W
=
I
d
\bold{W}^T\bold{W}=\bold{I}_d
WTW=Id。
你想得没错,这里需要插入一条引理
-
如果 Ω 1 是 这 样 的 集 合 : Ω 1 = { X ∣ X = W W T , W T W = I d } , 而 Ω 2 = { X ∣ T r ( X ) = d , 0 ⪯ X ⪯ I } \Omega_1是这样的 集合:\Omega_1=\{\mathbf{X}|\mathbf{X}=\mathbf{W}\mathbf{W^T},\mathbf{W^T}\mathbf{W}=\bold{I}_d\},而\Omega_2=\{\mathbf{X}|Tr(\mathbf{X})=d,\mathbf{0}\preceq\mathbf{X}\preceq{\mathbf{I}}\} Ω1是这样的集合:Ω1={X∣X=WWT,WTW=Id},而Ω2={X∣Tr(X)=d,0⪯X⪯I}。那么 Ω 2 \Omega_2 Ω2是 Ω 1 \Omega_1 Ω1的最小凸包, Ω 1 \Omega_1 Ω1是 Ω 2 \Omega_2 Ω2的极点
什么?你不知道什么是极点,什么是凸包?自己百度去。好吧,集合的极点就是不能集合中其他的点线性表示出来的点,凸包就是包含此集合的最小凸集。所以引理1的证明非常直观,直接用定义即可。
Ω
1
\Omega_1
Ω1和
Ω
2
\Omega_2
Ω2的本质差在哪?
Ω
1
\Omega_1
Ω1规定了
r
a
n
k
(
X
)
=
d
rank(\bold{X})=d
rank(X)=d,而
Ω
2
\Omega_2
Ω2没有做此规定,所以
Ω
2
\Omega_2
Ω2中的
X
X
X的rank可以是
1
≤
r
a
n
k
(
X
)
≤
m
1\leq rank(\bold{X})\leq{m}
1≤rank(X)≤m。
怎么证明引理1呢?我给出一个不严谨的证明
Ω 1 ⊆ Ω 2 \Omega_1\subseteq\Omega_2 Ω1⊆Ω2很明显,并且很明显 r a n k ( X ) ≠ d rank(\bold{X})\not =d rank(X)=d的 X 1 X_1 X1, X 2 ∈ Ω 2 X_2\in\Omega_2 X2∈Ω2的线性组合不可能表示成 r a n k ( X ) = d rank(\bold{X}) =d rank(X)=d且 T r ( X ) = d Tr(\bold{X})=d Tr(X)=d
还是给出一个证明吧,写这玩意太费时了
好了,此时的可行域变大了,可行域从极点变成了凸包,这就是我们文章中松弛所在的地方。这时松弛的优化问题变成了
min
−
t
s
.
t
t
r
(
A
i
j
X
)
≥
t
1
≤
i
<
j
≤
C
t
r
(
X
)
=
d
0
⪯
X
⪯
I
\begin{aligned} \text{min}\quad&-t\\ s.t\quad&tr(\bold{A}_{ij}\bold{X})\geq t\quad1\leq{i}<j\leq{C}\\ &tr{(\bold{X})}=d\\ &0\preceq\bold{X}\preceq\bold{I} \end{aligned}
mins.t−ttr(AijX)≥t1≤i<j≤Ctr(X)=d0⪯X⪯I
这是不是一个标准的SDP(semidefinte programming)问题?
啥?你不知道啥是SDP?这里简单的说一下SDP的标准形式吧
m i n i m i z e t r ( C X ) s u b j e c t t o t r ( A i X ) = b i , i = 1 , … , p X ⪰ 0 , \begin{aligned} {minimize} \quad& \mathbf {tr}(CX) \\ {subject\quad to}\quad& \mathbf{tr}(A_iX) = b_i, \quad i=1,\ldots,p \\ & X \succeq 0, \end{aligned} minimizesubjecttotr(CX)tr(AiX)=bi,i=1,…,pX⪰0,
不会吧不会吧,不会到了这一步还有人不知道怎么把问题变成标准的SDP形式吧。没办法了,我只好写得详细一些
111
\begin{aligned} 111 \end{aligned}
111