聚类分析概念
聚类分析:将未标记的样本自动划分成多个类簇
聚类分析的度量
良好聚类算法的特征
- 良好的伸缩性
- 处理不同类型数据的能力
- 处理噪声数据的能力
- 增量聚类和对样本顺序对不敏感性
- 约束条件下的表现
- 易解释性和易用性
聚类分析的度量
- 分为内部指标和外部指标
- 聚类的目标是得到骄傲的簇内相似度和较低的簇间相似度,使得簇间的距离尽可能大,簇内样本与簇中心的距离尽可能小
- 簇类得到的簇可以用簇类中心、簇大小、簇密度、簇描述等来表示
- 簇类中心:一个簇中所有样本点点均值(质心)
- 簇大小:簇中所含的样本数量
- 簇密度:簇中样本点的紧密程度
- 簇描述:簇中样本的业务特征
外部指标
用事先制定的聚类模型作为参考来评判聚类结果的好坏
-
对于含有n个样本点的数据集S,其中的两个不同样本点( x i , x j x_i, x_j xi,xj),假设C是聚类算法给数的簇划分结果,P是外部参考模型给出的簇划分结果,那么对于样本点 x i , x j x_i, x_j xi,xj来说,存在以下四种关系:
- SS: x i , x j x_i, x_j xi,xj 在C和P中属于相同的类
- SD: x i , y i x_i, y_i xi,yi在C中属于相同的簇,在P中属于不相同的簇
- DS: x i , y i x_i, y_i xi,yi在C中属于不同的簇,在P中数据不相同的簇
- DD x i , y i x_i, y_i xi,yi在C和P中属于不相同的簇
-
另a,b,c,d分别表示SS,SD,DS,DD所对应的关系数目, x i , y i x_i, y_i xi,yi之间的关系必定且仅能存在属于四种中的一种关系
S | D | |
---|---|---|
S | SS(a) | SD(b) |
D | DS(c) | DD(d) |
- Rand统计量:R = a + b a + b + c + d {a+b} \over {a+b+c+d} a+b+c+da+b
- F值 (F-measure):
- P = a a + b a \over a+b a+ba a a + c a \over a+c a+ca
- P表示准确率,R表示召回率
- F = ( β 2 + 1 ) P R β 2 P + R {(\beta ^2+1)PR} \over {\beta ^2P+R} β2P+R(β2+1)PR
- β \beta β是参数,当 β \beta β = 1时,就是最常见的F1-measure
- Jaccard系数:
- J = a a + b + c a \over a+b+c a+b+ca
- FM系数
- FM = a a + b ⋅ a a + c \sqrt{{a \over a+b}\cdot {a \over a+c}} a+ba⋅a+ca
- 以上三个度量指标值越大,标明聚类结果与参考模型直接的划分结果越吻合,聚类结果越好
内部指标
不借助外部参考模型,利用样本点和聚类中心之间对距离来衡量聚类结果的好坏,在聚类分析中,对于两个m维样本点xi = (xi1,xi2,…,xim)和xj = (xj1,xj2,…,xjm)
###常用的距离度量
有欧式距离、曼哈顿距离、切比雪夫距离和明可夫斯基距离等
- 欧式距离:计算欧式空间中两点之间的距离
d i s t e d = ∑ k = 1 m ( x i k − x j k ) 2 dist_{ed} = \sqrt{\sum_{k=1}^{m}(x_{ik}-x_{jk})^2} disted=k=1∑m(xik−xjk)2 - 曼哈顿距离(城市街区距离):城市中,两个地点之间的实际距离时要沿着道路行驶的距离,曼哈顿距离用于度量这样的实际行驶距离:
d i s t m a n d = ∑ k = 1 m ∣ x i k − x j k ∣ dist_{mand} = \sum_{k=1}^{m}|x_{ik}-x_{jk}| distmand=k=1∑m∣xik−xjk∣ - 切比雪夫距离:向量空间中的一种度量,将空间坐标中两个点的距离定义为其各坐标数值差绝对值的最大值(切比雪夫距离时国际象棋中,表示国王从一个格子走到另一个格子所走的步数)
- d i s t c d = lim t → ∞ ( ∑ k = 1 m ∣ x i k − x j k ∣ t ) 1 t dist_{cd} = \lim_{t\rightarrow \infty} ({{\sum_{k=1}^{m}|x_{ik}-x_{jk}|^t}})^{1 \over t} distcd=t→∞lim(k=1∑m∣xik−xjk∣t)t1
- 明可夫斯基距离::欧式空间的一种测度,被看作欧式距离和曼哈顿距离的一种推广
- d i s t m i n d = ∑ k = 1 m ∣ x i k − x j k ∣ p p dist_{mind} = \sqrt [p]{{\sum_{k=1}^{m}|x_{ik}-x_{jk}}|^p} distmind=pk=1∑m∣xik−xjk∣p
- 其中p是一个可变的参数,嗯句p趋势的不同,明可夫斯基距离可以表示一类距离:当p=1时,变成了曼哈顿距离,当p=2时,编程欧式距离;当 p → ∞ p \rightarrow \infty p→∞时,编程切比雪夫距离
内部指标
根据空间中点的距离公式,可以得到以下聚类性能度量内部指标:
-
紧密度(Compactness):
- 每个簇中的样本点到聚类中心的平均距离,对于有n个样本点的簇C来说,该簇的紧密度为: C P = 1 n ∑ i = 1 n ∣ ∣ x i − C ∣ ∣ CP = {{1} \over {n}} \sum _{i=1}^{n} ||x_i -C|| CP=n1i=1∑n∣∣xi−C∣∣
- 其中 w c w_c wc为簇C的聚类中心
- 对于聚类结果,需要用所有簇紧密度的平均值来衡量聚类结果的好坏:假设有k个簇: C P = 1 k ∑ i = 1 k C P i CP = {{1}\over{k}} \sum _{i=1}^k CP_i CP=k1i=1∑kCPi 紧密度的值越小,表示簇内样本点点距离越近,即簇内样本点相似度越高
-
分隔度(Seperation)是各簇的聚类中心 c i , c j c_i,c_j ci,cj两两之间的平均距离: S P = 2 k 2 − k ∑ i = 1 k ∑ j = i + 1 k ∣ ∣ c i − c j ∣ ∣ SP = {{2}\over{k^2-k}}\sum_{i=1}^{k} \sum _{j=i+1} ^k ||c_i - c_j|| SP=k2−k2i=1∑kj=i+1∑k∣∣ci−cj∣∣分隔度的值越大,表示各聚类中心互相之间的距离越远,即簇间相似性越低
-
戴维森堡丁指数(DB):衡量任意两个簇的簇内距离之和与簇间距离之比,求最大值。
- 首先定义簇中n个m维样本之间的平均距离avg a v g = 2 n ( n − 1 ) ∑ 1 ≤ i < j ≤ n ∑ t = 1 m ( x i t − x j t ) 2 avg = {{2}\over {n(n-1)}}\sum_{1\leq i < j \leq n} \sqrt{\sum _{t=1}^{m} (x_{it} - x_{jt})^2} avg=n(n−1)21≤i<j≤n∑t=1∑m(xit−xjt)2
- 根据两个簇内样本间的平均距离,可以得出戴维森堡丁指数的计算公式如下,其中ci、cj表示Ci、Cj的聚类中心 D B = 1 k ∑ i = 1 k m a x j ≠ i ( a v g ( c i ) + a v g ( c j ) ∣ ∣ c i + c j ∣ ∣ ) DB = {{1}\over{k}} \sum_{i=1}^k max_{j\neq i} \big( {{avg(c_i)+avg(c_j)}\over{||c_i+c_j||}}\big) DB=k1i=1∑kmaxj=i(∣∣ci+cj∣∣avg(ci)+avg(cj))
- DB的值越小,表示簇内样本之间的距离越小,同时簇间距离越大,即簇内相似度高,簇间相似度低,说明聚类效果越好
-
邓恩指数(DIV): 计算任意两个簇的样本点的最短距离与任意簇中样本点的最大距离之商。
- 假设 聚类结果中有k个簇,七计算公式如下: D I V = m i n x < m ≠ n < k ( m i n DIV = {{min_{x<m \neq n<k \big(min _{}}} \over {}} DIV=minx<m=n<k(min
基于划分的聚类
通过将对象划分为互斥的簇进行聚类,每个对象属于且仅属于一个簇
k均值算法(K-means)
K-均值聚类是计算样本点与类簇质心的距离,与类簇质心相近的样本点划分为同一类簇。k均值通过样本间的距离来衡量他们之间的相似度,两个样本点距离越远,则相似度越底,否则相似度越高
K均值算法步骤
- 首先选取k个类簇(k需要用户指定)的质心,通常是随机选取
- 对剩余的样本点,计算他们到各个质心的欧氏距离,并将其归入到相互间距离最小的质心错在的簇,计算各个簇的质心