论文导读:使用松弛半定规划的方法进行数据降维--通过最大最小距离

论文导读:使用半定规划的方法进行数据降维--通过最大最小距离[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种类别的分类问题,假设每一个类别之内的数据点的分布都是同样方差(不同也没有关系)的高斯分布。大概如下如图所示:
同方差的3类分布
对于每一个 ω 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 xRm, y = W T x ∈ R d \mathbf{y}=\bold{W}^T\bold{x}\in\mathbb{R}^{{d}} y=WTxRd,其中 W ∈ R m × d \bold{W}\in\mathbb{R}^{m\times{d}} WRm×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,ωjW)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=Idmax1ijCminΔ(ωi,ωjW)
这乍一看,这个优化问题咋做啊,无从下手啊,每次都遍历一边吗,怎么求导啊?别着急,聪明的作者做了一个变形。


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=min1i<jcΔ(ωi,ωjW)这样模型就变成了
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,1i<jC.
诶,这样一看是不是问题有点头绪了,学习过凸优化的同学应该能看出来这好像是半定规划的问题。但是半定规划有一个 X ⪰ 0 \bold{X}\succeq\mathbf{0} X0啊。这里需要嘛?而且这里好像对 X \bold{X} X的限制没有体现出 W T W = I d \bold{W}^T\bold{W}=\bold{I}_d WTW=Id
 你想得没错,这里需要插入一条引理

  1. 如果 Ω 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={XX=WWT,WTW=Id}Ω2={XTr(X)=d,0XI}。那么 Ω 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} 1rank(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.tttr(AijX)t1i<jCtr(X)=d0XI
这是不是一个标准的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,,pX0,

不会吧不会吧,不会到了这一步还有人不知道怎么把问题变成标准的SDP形式吧。没办法了,我只好写得详细一些
111 \begin{aligned} 111 \end{aligned} 111

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值