大数据,机器学习,人工智能机器学习和人工智能入门数据分析

论文 - 扩展 K-Means 算法:混合数据类型的聚类

2018-07-09  本文已影响9人  Kofe_

原文:Extensions to the k-means algorithm for clustering large datasets with categorical values
作者:ZHEXUE HUANG.
来源:Data mining and knowledge discovery, 1998, 2(3): 283-304.
转载:简书不支持公式渲染,便于阅读可参考 原博文

摘要

在早期,大多数聚类工作主要集中在数值数据上,且它们主要是利用数值数据的固有几何特性,即数据点之间的 距离函数 (见附录1)。但是,数据挖掘应用程序通常涉及许多数据集,这些数据集是由混合数值属性和标称属性组成的,仅拥有数值数据的测量方法已无法满足混合数据类型的聚类工作。

本论文基于经典的 K-Means 算法上,提出了两种聚类算法,分别应对 标称域混合数值与标称域 属性值的聚类操作。首先介绍的是K-Modes (K-众数) 聚类算法,他运作的方式与 K-Means 相仿,只是它利用的是相异性度量处理标称对象,聚类中心以众数替代均值,且众数以基于频率的方法去迭代更新,直至 聚类代价函数 的结果最小化停止迭代。其次,是 K-Prototype 聚类算法,它定义了一组合的相异性度量值,进一步整合 K-MeansK-Modes 算法,以实现对混合数值与标称属性的对象进行聚类操作。

正文

引入

将数据库中的一组对象划分为同构组或集群是数据挖掘中最基本的操作。而讨论划分操作,自然离不开聚类。聚类是把每一组对象划分为一个簇,且同一簇中对象之间相似,而不同簇之间的对象相异。

数据挖掘最显著的特征是处理复杂的大型数据集。特别地,数据集包含数以百万计由不同类型属性或变量描述的对象,由此数据挖掘操作和算法应充分考虑可扩展性,以应付处理不同类型的属性。

在本论文中,提出的两个新聚类算法,即利用 K-Means 范式 对拥有标称属性的数据进行聚类。K-Modes (K-众数) 聚类算法,他运作的方式与 K-Means 相仿,只是它利用的是相异性度量处理标称对象,聚类中心以众数替代均值,且众数以基于频率的方法去迭代更新,直至 聚类代价函数 的结果最小化停止迭代。其次,是 K-Prototype 聚类算法,它定义了一组合的相异性度量值 s^r + \gamma s^c,以实现对混合数值与标称属性的对象进行聚类操作。其中,s^r 是由 平方欧式距离 定义的 数值属性 的相异性度量值,s^c 是由 两个对象间类别不匹配的数量 定义的 标称属性 的相异性度量值,\gamma 是平衡数值属性和标称属性两部分的的权值,以避免偏向于某一属性。若聚类的效果更青睐于数值属性,则可以设定一个较小的 \gamma 值;反之,设定一较大的 \gamma 值。

符号

K-Means (均值) 算法

K-Modes (众数) 算法

原则上,K-Means 算法中问题 P 的公式对于分类和混合类型的对象也是有效的,之所以 K-Means 算法不能对标称属性对象进行聚类的原因是它的相异性度量方法和用于构造新的簇群中心的方法不适用,故通过对 K-Means 算法进行以下修改,可消除不适用问题:

相异性度量

相异性度量:设 X,Y 是由 m 个标称属性描述的两个标称属性对象, X,Y 的相异性度量可通过两个对象间相对应属性的不匹配总和来定义,即不匹配的次数越少,两个对象越相似。定义如下:

d(X,Y) = \sum_{j=1}^m \delta (x_j,y_j) \tag{5}

且满足条件:

\delta (x_j,y_j) = \begin{cases} 0 , \, (x_j = y_j) \\ 1 , \, (x_j \neq y_j) \end{cases} \tag{6}

众数集

X 是由标称属性 A_1, A_2, ..., A_m 描述的标称属性对象集。X= \{X_1, X_2, ..., X_n\} 的众数由向量 Q =\{q_1, q_2, ..., q_m\} 表示,并最小化函数:

Minimise \, D(X,Q) = \sum_{i=1}^n d(Xi,Q) \tag{7}

注意,这里 Q 并不一定是 X 中包含元素 (有别于 K-Medoids 算法 ^{[4]},质心从它的样本点中选择 )。

挑选众数

n_{c_{k,j}} 为属性 A_j 中包含第 k 个标称属性 c_{k,j} 的对象数量,且定义 f(A_j = c_{k,j} | X) = \frac{ n_{c_{k,j}} }{n} 为标称属性 c_{k,j}X 中的出现频率。

算法核心

P(W,Q) = \sum_{l=1}^k \sum_{i=1}^n \sum_{j=1}^m w_{i,l} \delta(x_{i,j},q_{l,j})\\\ where \, w_{i,l} \in W \, and \, Q_l = [q_{l,1}, q_{l,1}, ..., q_{l,m}] \in Q \tag{9}

附录

1 距离函数

距离函数:关于数据点之间的距离函数,即数值属性刻画的对象相异性的距离度量。度量方法 ^{[1]} 包括闵可夫斯基距离 (闵氏距离)、欧几里得距离 (欧式距离) 和曼哈顿距离。

i=(x_{i1},x_{i2},...,x_{ih})j=(x_{j1},x_{j2},...,x_{jh}) 是两个被 h 个属性描述的对象。

闵氏距离是欧式距离和曼哈顿距离的推广,定义如下:

d(i, j) = \sqrt[h]( \sum_{f=1}^h |x_{if}-x_{jf}|^{h} ),h \geq 1 \tag{1}

d(i, j) = \sum_{f=1}^h |x_{if}-x_{jf}|,h \geq 1 \tag{2}

d(i, j) = \sqrt(\sum_{f=1}^h (x_{if}-x_{jf})^2) ,h \geq 1 \tag{3}

d(i, j) = \lim_{h \to \infty} ( \sum_{f=1}^h |x_{if}-x_{jf}|^h )^\frac{1}{h} = max_{f}^h |x_{if}-x_{jf}| \tag{4}

2 定理证明

定理 1 的证明如下:

\sum_{i=1}^n d(X_i,Q) = \sum_{i=1}^n \sum_{j=1}^m \delta(x_{i,j},q_j) \\ = \sum_{i=1}^n ( \sum_{j=1}^m \delta(x_{i,j},q_j) ) = \sum_{i=1}^m n(1-\frac{n_{q_j}}{n}) = \sum n( 1-f_r(A_j = q_j | X) )

思考

参考

[1] Jiewei Han, Micheline Kamber and Jian Pei. 数据挖掘 (第三版) [M]. 机械工业出版社, 2018, 48-49.
[2] Bezdek J C. A convergence theorem for the fuzzy ISODATA clustering algorithms [J]. IEEE transactions on pattern analysis and machine intelligence, 1980 (1): 1-8.
[3] Ismail M A, Selim S Z. Fuzzy c-means: optimality of solutions and effective termination of the algorithm[J]. Pattern recognition, 1986, 19(6): 481-485.
[4] Park H S, Jun C H. A simple and fast algorithm for K-medoids clustering[J]. Expert systems with applications, 2009, 36(2): 3336-3341.

上一篇 下一篇

猜你喜欢

热点阅读