鲁棒多视图谱聚类(Robust Multi-view Spectral Clustering, RMSC)


鲁棒多视图谱聚类(Robust Multi-view Spectral Clustering, RMSC)是一种集成多视图信息并 增强聚类鲁棒性高级聚类算法
其核心在于利用多视图数据的 互补性,通过鲁棒性处理 减小噪声影响,并采用谱理论来进行聚类。
下面详细解析RMSC的几个关键步骤,并涉及部分数学公式。

1. 数据预处理与相似度矩阵构建

对于每个视图 (v)(共有 (V) 个视图),首先进行数据预处理,可能包括归一化、降维等。接着,基于每个视图构建相似度矩阵 S ( v ) S^{(v)} S(v)
常用的相似度度量包括欧几里得距离、余弦相似度等,相似度矩阵元素 s i j ( v ) 表示视图 v 中第 i 个样本与第 j 个样本的相似度。 s_{ij}^{(v)}表示视图 v 中第 i个样本与第 j 个样本的相似度。 sij(v)表示视图v中第i个样本与第j个样本的相似度。

2. 鲁棒低秩矩阵恢复

考虑到数据中的噪声和异常值,RMSC通常会利用鲁棒PCA(RPCA)或其变体来提取每个视图的低秩表示, 即估计一个低秩矩阵 L ( v ) 和一个稀疏噪声矩阵 S ( v ) ,使得 X ( v ) ≈ L ( v ) + S ( v ) 。其中, X ( v ) 是原始数据矩阵。 即估计一个低秩矩阵 L^{(v)} 和一个稀疏噪声矩阵 S^{(v)},使得 X^{(v)} \approx L^{(v)} + S^{(v)}。其中,X^{(v)} 是原始数据矩阵。 即估计一个低秩矩阵L(v)和一个稀疏噪声矩阵S(v),使得X(v)L(v)+S(v)。其中,X(v)是原始数据矩阵。
这一过程可以通过优化问题表达,例如使用最小绝对值收缩和选择算子(LASSO)或核范数最小化等方法。

3. 融合视图信息

为了整合多个视图的信息,RMSC通常采用加权平均共正则化或其它融合策略来构建一个综合的相似度矩阵 (S)。如果采用加权平均,形式上可以表示为:
S = ∑ v = 1 V α v S ( v ) S = \sum_{v=1}^V \alpha_v S^{(v)} S=v=1VαvS(v)
其中, α v 是视图 v 的权重,满足 ∑ v = 1 V α v = 1 。 其中,\alpha_v是视图 v的权重,满足 \sum_{v=1}^V \alpha_v = 1。 其中,αv是视图v的权重,满足v=1Vαv=1

4. 构建鲁棒转移矩阵

接下来,通过构建转移矩阵 (W) 来进一步提炼数据间的连接关系。一个常见的做法是先计算出拉普拉斯矩阵 (L = D - W),其中 (D) 是度矩阵, D i i = ∑ j W i j D_{ii} = \sum_j W_{ij} Dii=jWij
为了增强鲁棒性,可以采用如下方式构造 (W):
W = ( D + γ I ) − 1 2 S ( D + γ I ) − 1 2 W = (D + \gamma I)^{-\frac{1}{2}} S (D + \gamma I)^{-\frac{1}{2}} W=(D+γI)21S(D+γI)21
其中,γ 是一个正则化项,用于平滑处理,(I) 是单位矩阵。这样构造的 (W) 被称为对称归一化拉普拉斯矩阵。

5. 谱聚类

最后,利用谱聚类算法进行聚类。 首先,计算 W 的前 k 个最小非零特征值 λ 1 , … , λ k 及其对应的特征向量 u 1 , … , u k 。 首先,计算 W 的前 k 个最小非零特征值 \lambda_1, \ldots, \lambda_k 及其对应的特征向量 u_1, \ldots, u_k。 首先,计算W的前k个最小非零特征值λ1,,λk及其对应的特征向量u1,,uk
这些特征向量构成了一个低维嵌入空间,其中每个数据点由其对应的特征向量表示。之后,可以在该低维空间中应用 K-means 或其他聚类算法完成最终的聚类。

总结

RMSC通过上述步骤,不仅融合了多视图信息,还通过鲁棒处理提高了对噪声的容忍度,使得聚类结果更加可靠。尽管具体实现细节(如如何精确地进行鲁棒低秩矩阵恢复、如何优化权重分配等)可能根据实际情况有所调整,但上述框架概括了RMSC的基本思路和流程。

例子

假设我们有两个视图的数据 ( V i e w 1 和 V i e w 2 ),并且想要将这些数据聚类成两类。 假设我们有两个视图的数据(View_1和 View_2),并且想要将这些数据聚类成两类。 假设我们有两个视图的数据(View1View2),并且想要将这些数据聚类成两类。

数据准备

