一、简介
题目: On the Persistence of Clustering Solutions and True Number of Clusters in a Dataset
会议: AAAI 2019
任务: 估计无标签数据的类别数量
k
k
k并聚类。
Idea: 作者认为在不同的分辨率下聚类结果不同,当分辨率很小时,我们只能看到事物的轮廓却看不到细节,在这种情况下,我们几乎无法区分样本之间的差别,所有样本都会被认作同一类;反之,分辨率很大时,我们可能过于关注细节,在这种情况下,每个样本都是独特的无法与其它样本并称一类。
于是,作者从确定性退火(deterministic annealing, DA)算法中提取退火参数
β
\beta
β用来衡量分辨率,每个
k
k
k都会对应一个分辨率区域(作者称该区域大小为persistence,在该区域内我们对聚类结果或簇的数量的判断不会改变),所对应区域最大的
k
k
k即为要找的
k
k
k。
Note: 优点:该方法与聚类算法独立,可搭配任何聚类算法使用;
缺点:需要从1遍历到预设的
k
max
k_{\max}
kmax,若单次聚类算法运行时间较长将产生较为昂贵的时间成本。
如(a2)所示,直观上,若以蓝圈为分辨率,则类别数可视为3;若以绿圈为分辨率,则类别数可视为9。每个
k
k
k所对应的分辨率区域,即persistence指的就是这个圈可改变的范围。显然,蓝圈成比例缩小直至碰到绿圈前都可以将类别数视为3,但绿圈却只能缩小至红圈,继续缩小类别数可能就不再是9了。同一
k
k
k下,分辨率所能变化的范围作者使用
log
β
ˉ
k
−
log
β
ˉ
k
−
1
\log\bar\beta_k\!-\!\log\bar\beta_{k-1}
logβˉk−logβˉk−1(
β
ˉ
\bar\beta
βˉ由
β
\beta
β改造而来)来衡量,变化曲线如(a3)所示,可见persistence最大的是
k
=
3
k\!=\!3
k=3。相应地,由(b3)可以看出,
k
=
9
k\!=\!9
k=9更适合(b2)。
二、详情
1. 量化分辨率
有了以上介绍,我们会发现最重要的是如何将分辨率量化出来,并且这个量化指标应该有很小时会使样本无法区分,很大时会使样本差异过于明显的特点。
作者在DA算法中找到了这样一个参数,即 β \beta β。DA将聚类视为一个设施选址问题(facility location problem, FLP),简单来说,就是像 k k k-means那样选簇的质心的问题,形式化的表示如下:
其中, Y = { y j : y j ∈ R d , 1 ≤ j ≤ k } \mathcal Y=\{\textbf{y}_\textbf{j}:\textbf{y}_\textbf{j}\in\mathbb R^d,1\leq j\leq k\} Y={yj:yj∈Rd,1≤j≤k}是 k k k个质心, X = { x i : x i ∈ R d , 1 ≤ i ≤ N } \mathcal X=\{\textbf{x}_\textbf{i}:\textbf{x}_\textbf{i}\in\mathbb R^d,1\leq i\leq N\} X={xi:xi∈Rd,1≤i≤N}是 N N N个样本, d ( x i , y j ) d(\textbf{x}_\textbf{i},\textbf{y}_\textbf{j}) d(xi,yj)为两者的欧式距离, p i = 1 / N p_i=1/N pi=1/N。事实上,就是令各样本到最近质心的距离之和最小。
在DA算法中,上式被近似为如下优化问题:
其中,参数 β \beta β为退火参数用来调控 F F F与 D D D的近似程度。 β → ∞ \beta\!\rightarrow\!\infty β→∞时, F F F收敛于 D D D; β → 0 \beta\!\rightarrow\!0 β→0时, F F F与 D D D表现出显著差异。
该近似后的优化问题实际还是要求 Y \mathcal Y Y,所以给定 β \beta β,令 ∂ F ∂ y j = 0 \frac{\partial F}{\partial\textbf{y}_\textbf{j}}\!=\!0 ∂yj∂F=0,有
其中,
此时,如果 β → 0 \beta\!\rightarrow\!0 β→0,则 p ( j ∣ i ) → 1 / k p(j|i)\!\rightarrow\!1/k p(j∣i)→1/k, y j → ( ∑ i = 1 N x i ) / N \textbf{y}_\textbf{j}\!\rightarrow\!(\sum_{i=1}^N\textbf{x}_\textbf{i})/N yj→(∑i=1Nxi)/N,则对于不同的 x i \textbf{x}_\textbf{i} xi, y j \textbf{y}_\textbf{j} yj都是一致的。简单来说,就是只有一个质心,所有样本都属于同一个类。随着 β \beta β增加,不同 x i \textbf{x}_\textbf{i} xi的 e − β d ( x i , y j ) e^{-\beta d(\textbf{x}_\textbf{i},\textbf{y}_\textbf{j})} e−βd(xi,yj)差异开始体现,开始不再属于同一个类。最后 β → ∞ \beta\!\rightarrow\!\infty β→∞,不同 x i \textbf{x}_\textbf{i} xi的 e − β d ( x i , y j ) e^{-\beta d(\textbf{x}_\textbf{i},\textbf{y}_\textbf{j})} e−βd(xi,yj)差异显著,此时需要为每个样本都分配一个质心。
综上, β \beta β便是满足我们需求的参数,进而我们也可以使用 log β \log\beta logβ来量化分辨率。
2. 量化persistence
有了分辨率的量化,我们还需要量化 k k k保持不变时分辨率的可变化范围,即persistence。换句话说,就是 β \beta β在什么范围内变化能使 F F F的解 Y \mathcal Y Y不变。
于是,作者对优化问题 F F F做了松弛,要求对所有有限扰动 Ψ \Psi Ψ来说,最优质心 Y \mathcal Y Y满足如下条件:
其实就是希望 F F F的所允许的解 Y \mathcal Y Y的范围能够更大一些。
当扰动 Ψ \Psi Ψ过大使 H ( Y , Ψ , β ) H(\mathcal Y,\Psi,\beta) H(Y,Ψ,β)不再正定时,对于某个 β \beta β值,簇的质心 Y \mathcal Y Y就不再是 F F F的最小值。简单来说, H ( Y , Ψ , β ) H(\mathcal Y,\Psi,\beta) H(Y,Ψ,β)正定的时候质心 Y \mathcal Y Y不会发生大的变动(数量不变),此时所对应的分辨率 β \beta β的范围大小就是当前解 Y \mathcal Y Y的persistence。
所以要想计算出persistence,就要找到临界的 β \beta β,也就是使 H ( Y , Ψ , β ) H(\mathcal Y,\Psi,\beta) H(Y,Ψ,β)非正定的点。首先,计算出 H ( Y , Ψ , β ) H(\mathcal Y,\Psi,\beta) H(Y,Ψ,β),得到如下结果:
其中, I I I为单位矩阵,
可以发现, H ( Y , Ψ , β ) H(\mathcal Y,\Psi,\beta) H(Y,Ψ,β)失去正定性的点在 det [ I − 2 β C X ∣ y 0 k ] = 0 \det[I-2\beta C^k_{\mathcal X|\textbf{y}_\textbf{0}}]\!=\!0 det[I−2βCX∣y0k]=0处,其中 y 0 ∈ Y \textbf{y}_\textbf{0}\!\in\!\mathcal Y y0∈Y。于是,在 Y \mathcal Y Y中有 k k k个质心时,临界值为
其中, λ max ( C X ∣ y 0 k ) \lambda_{\max}(C^k_{\mathcal X|\textbf{y}_\textbf{0}}) λmax(CX∣y0k)是 C X ∣ y 0 k C^k_{\mathcal X|\textbf{y}_\textbf{0}} CX∣y0k的最大特征值, y 0 = arg max { y j } λ max ( C X ∣ y j k ) \textbf{y}_\textbf{0}\!=\!\arg\max_{\{\textbf{y}_\textbf{j}\}}\lambda_{\max}(C^k_{\mathcal X|\textbf{y}_\textbf{j}}) y0=argmax{yj}λmax(CX∣yjk)。超过该临界值 β k \beta_k βk,簇的数量 k k k就应该加1了。
这样,在每个 k k k都能计算出一个 β k \beta_k βk,就可以定义 v ( k ) : = log β k − log β k − 1 v(k):=\log\beta_k\!-\!\log\beta_{k-1} v(k):=logβk−logβk−1为persistence。所期望的 k t k_t kt就是 arg max k v ( k ) \arg\max_kv(k) argmaxkv(k)。
但是,这样每次求解都要计算 p ( j ∣ i ) p(j|i) p(j∣i),为了减少计算(或者说将persistence的计算与DA算法独立),作者将软分配 p ( j ∣ i ) ∈ [ 0 , 1 ] p(j|i)\in[0,1] p(j∣i)∈[0,1]替换为硬分配 ν i j ∈ { 0 , 1 } \nu_{ij}\in\{0,1\} νij∈{0,1}。当样本 x i \textbf{x}_\textbf{i} xi属于簇 π j \pi_j πj时 ν i j = 1 \nu_{ij}\!=\!1 νij=1;否则, ν i j = 0 \nu_{ij}\!=\!0 νij=0。于是,有
相应地,我们所期望的 k t k_t kt就通过下式计算:
其中,
3. 算法流程
最后,可形成如下确定最优 k k k的流程:
其中,上一节的最后两个公式分别为(11)和(12)。