Elhamifar, E., Sapiro, G., & Sastry, S. S. (2016). Dissimilarity-based sparse subset selection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 38(11), 2182-2197.
本文是这篇 PAMI 期刊论文的笔记,主要是对文中的理论方法进行展开详解。本人学术水平有限,文中如有错误之处,敬请指正。
摘要: 从一个大型的数据集或模板中找出有信息量的子集是一个重要的问题,对于许多的计算机视觉、推荐系统、生物/健康信息、和图像和自然语言处理的问题中。给予一对原集和目标集的元素之间的不相似度,考虑一个问题:从原集中找到一个子集,称为表示(representatives)或样例(exemplars),使得其可以有效地描述目标集。此文构建这个问题为一个行稀疏约束的迹最小化问题。由于该问题是一般的 NP-hard,需要考虑一个凸松弛代替。最优解找到一个表示,以及目标集中的每一个元素对原集中每一个的元素的赋值(权重)。也就是获得一个聚类。并分析了优化问题的解作为约束参数的解。此文并说明了当两个数据集被一起划分为多个组之后,此文的算法找到来自所有组的表示,并对数据集进行了聚类。另外,此文的算法可以有效地处理异常点。此文的算法可以处理任意的不相似度,可以是非对称的或违背了三角不等式。为了有效地实现该算法, 此文考虑了 Alternating Direction Method of Multipliers (ADMM) 交替乘子法,使得问题为平方级的复杂度。并且 ADMM 使得问题可以被并行化,更减少了计算的时间。最终,通过真实的数据集,此文的算法提升了最好的结果在两个问题中:场景分类(用图像表示)和时间序列建模和分割(用模型表示)。
1 简介
略
2 Dissimilarity-Based Sparse Subset Selection (DS3)
2.1 问题陈述
假设有一个原集
X={x1,⋯,xM}
和一个目标集
Y={y1,⋯,yN}
,分别包含
M
和
其中 di∈RN 表示 D 的第 i 行。给定一个矩阵
对比一些当前的最先进的算法 1 2 3,此文不限制 X 和 Y 有同类的元素或相等。比如, X 可以为一个模型集合, Y 可以为数据集合,在这样的情况下,此文选择一系列模板,使得很好地表示数据集,如图 3 所示。
这里的不相似度,可以表示为用模板表示数据的编码误差。另一方面, X,Y 可以包含同类的元素或相等。比如, X,Y 对应模板的集合,于是此文的目标是选择有表达能力的模板。不相似度的例子是动态系统之间的距离,和概率分布之间的 KL 散度。而且,当 X,Y 表示数据点,此文的目标是选择有表达性的数据点,如图 4 所示。比如数据点之间的汉明 (Hamming) 距离,欧几里得 (Euclidean) 距离,和测地距离。
2.2 不相似度
注意的是此文可以关注于相似度 {sij} 和不相似度 {dij} ,仅通过设置 dij=−sij 。比如 当 X=Y ,可以设置 dij=−Kij ,其中 K 表示一个数据集的核矩阵。当矩阵 X,Y 的元素的合适的向量空间的表示给定之后,可以使用预定义的函数计算不相似度,比如编码误差 dij=||xi−Ayj|| 对于一个适合的矩阵 A ,欧几里得距离 dij=||xi−yj||2 ,或截断二次距离 dij=min{β,||xi−yj||22} ,其中 β 是一个常数。然而,这里可以计算(不)相似度而不通过数据的向量空间表示,比如社交网络图中的一些边,图像之间的按成对元素的主观比较,或句子之间的通过字符串核的比较。最终,可以得到(不)相似度,比如使用度量学习方法 4 5 。
2.3 DS3 算法
给定
D
,目标是选择一个子集
X
,称为表示(representatives)或样例(exemplars),使得其可以有效地表示
Y
。因此,考虑一个优化问题于未知的变量
zij
关联着不相似度
dij
,其所有的变量的矩阵定义如下
其中 zi∈RN 是 Z 的第 i 行。这里将
2.3.1 Simultaneous Sparse Recovery-Based Optimization
为了选择一部分的
X
的元素,根据不相似度,能很好地编码
Y
,此文提出了基于
Z
的行稀疏约束的迹最小化问题(row-sparsity regularized trace minimization),实现两个目标。首先,
Y
能够被很好地编码。如果
xi
被用于表示
yj
,其表示的代价为
dijzij∈{0,dij}
。于是,使用
X
表示
yj
的代价是
∑Mi=1dijzij
,并且,用
X
编码整个矩阵
Y
的代价为
∑Nj=1∑Mi=1dijzij
。第二,希望能使用尽可能少的数据来表示。注意当
xi
是
Y
的某一些元素的表示时,有
zi≠0
,也就是
Z
的第
i
行是非零的。于是,有较少的表示对应着有较少的非零行在
其中 ||⋅||p 表示 ℓp 范数, I(⋅) 表示一个指示函数,如果其参数为 0 ,值也为零;否则,值为
其中直接使用 ℓp 范数的和代替计算非零行的个数。另外,使用了松弛 zij∈[0,1] ,所以 zij 可以理解为 xi 表示 yj 的概率。注意当 p≥1 时,该优化问题是凸的。此文选择 p∈{2,∞} ,尤其当 p=2 时,获得一个软赋值表示 {zij} 是在 [0,1] 之间的;当 p=∞ 时,获得一个硬赋值表示 {zij}∈{0,1} 。将以上的目标函数重写为矩阵的形式
其中 ||Z||1,p≜∑Mi=1||zi||p , 1 表示一个值全为 1 的向量,有着合适的维度。另外,
2.3.2 约束参数的作用
当改变约束参数 λ 的大小时,找到的表达的数量就会改变。对于小的 λ 值,优化时更关注 X 能更好地编码 Y ,能获得更多的表示的数量。在极限情况 λ→0 , Y 中的每一个元素都由其对应 X 中的最近的元素表示,即 zi∗jj=1 ,其中 i∗j≜argminidij 。另一方面,如果 λ 的值过大,优化时更关注于 Z 的行稀疏性,选择数量较少的表示。对于一个充分大的 λ ,只从 X 中选择一个表达。
图 3 中一个近似非线性的流形,使用表达仿射模型(从带噪声的数据中获得) p=∞ 。随着减少 λ 的值,会选择越来越多的仿射模型,使其更好地近似该流形。图 4 展示了表达(第一行)和系数 Z (第二行),对于 p=∞ 和几个不同的 λ 值,应用于 3 个高斯分布混合的数据模型中,不相似度定义为两点之间的欧几里得距离。
2.4 处理异常点
此文的算法可以有效地处理异常值,于原集和目标集中。一个原集的异常值对应着一个元素不能很好地去表示目标集的元素。由于此文的框架是选择一些表示, X 中这样的异常值不会被选择,如图 5a 所示。其实,这是选择表示的优点之一,除了减少大的集合的数量,还能拒绝一些 X 中的异常点。
另一方面,目标集 Y 中,可能包含一些异常的元素,其不能被 X 中的任何元素有效地编码。比如, X 和 Y 对应模板和数据点,其中一些数据点不能有效地被任何的模板解释,也就是,有很大的表示误差。因为之前的优化问题要求 Y 中的每一个元素被编码,如果强迫使异常点被 X 编码,通常会导致选择一些不理想的表示。这样的情况,需允许优化问题不编码这些异常点。
为了实现这个目标,此文介绍了一个新的优化变量
ej∈[0,1]
关于每一个
yj
,其数值表示
yj
是一个异常点的概率。据此,提出以下的优化目标
上述的约束表明,每一个 yj ,有概率是一个正常点,会被 X 编码,加上其是一个异常点的概率,和必须为 1 。当
将上述的目标优化重写为矩阵形式:
其中 e=[e1,⋯,eN]T∈RN 是异常点的指示向量, w=[w1,⋯,wN]T∈RN 是对应的权重向量。
一个可能的解是所有的权值都相等
wj=w
,会使得优化中又多出一个约束参数。另一个选择是权值设置如下
其中参数 β>0, τ>0 。换句话说,如果原集中存在一个元素可以很好地表示 yj ,那么 yj 成为一个异常点的可能性就应该减小,也就是 wj 应该增加,反之亦然。图 5b 阐述了处理异常点的优化的效果。
2.5 聚类
最优解
Z∗
不仅表示
X
中的元素被选择用作表示,也包含了
Y
中的元素的表示成员信息。具体来说,
[z∗1j,⋯,z∗Mj]T
对应着概率向量
yj
被
X
中的每一个元素表示。因此,赋予了
yj
软约束
z∗ij∈[0,1]
。也可以得到一个硬赋值,也就是用优化的最终解得到
Y
的聚类。具体来说,如果
{xℓ1,⋯,xℓK}
表示一个表示的集合,可以赋予
yj
来给
xδj
表示,根据公式
因此,可以将 Y 分开至 K 个组,对应着
2.6 Alternative Formulation
上述的优化问题并不直接要求具体的表示数量,而是旨在,通过
λ
,来平衡编码代价和表示数量的关系。一种交替凸优化的方式 (对于
p≥1
),通过 Lagrange 乘子
其中 τ>0 是一个约束参数。其实,该优化问题,在给定的表示‘负担’ τ 下,最小化编码误差。对于 p=∞ ,明显会得到结果 {0,1} ,并且 τ 对应着理想的表达数量。
3 DS3 实现
此文考虑 Alternating Direction Method of Multipliers (ADMM) 6 7 交替乘子法来实现 DS3 算法。这个实现的计算复杂度为 O(MN) ,其中 M,N 分别是不相似矩阵的行数和列数。另外,该提出的算法可以是并行化的,可以有效地减少计算的时间。
考虑用 ADMM 方法实现优化问题,首先介绍一个辅助的变量
C∈RM×N
,并给出如下的优化问题
其中 μ>0 是一个惩罚参数。此优化问题于原形式等价,都会找到相同的最优解 Z∗ 。将最后一个等式约束加入到目标函数中,结合 Lagrange 乘子 Λ∈RM×N ,可以得到无约束的 Lagrangian 函数如下
其中 Ai∗ 表示矩阵 A 的第 i 行,
其中 A∗i 表示矩阵 A 的第 i 列,
Algorithm 1: DS3 using ADMM
Initialize:
μ=10−1, ε=10−7, maxIter=105, k=0, Z(0)=C(0)=I, Λ(0)=0, error1=error2=2ε
.
1: While
(error1>ε
or
error2>ε)
and
(k<maxIter)
do
2: 更新
Z,C
3: 更新 Lagrange 乘子矩阵
4: 更新误差
5: 更新 k←k+1
6: End while
Output: 最优解 Z∗=Z(k) 。
该实现方法使得内存和计算时间复杂度为 D 的元素个数的倍数。另外,它可以被并行化,以减少计算的时间:
最小化 Lagrangian 函数关于 Z ,其计算时间复杂度为 O(MN) 。这里可以获得最优解在 p=2 时,通过 shrinkage 操作;或是 p=∞ 时,通过投影到 ℓ1 球中 8 9 。注意到优化问题可以被分为 M 个独立的子优化问题,根据
Z 的 M 行。所以,如果有了P 个并行处理资源,可以减少计算时间到 O([M/P]N) 。最小化 Lagrangian 函数关于 C 服从单纯性的约束 {1TC=1T, C≥0} ,可以使用 一种算法 10 计算时间复杂度为 O(Mlog(M)N) 。注意到可以优化 N 个独立的子优化问题,根据
C 的 N 行。如果有了P 个并行处理资源,可以减少计算时间到 O(Mlog(M)[N/P]) 。- 更新参数
Λ
有着
O(MN)
计算时间,也可以由
M
行或
N 列独立更新,于是计算时间复杂度变为 O([M/P]N) 或 O(M[N/P]) ,如果使用 P 个并行处理资源。
最终,此文提出的 ADMM 实现的算法,以
表1 平均计算时间: CVX 和此文的算法 (μ=0.1), λ=0.01λmax,p ,运行 100 次,基于随机生成的数据集大小 N×N
N | 30 | 50 | 100 | 200 | 500 | 1000 | 2000 |
---|---|---|---|---|---|---|---|
p=2 | |||||||
CVX | 1.2×100 | 2.6×100 | 3.1×101 | 2.0×102 | 5.4×103 | − | |
ADMM | 8.3×10−3 | 7.5×10−2 | 1.8×10−1 | 2.5×100 | 3.6×100 | 2.4×101 | 8.3×101 |
p=∞ | |||||||
CVX | 4.3×100 | 1.5×101 | 2.5×102 | 9.1×103 | − | − | |
ADMM | 4.5×100 | 7.6×100 | 2.4×101 | 7.8×101 | 1.8×102 | 6.8×102 |
表 1 列出了 CVX 和此文提出的算法的平均计算时间,基于 100 次随机生成的数据集。实验平台为 X86-64 服务器, 1.2 GHz 处理器和 132 GB 内存。在 p=2 和 p=∞ 情况下,此文的算法都明显快于 CVX 。
4 理论分析
4.1 约束参数的作用
优化目标的约束参数对两个相对的项进行权衡:表示的数量,和表示产生的编码误差。换句话说,如果选择了较多的表示数量,就可以获得较小的编码误差。反之亦然。当增加 λ 的值时,则更重视惩罚表示的数量(相比于编码误差),所以此时更期望获得较少的表示数量。事实上,当 λ 超过一定的阈值之后,就会只得到一个表示。具体地,可以证明如下的结果:
Theorem 1 考虑之前的优化问题,令
ℓ∗≜argmini1Tdi
,并且
对于 p∈{2,∞} ,如果 λ≥λmax,p ,优化问题的最优解为 Z∗=eℓ∗1T ,其中 eℓ∗ 表示一个第 ℓ∗ 个元素为 1 而其他都为
注意到阈值 λmax,p 一般来说对于 p=2 和 p=∞ 两种情况是不同的。但是,却可以从中获得相同的表示 xℓ∗ ,也就是 X 的元素有着与 Y 相比、最小的不相似度的和。比如,当 X=Y 时,数据点和不相似度是通过欧几里得距离计算的,单个表示对应着那些最接近的几何中位数 12 的数据点,如图 4 右边所示。
将
λ
的值不断减小,更强调最小化
Y
的编码误差,相对于表示的数量。在极端情况下,当
λ
接近一个任意小的非负的值时,可以获得一个最小的编码误差,其中对于每一个 \mathbf{y}_j
yj
,可以得到
换句话说, Y 中的而每一个元素选择其最近的 X 中的元素作为表示。
4.2 聚类证明
当 X 和 Y 都被分为多个组时,获得最优解之后, Y 的每一个分区选择它们的表示,从对应的 X 的分区中。这表明 X 中的每一个组都会被采样。为了更好地介绍这样的分区 X 和 Y ,考虑如下的例子
例 1 令
X={x1,⋯,xM}
作为一系列模板,
Y={y1,⋯,yM}
作为一个数据点集合。假设
Gx1
表示前
q
个模板的索引,可以用于有效地表示前
其中 Z∗1∈Rq×q′ 和 Z∗2∈RM−q×N−q′ 有较少的非零行。这样的情况下, X 和 Y 都被划分为两个组, (Gx1,Gy1) 和 (Gx2,Gy2) ,其中 Y 的元素由 Gyk ,记为 Y(Gyk) ; X 的元素由 Gxk 索引,记为 X(Gxk) ,对于 k=1,2 。
规范划分数据
X
和
Y
为
L
个组
定义 1 令
Gxk⊆{1,⋯,M}
和
Gyk⊆{1,⋯,N}
。定义关于
(Gxk,Gyk)
的不相似度半径为
定义 ck 为 Gxk 的 medoid,根据其中的每一个元素,可以得出不相似度半径为
换句话说, ck 对应着 X(Gxk) 中的元素与 Y(Gyk) 中的元素的最大不相似度最小的元素。同样, rk 对应着 ck 到 Y(Gyk) 的最大不相似度。接着定义联合划分集合 X 和 Y 。
定义 2 给定成对的
X
和
Y
之间的不相似度
{dij}
,则
X,Y
被联合划分为
L
个组
接着,此文说明如果 X 和 Y 联合被划分为 L 个组,而且约束参数都选择合适的范围之后,
定理 2 给定成对的不相似度
{dij}
,假设
X,Y
被联合划分为
L
个组
对任意的 λ<λg , Y(Gyk) 从 X(Gxk) 选择表示,对所有的 k=1,⋯,L 。
4.3 相同的原集和目标集
如果原集和目标集是一样的,就是一种特殊的情况,当前也有一些算法研究这个问题 13 14 15 。在给定数据集中数据点成对的不相似度后,可以找到其表示。
假设 1 当
X=Y
时,假设
djj<dij
对任意的
j
和
例 2 考虑如图 7 所示的数据集,其中所有点均由两个簇
G1
和
G2
中收集到,对应的 medoids 为
xc1
和
xc2
。两点之间的不相似度定义为欧几里得距离。为了能将数据划分为
G1
和
G2
根据 定义 2,对每一个
xj
(
j
属于
在 X=Y 的情况下,当约束参数变得足够小的时候,每一个数据点都由其自身来表示,即 zii=1, ∀i 。换句话说,每一个点形成自己的类簇。其实,使用 定理 2,可以获得 λmin 满足 λ≤λmin ,最优解就成了单位矩阵。
推论 1 假设 X=Y ,并定义 λmin≜minj(mini≠jdij−djj) 。对于 λ≤λmin 和 p∈{2,∞} ,优化的最优解为单位矩阵,即每一个数据点由其自身表示。
5 实验
略
- A. Kulesza and B. Taskar, “k-DPPs: Fixed-size determinantal point processes,” in Proc. Int. Conf. Mach. Learn., 2011. ↩
- B. J. Frey and D. Dueck, “Clustering by passing messages between data points,” Science, vol. 315, pp. 972–976, 2007. ↩
- R. H. Affandi, A. Kulesza, E. B. Fox, and B. Taskar, “Nystrom approximation for large-scale determinantal processes,” in Proc. Int. Conf. Mach. Learn., 2013. ↩
- E. P. Xing, A. Y. Ng, M. I. Jordan, and S. Russell, “Distance metric learning, with application to clustering with side-information,” in Proc. Adv. Neural Inf. Process. Syst., 2002, pp. 505–512. ↩
- J. V. Davis, B. Kulis, P. Jain, S. Sra, and I. S. Dhillon, “Informationtheoretic metric learning,” in Proc. 24th Int. Conf. Mach. Learn., 2007, pp. 209–216. ↩
- S. Boyd, N. Parikh, E. Chu, B. Peleato, and J. Eckstein, “Distributed optimization and statistical learning via the alternating direction method of multipliers,” Found. Trends Mach. Learn., vol. 3, pp. 1–122, 2011. ↩
- D. Gabay and B. Mercier, “A dual algorithm for the solution of nonlinear variational problems via finite-element approximations,”Comput. Math. Appl., vol. 2, pp. 17–40, 1976. ↩
- P. Combettes and V. Wajs, “Signal recovery by proximal forwardbackward splitting,” SIAM J. Multiscale Model. Simul., vol. 4, pp. 1168–2200, 2005. ↩
- C. Chaux, P. Combettes, J. C. Pesquet, and V. Wajs, “A variational formulation for frame-based inverse problems,” Inverse Problems, vol. 23, pp. 1495–1518, 2007. ↩
- J. Duchi, S. Shalev-Shwartz, Y. Singer, and T. Chandra, “Efficient projections onto the l1-ball for learning in high dimensions,” in Proc. Int. Conf. Mach. Learn., 2008, pp. 272–279. ↩
- M. Grant and S. Boyd. CVX: Matlab software for disciplined convex programming [Online]. Available: http://cvxr.com/cvx ↩
- G. Wesolowsky, “The Weber problem: History and perspective,”Location Sci., vol. 1, pp. 5–23, 1993. ↩
- R. H. Affandi, A. Kulesza, E. B. Fox, and B. Taskar, “Nystrom approximation for large-scale determinantal processes,” in Proc. Int. Conf. Mach. Learn., 2013. ↩
- A. Nellore and R. Ward, “Recovery guarantees for exemplarbased clustering,” arXiv:1309.3256, 2014. ↩
- P. Awasthi, A. S. Bandeira, M. Charikar, R. Krishnaswamy, S. Villar, and R. Ward, “Relax, no need to round: Integrality of clustering formulations,” in Proc. Conf. Innovations Theoretical Comput.
Sci., 2015, pp. 191–200. ↩