参考资料
《机器学习》——周志华
(1)目的
聚类试图将样本划分为若干通常不相交的子集。
(2)符号描述
(1)目的
根据是否需要参考模型,可以将指标分为外部指标(external index)和内部指标(internal index)。
标准: 准确率(贴合情况)
对数据集 D = { x 1 , x 2 , ⋯ , x m } D=\{x_1,x_2,\cdots,x_m\} D={x1,x2,⋯,xm}通过聚类给回的簇划分为 C = { C 1 , C 2 , ⋯ , C k } C=\{C_1,C_2,\cdots,C_k\} C={C1,C2,⋯,Ck},参考模型给出的簇划分为 C ∗ = { C 1 ∗ , C 2 ∗ , ⋯ , C s ∗ } C^*=\{C^*_1,C^*_2,\cdots,C^*_s\} C∗={C1∗,C2∗,⋯,Cs∗}。令 λ , λ ∗ \lambda,\lambda^* λ,λ∗为对应的样本簇标记向量。
理解:
(1)Jaccard系数
J C = a a + b + c JC= \frac{a}{a+b+c} JC=a+b+ca
(2)FM指数
F M I = a a + b × a a + c FMI=\sqrt{\frac{a}{a+b} \times \frac{a}{a+c}} FMI=a+ba×a+ca
(3)Rand指数
R I = 2 ( a + d ) m ( m − 1 ) RI=\frac{2(a+d)}{m(m-1)} RI=m(m−1)2(a+d)
标准: 簇内相似度高、簇间相似度低
定义四个簇划分指标,再利用指标度量内部指标。
簇内样本的平均距离
a v g ( C ) = 2 ∣ C ∣ ( ∣ C − 1 ∣ ) ∑ 1 ≤ i ≤ j ≤ ∣ C ∣ d i s t ( x i , x j ) avg(C) = \frac{2}{|C|(|C-1|)} \sum_{1 \leq i \leq j \leq |C|}dist(x_i,x_j) avg(C)=∣C∣(∣C−1∣)21≤i≤j≤∣C∣∑dist(xi,xj)
簇内样本的最远距离
d i a m ( C ) = max 1 ≤ i ≤ j ≤ ∣ C ∣ d i s t ( x i , x j ) diam(C) = \max_{1 \leq i \leq j \leq |C|} dist(x_i,x_j) diam(C)=1≤i≤j≤∣C∣maxdist(xi,xj)
簇间样本的最短距离
d m i n ( C i , C j ) = min x i ∈ C i , x j ∈ C j d i s t ( x i , x j ) d_{min}(C_i,C_j) = \min_{x_i \in C_i,x_j \in C_j} dist(x_i,x_j) dmin(Ci,Cj)=xi∈Ci,xj∈Cjmindist(xi,xj)
簇间中心点的距离
d c e n ( C i , C j ) = d i s t ( μ i , μ j ) d_{cen}(C_i,C_j) = dist(\mu_i,\mu_j) dcen(Ci,Cj)=dist(μi,μj)
(1)DB指数(DBI)
D B I = 1 k ∑ i = 1 k max j ≠ i a v g ( C i ) + a v g ( C j ) d c e n ( C i , C j ) DBI=\frac{1}{k} \sum_{i=1}^k \max_{j \neq i} \frac{avg(C_i)+avg(C_j)}{d_{cen}(C_i,C_j)} DBI=k1i=1∑kj=imaxdcen(Ci,Cj)avg(Ci)+avg(Cj)
(2)Dunn指数(DI)
D I = min 1 ≤ i ≤ k { min j ≠ i ( d m i n ( C i , C j ) max 1 ≤ l ≤ k d i a m ( C l ) ) } DI = \min_{1 \leq i \leq k} \{\min_{j \neq i}(\frac{d_{min}(C_i,C_j)}{\max_{1 \leq l \leq k}diam(C_l)}) \} DI=1≤i≤kmin{j=imin(max1≤l≤kdiam(Cl)dmin(Ci,Cj))}
举例:{1, 2, 3}中1与2比1与3接近。可以根据次序进行距离度量
(1)闵可夫斯基距离
当P=1时,变成曼哈顿距离
d i s t ( x i , x j ) = ∑ u = 1 n ∣ x i u − x j u ∣ dist(x_i,x_j) = \sum_{u=1}^n |x_{iu}-x_{ju}| dist(xi,xj)=u=1∑n∣xiu−xju∣
当P=2时,变成欧氏距离
d i s t ( x i , x j ) = ∑ u = 1 n ∣ x i u − x j u ∣ 2 dist(x_i,x_j) =\sqrt{ \sum_{u=1}^n |x_{iu}-x_{ju}|^2} dist(xi,xj)=u=1∑n∣xiu−xju∣2
举例:{飞机,火车,轮船}中没办法按照次序进行距离度量。
(1)VDM
令 m u , a m_{u,a} mu,a表示属性u上取值为a的样本数, m u , a , i m_{u,a,i} mu,a,i表示在第i个簇中属性u上取值为a的样本数。则a,b两个离散属性的VDM距离为:
V D M p ( a , b ) = ∑ i = 1 k ∣ m u , a , i m u , a − m u , b , i m u , b ∣ p VDM_p(a,b) = \sum_{i=1}^k |\frac{m_{u,a,i}}{m_{u,a}}-\frac{m_{u,b,i}}{m_{u,b}}|^p VDMp(a,b)=i=1∑k∣mu,amu,a,i−mu,bmu,b,i∣p
理解:无序属性距离的计算需要提前知道簇划分吗?
假设前 n c n_c nc个为有序属性,后面为无需属性。
(1)优化目标
解决上述目标为NP难问题,因此通过迭代优化近似求解。
理解: 通过最小化簇内均值选择聚合中心位置。
(1)优化目标
对于任意样本x,它将被划入距离最近的原形向量所代表的簇中。需要使标记相同的靠拢,标记不同的远离。
p ′ = p i ∗ + η × ( x j − p i ∗ ) 靠 近 p ′ = p i ∗ − η × ( x j − p i ∗ ) 远 离 p i ∗ = p ′ p'=p_{i^*} + \eta \times (x_j-p_{i^*}) \ 靠近 \\ p'=p_{i^*} - \eta \times (x_j-p_{i^*}) \ 远离 \\ p_{i^*} = p' p′=pi∗+η×(xj−pi∗) 靠近p′=pi∗−η×(xj−pi∗) 远离pi∗=p′
初始化原型向量及其标签
选取样本计算得到与之距离最近的原型向量。
根据标签是否相同,使原型向量拉近或者远离样本。直到达到最大迭代轮数。
理解: 使原型向量靠拢相同标记样本,原理不同标记样本,实现聚类。
此类算法假设聚类结构能通过样本分布的紧密程度确定。
(1)定义
DBSCAN基于一组邻域参数 ( ϵ , M i n P t s ) (\epsilon,MinPts) (ϵ,MinPts)刻画样本分布的紧密程度。给定数据集定义一下概念:
(2)算法
AGNES是一种自底向上聚合策略的层次聚类算法。它的核心思想是找到距离最近的两个簇合并,知道达到预设的聚类数目。
(1)类别
根据如何计算两个簇间的距离(集合间的距离),可以划分为三种类别:
先验知识: 贝叶斯分类,后续更新。