设 (n) 个样本在每个视图中都有 (d) 的特征表示,因此 V i e w 1 和 V i e w 2 分别可以用矩阵 X ( 1 ) ∈ R n × d 和 X ( 2 ) ∈ R n × d 来表示。 View_1 和 View_2 分别可以用矩阵 X^{(1)} \in \mathbb{R}^{n \times d} 和 X^{(2)} \in \mathbb{R}^{n \times d} 来表示。 View1View2分别可以用矩阵X(1)Rn×dX(2)Rn×d来表示。

步骤1: 数据预处理及相似度矩阵构建

  • 相似度矩阵:对于每个视图,我们使用余弦相似度来衡量样本间的相似度,构建相似度矩阵
    S ( 1 ) 和 S ( 2 ) S^{(1)} 和 S^{(2)} S(1)S(2)
    若 x i ( v ) 和 x j ( v ) 分别是第 i 和第 j 个样本在视图 v 上的特征向量 若 x_i^{(v)} 和 x_j^{(v)} 分别是第 i 和第 j 个样本在视图 v上的特征向量 xi(v)xj(v)分别是第i和第j个样本在视图v上的特征向量
    则它们的相似度为:
    s i j ( v ) = x i ( v ) ⋅ x j ( v ) ∥ x i ( v ) ∥ ∥ x j ( v ) ∥ s_{ij}^{(v)} = \frac{x_i^{(v)} \cdot x_j^{(v)}}{\|x_i^{(v)}\|\|x_j^{(v)}\|} sij(v)=xi(v)∥∥xj(v)xi(v)xj(v)

当然,为了具体展示步骤1中的数据预处理及相似度矩阵构建过程,我们可以设想一个非常简单的例子,其中包含两个视图的数据,每个视图有三个样本,每个样本有两个特征。我们简化处理,忽略数据的具体数值,直接展示相似度矩阵的构建过程。

示例数据

视图 1 ( V i e w 1 ) : 视图1(View_1): 视图1View1:

  • 样本 1 : [ a 1 , b 1 ] 样本1: [a_1, b_1] 样本1:[a1,b1]
  • 样本 2 : [ a 2 , b 2 ] 样本2: [a_2, b_2] 样本2:[a2,b2]
  • 样本 3 : [ a 3 , b 3 ] 样本3: [a_3, b_3] 样本3:[a3,b3]

视图 2 ( V i e w 2 ) : 视图2(View_2): 视图2View2:

  • 样本 1 : [ c 1 , d 1 ] 样本1: [c_1, d_1] 样本1:[c1,d1]
  • 样本 2 : [ c 2 , d 2 ] 样本2: [c_2, d_2] 样本2:[c2,d2]
  • 样本 3 : [ c 3 , d 3 ] 样本3: [c_3, d_3] 样本3:[c3,d3]

步骤1: 数据预处理及相似度矩阵构建

相似度矩阵构建

对于每个样本,我们计算其在各视图上的余弦相似度。

在视图1中:

  • s 11 ( 1 ) = [ a 1 , b 1 ] ⋅ [ a 1 , b 1 ] ∥ [ a 1 , b 1 ] ∥ ∥ [ a 1 , b 1 ] ∥ = 1 s_{11}^{(1)} = \frac{[a_1, b_1] \cdot [a_1, b_1]}{\|[a_1, b_1]\|\|[a_1, b_1]\|} = 1 s11(1)=[a1,b1]∥∥[a1,b1][a1,b1][a1,b1]=1
  • s 12 ( 1 ) = [ a 1 , b 1 ] ⋅ [ a 2 , b 2 ] ∥ [ a 1 , b 1 ] ∥ ∥ [ a 2 , b 2 ] ∥ s_{12}^{(1)} = \frac{[a_1, b_1] \cdot [a_2, b_2]}{\|[a_1, b_1]\|\|[a_2, b_2]\|} s12(1)=[a1,b1]∥∥[a2,b2][a1,b1][a2,b2]
  • . . . ... ...

以此类推,计算出 V i e w 1 的相似度矩阵 S ( 1 ) 。 以此类推,计算出View_1 的相似度矩阵 S^{(1)}。 以此类推,计算出View1的相似度矩阵S(1)

在视图2中:

同样地,对于每个样本对计算相似度,构建相似度矩阵 S ( 2 ) 同样地,对于每个样本对计算相似度,构建相似度矩阵 S^{(2)} 同样地,对于每个样本对计算相似度,构建相似度矩阵S(2)

具体相似度计算示例

假设具体数值如下(为了简化,我们直接使用字母表示数值):
视图1(View_1):

  • 样本1: [1, 2]
  • 样本2: [2, 3]
  • 样本3: [3, 4]

视图2(View_2):

  • 样本1: [2, 9]
  • 样本2: [3, 6]
  • 样本3: [4, 8]

