A Fuzzy Subspace Algorithm for Clustering High Dimensional Data
一、 针对问题
高位数据聚类存在两个问题:
- 高纬数据在距离计算上,任意两点的距离都可能极为相近,导致难以将相似点和不相似点区分出来;
- 高纬数据集的簇可能存在于不同的维度集合里。
二、 文章的灵感
- 维数约减现状:PCA、以及相关的特征选择算法,本文主要讲的是其中的子空间部分;
- 子空间聚类的推进:
维数约减和特征选择背后的思路是:裁剪掉不重要的维度,实现从高维向低维空间的改变,以利于往后的聚类等工作。这样的维度裁剪过程,极可能导致信息的缺失;正是这个问题促进了子空间聚类的发展,如:
(1) 任意定向子空间聚类(arbitrary oriented subspace),比如ORCLUS和投影k均值聚类;特点为所产生的维度都是初始维度的线性组合。
(2) 常规子空间聚类,比如PART和SUBCAD;做法是在初始维度中选择若干维度成子空间组,再进行聚类。 - 子空间聚类的缺陷:统一为簇所在的子空间的各个维度分配相等的非零权值,为其他维度(non-cluster dimensions)赋权值为0。均匀赋权值导致了一个问题:如何选择恰当的维度?举个例子,比如有一个100维的数据集,已知各个簇嵌入在其中的50维子空间中,然而不同维度实际上对聚类的贡献程度不见得完全相同,各维度之间甚至可能是相互关联的,为子空间各个维度赋相同的权值是否合适?进一步说,而在未知子空间维数的情况下,我们如何知道合适的子空间是多少维?
- 为了解决以上的问题,在子空间聚类中引入模糊聚类和LAC的思想,形成软子空间的聚类FSC。通过密度稀疏来为各个维度分配不同的权值,解决了子空间维度的不够灵活的维度选择问题、并为所有维度分配合适的贡献值,而不是均匀的权值。
三、 FSC模型
-
模型定义
(1) 数据集
(2) d是原始数据集维度数
(3) k为聚类簇数
(4) 给定k个中心点 (最初随机,往后通过EM迭代更新的)
(5) k个d维的权重向量
(6) alpha是维度权重的模糊系数,同FCM里的m一致要求取值大于1。
(7) 在数据集D中找出点x作为Cj,要求符合(注意Cj所含点的数量可能不为1)
(8) 目标函数:
限制条件为:
-
解析
(1) 求导,得到对中心点的更新:
(2) 拉格朗日乘子更新权重:
那么得到权重:
-
防除零处理,增加偏差项
-
通过解析过程,可以发现实际上FSC结构和FCM十分相似,实际上可以和FCM的相关理论相互联系,做更多的分析。
四、 实验细节
不赘述。
五、 附
FSC模型比较基础,文章论述的深度不是很深,没有指出FSC的缺陷,这可能是这篇文章的不足之处之一,本文没有指出FSC的缺陷,在后续一个月的算法比较实验中,会再补充关于模型表现的相关内容。