基于柯西损失函数的子空间聚类方法
引言
基于柯西
损失函数(Cauchy Loss Function, CLF)的子空间聚类方法是一种利用柯西分布
特性来增强聚类鲁棒性的算法。
相比于传统的聚类方法,该方法对异常值和噪声具有更强的鲁棒性
,尤其在处理高维数据和存在重尾分布的情况时表现出色。
柯西损失函数
柯西损失函数来源于柯西分布
,它具有长尾特性,这意味着它对远离中心的异常值赋予较小的权重
,从而减少异常值对模型的影响。柯西损失函数的一般形式为:
L ( x ; s ) = log ( 1 + x 2 s 2 ) L(x; s) = \log\left(1 + \frac{x^2}{s^2}\right) L(x;s)=log(1+s2x2)
其中:
-
x
x
x 是
残差或误差项
。 -
s
s
s 是
尺度参数
,决定了损失函数曲线的宽度。
柯西损失函数的图形类似于绝对值函数
,但在误差较大时,增长速率逐渐减缓,从而降低了大误差的影响力。
子空间聚类框架
在子空间聚类中,我们的目标是找到数据点之间的线性表示
,使得数据点可以被表示为同一子空间内其他数据点的线性组合
。
基于柯西损失函数的子空间聚类方法试图最小化数据点表示误差的柯西损失函数,而非传统的平方损失或绝对值损失。
目标函数
设数据集为
X
=
{
x
1
,
x
2
,
…
,
x
N
}
\mathbf{X} = \{\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_N\}
X={x1,x2,…,xN},其中
x
i
∈
R
d
\mathbf{x}_i \in \mathbb{R}^d
xi∈Rd,我们的目标是最小化所有数据点的表示误差的柯西损失函数
。目标函数可以表示为:
min C ∑ i = 1 N log ( 1 + ∥ x i − X C i ∥ 2 2 s 2 ) \min_{\mathbf{C}} \sum_{i=1}^{N} \log\left(1 + \frac{\left\| \mathbf{x}_i - \mathbf{X} \mathbf{C}_i \right\|_2^2}{s^2}\right) Cmini=1∑Nlog(1+s2∥xi−XCi∥22)
其中:
-
C
=
[
C
1
,
C
2
,
…
,
C
N
]
\mathbf{C} = [\mathbf{C}_1, \mathbf{C}_2, \ldots, \mathbf{C}_N]
C=[C1,C2,…,CN] 是
表示矩阵
, C i \mathbf{C}_i Ci 是第 i i i 个数据点的表示向量; -
∥
⋅
∥
2
\left\| \cdot \right\|_2
∥⋅∥2 是L2范数,
衡量向量的长度;
- s s s 是柯西损失函数的尺度参数。
约束条件
为了防止数据点使用自己表示自己,通常会添加对角线约束:
C i i = 0 , ∀ i = 1 , 2 , … , N \mathbf{C}_{ii} = 0, \quad \forall i = 1, 2, \ldots, N Cii=0,∀i=1,2,…,N
以及行和约束:
∑ j = 1 N C i j = 1 , ∀ i = 1 , 2 , … , N \sum_{j=1}^{N} \mathbf{C}_{ij} = 1, \quad \forall i = 1, 2, \ldots, N j=1∑NCij=1,∀i=1,2,…,N
这确保了每个数据点的表示是通过其他数据点的线性组合给出的。
聚类过程
一旦找到表示矩阵
C
\mathbf{C}
C,我们可以构建相似度矩阵
W
\mathbf{W}
W,并使用谱聚类算法对数据点进行聚类。
谱聚类涉及构建图拉普拉斯矩阵
L
\mathbf{L}
L,然后计算
L
\mathbf{L}
L 的特征向量,并使用
k
k
k-means 或其他聚类算法对特征向量进行聚类。
L = D − W \mathbf{L} = \mathbf{D} - \mathbf{W} L=D−W
其中 D \mathbf{D} D 是度矩阵,其对角线元素为 W \mathbf{W} W 的行和。
总结
基于柯西损失函数的子空间聚类方法通过最小化表示误差的柯西损失函数,增强了对异常值和噪声的鲁棒性。
这种方法在处理高维数据和存在重尾分布的情况下表现优异,通过使用柯西损失函数,能够更准确地识别数据点的潜在子空间结构,从而实现更有效的聚类。