计算相似度矩阵

  • s 11 ( 1 ) = ( 1 ∗ 1 + 2 ∗ 2 ) 1 2 + 2 2 1 2 + 2 2 = 5 5 5 = 1 s_{11}^{(1)} = \frac{(1*1 + 2*2)}{\sqrt{1^2+2^2}\sqrt{1^2+2^2}} = \frac{5}{\sqrt{5}\sqrt{5}} = 1 s11(1)=12+22 12+22 (11+22)=5 5 5=1
  • s 12 ( 1 ) = ( 1 ∗ 2 + 2 ∗ 3 ) 1 2 + 2 2 2 2 + 3 2 = 8 5 13 s_{12}^{(1)} = \frac{(1*2 + 2*3)}{\sqrt{1^2+2^2}\sqrt{2^2+3^2}} = \frac{8}{\sqrt{5}\sqrt{13}} s12(1)=12+22 22+32 (12+23)=5 13 8
  • s 13 ( 1 ) = ( 1 ∗ 3 + 2 ∗ 4 ) 1 2 + 2 2 3 2 + 4 2 = 11 5 25 = 11 5 5 s_{13}^{(1)} = \frac{(1*3 + 2*4)}{\sqrt{1^2+2^2}\sqrt{3^2+4^2}} = \frac{11}{\sqrt{5}\sqrt{25}} = \frac{11}{5\sqrt{5}} s13(1)=12+22 32+42 (13+24)=5 25 11=55 11
  • s 22 ( 1 ) = 1 s_{22}^{(1)} = 1 s22(1)=1
  • s 23 ( 1 ) = ( 2 ∗ 3 + 3 ∗ 4 ) 2 2 + 3 2 3 2 + 4 2 = 18 13 25 = 18 5 13 s_{23}^{(1)} = \frac{(2*3 + 3*4)}{\sqrt{2^2+3^2}\sqrt{3^2+4^2}} = \frac{18}{\sqrt{13}\sqrt{25}} = \frac{18}{5\sqrt{13}} s23(1)=22+32 32+42 (23+34)=13 25 18=513 18
  • s 33 ( 1 ) = 1 s_{33}^{(1)} = 1 s33(1)=1
  • 其他对角线外的元素通过对称性得到,例如 s 21 ( 1 ) = s 12 ( 1 ) 。 s_{21}^{(1)} = s_{12}^{(1)}。 s21(1)=s12(1)

因此,简化后 S ( 1 ) 可能表示为(未完全展开,只展示计算过程): 因此,简化后 S^{(1)} 可能表示为(未完全展开,只展示计算过程): 因此,简化后S(1)可能表示为(未完全展开,只展示计算过程):
S ( 1 ) = ( 1 8 5 13 11 5 5 ⋅ 1 ⋅ ⋅ ⋅ 1 ) S^{(1)} = \begin{pmatrix} 1 & \frac{8}{\sqrt{5}\sqrt{13}} & \frac{11}{5\sqrt{5}} \\ \cdot & 1 & \cdot \\ \cdot & \cdot & 1 \end{pmatrix} S(1)= 15 13 8155 111

步骤2: 鲁棒低秩表示(简化处理)

在实际操作中,鲁棒低秩表示(如使用RPCA)较为复杂,这里简化处理,直接使用相似度矩阵。在更复杂的场景中,这一步需要通过优化问题解决,以分离出低秩分量和稀疏噪声分量。

步骤3: 视图融合

  • 加权平均:假设两个视图同等重要, 权重 α 1 = α 2 = 0.5 权重 \alpha_1 = \alpha_2 = 0.5 权重α1=α2=0.5则融合后的相似度矩阵 (S) 为:
    S = 0.5 S ( 1 ) + 0.5 S ( 2 ) S = 0.5S^{(1)} + 0.5S^{(2)} S=0.5S(1)+0.5S(2)

步骤4: 构建拉普拉斯矩阵

  • 对称归一化:构建对称归一化拉普拉斯矩阵 (L),其中 (D) 是度矩阵 D i i = ∑ j S i j D_{ii} = \sum_j S_{ij} Dii=jSij
    L = I − D − 1 2 S D − 1 2 L = I - D^{-\frac{1}{2}}SD^{-\frac{1}{2}} L=ID21SD21

步骤5: 特征分解与聚类

  • 特征分解:计算 (L) 的前 (k) 个最小非零特征值 λ 1 , … , λ k \lambda_1, \ldots, \lambda_k λ1,,λk及其对应的特征向量 u 1 , … , u k u_1, \ldots, u_k u1,,uk这里 (k) 是预先设定的类别数
  • 聚类:将特征向量 [ u 1 , … , u k ] [u_1, \ldots, u_k] [u1,,uk]作为降维后的样本表示,然后使用 K-means 算法进行聚类。K-means 的目标是最小化类内平方误差,通过迭代更新簇中心和分配样本到最近的簇中心来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不易撞的网名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值