聚类模型的算法性能评价

· 浏览次数 : 5

小编点评

聚类模型是机器学习中不可或缺的一部分,在数据挖掘和模式识别等领域具有广泛应用。聚类算法通过将数据样本划分为若干个具有相似特征的区域,从而揭示数据的内在结构。根据不同的实现策略,聚类算法可以分为基于距离的k-means、基于密度的DBSCAN等。为了评估聚类算法的性能,需要采用合适的评估方法。 聚类算法的性能评估主要分为外部评估法和内部评估法。外部评估法利用已知标签的数据样本来衡量模型的性能,包括纯度、兰德指数(Rand Index, RI)、调整兰德指数(Adjusted Rand Index, ARI)、F值(F-score)、杰卡德系数(Jaccard, JC)、标准化互信息(Normalized Mutual Information, NMI)等。这些指标可以从不同角度反映聚类的质量,例如纯度越高,说明聚类结果越接近实际情况;兰德指数和调整兰德指数则衡量聚类结果的准确性;F值综合考虑了精确度和召回率;杰卡德系数和标准化互信息则关注聚类结果的相似度。 内部评估法则主要利用测试样本本身的信息来衡量模型性能,包括紧密度(Compactness, CP)、间隔度(Separation, SP)、轮廓系数(Silhouette Coefficient, SC)、戴维森堡丁指数(Davies-Bouldin Index, DBI)、邓恩指数(Dunn Validity Index, DVI)等。这些指标从聚类的紧凑度、分离度、轮廓等方面对聚类效果进行评估。 综上所述,聚类算法的性能评估是一个复杂而重要的过程,需要根据具体需求和场景选择合适的评估方法和指标。

正文

一、概述

  作为机器学习领域的重要内容之一,聚类模型在许多方面能够发挥举足轻重的作用。所谓聚类,就是通过一定的技术方法将一堆数据样本依照其特性划分为不同的簇类,使得同一个簇内的样本有着更相近的属性。依不同的实现策略,聚类算法有很多种,如基于距离的k-means、基于密度的DBSCAN等。在聚类完成之后,其性能的评估是一个不可规避的问题,常见的评估方法依有无事先的标记性信息分为外部评估法和内部评估法。

二、评价指标

1.外部评估法

  一种常用的评估方式是外部评估,利用测试样本事先已有的标记信息来衡量模型的性能。常见的外部评估指标有纯度(Purity)、兰德指数(Rand Index, RI)、调整兰德指数(Adjusted Rand Index, ARI)、F值(F-score)、杰卡德系数(Jaccard, JC)、标准化互信息(NMI)等。

(1)纯度

  纯度是一种较直接的性能表征方式,计算的是正确聚类的样本数与总样本数的比值。在聚类完成之后,对每个簇内的样本,假设知晓其事先的标记性属性信息,每个簇中类别数量最多的样本即作为该簇的属性类别,给类别下的样本即纯性样本,各个簇的纯性样本数之和对总样本数的占比即纯度(Purity)。表达式为

\[Purity=\frac{1}{N}\sum_{k}{max_j\left| w_k\cap c_j \right|} \]

  其中,N为总的样本数,\(\Omega=\left\{ w_1,w_2,...,w_K \right\}\)表示聚类簇的划分,\(C=\left\{ c_1,c_2,...,c_J \right\}\) 表示样本真实类别的划分。纯度的取值范围是[0,1],值越大,性能越好。
【示例】
  现对一堆样本进行聚类操作,划分了三个簇,如下所示

  在Cluster A中,三角形最多,因此该簇归属为三角形的簇,有效样本数为5;
  在Cluster B中,圆形最多,因此该簇归属为圆形的簇,有效样本数为4;
  在Cluster C中,正方形最多,因此该簇归属为正方形的簇,有效样本数为4。

  纯度为有效样本数对总样本的占比

\[Purity=\frac{5+4+4}{8+6+6}=\frac{13}{20}=0.65 \]

(2)兰德指数

  对于已有了预先标记信息的情形,可以以与分类模型中相类似的方式进行衡定,明确下列几个概念
   TP(True Positive):同类样本点被划分在同一个簇中的可能情形数;
   FP(False Positive):非同类样本点被划分在同一个簇中的可能情形数;
   TN(True Negative):非同类样本点分布在不同簇中的可能情形数;
   FN(False Negative):同类样本点分布在不同簇中的可能情形数。

  兰德指数就是指准确率,聚类后样本分布的整体准确率,定义为

\[RI=\frac{TP+TN}{TP+FP+TN+FN} \]

(3)调整兰德指数

  对于随机结果,兰德指数并不能保证值接近于零,这与直观上的意义不甚符合,为能够改善这种情况,调整的兰德指数(ARI)被提出。它的表达式为

\[ARI=\frac{RI-E(RI)}{max(RI)-E(RI)} \]

  ARI取值范围为[-1,1],值越接近于1,性能越好;接近于0,相当于随机聚类;接近于-1,性能不如随机聚类。

(4)F值

  这里同样首先借鉴了分类模型中精准度和召回率的概念,然后以F度量进行综合衡定。精准度(Precision)和召回率(Recall)定义为

\[Precision=\frac{TP}{TP+FP} \]

\[Recall=\frac{TP}{TP+FN} \]

  F度量综合衡量精确度(查准率)和召回率(查全率),\(F_\beta\)是F1的一般形式,能让我们表达出对查准率/查全率的不同偏好,如F1分数认为召回率和精确度同等重要,F2分数认为召回率的重要程度是精确度的两倍,而F0.5分数认为召回率的重要程度是精确度的一半。

\[F_1=\frac{2\ast precision \ast recall}{precision+recall} \]

\[F_\beta=\frac{(1+\beta^{2})\ast precision \ast recall}{\beta^2\ast precision + recall} \]

  F度量的取值范围为[0,1],值越大性能越好。

(5)杰卡德系数

  杰卡德系数(Jaccard, JC)定义为聚类结果正确的样本数与聚簇结果或实际结果一致的比例,取值范围为0到1。表达式为

\[JC=\frac{TP}{TP+FP+FN} \]

  杰卡德系数值越大,性能越好。

(6)标准化互信息

  这里首先介绍一下互信息(Mutual Information)的概念,它反映了两个事件相互影响所产生的信息量。设两个随机变量(X,Y)的联合分布为p(x,y),边缘分布分别为p(x),p(y),互信息I(X; Y)是联合分布p(x,y)与边缘分布p(x)p(y)的相对熵,即

\[I\left( X;Y \right)=\sum_{x\in X}{\sum_{y\in Y}{p\left( x,y \right)log\frac{p(x,y)}{p(x)p(y)}}} \]

  标准化互信息(Normalized Mutual Information, NMI)计算表达式为

\[NMI=\frac{I\left( X,Y \right)}{F\left( H(x),H(y) \right)} \]

  其中F(x,y)可以为min/max函数、几何平均或算术平均,几何平均即\(F\left( x_1,x_2 \right)=\sqrt{x_1\cdot x_2}\) ,算术平均即\(F\left( x_1,x_2 \right)=\frac{x_1+x_2}{2}\),采用算术平均是比较常见的一种计算方式,此时NMI表达式可化为

\[NMI=\frac{2\cdot I\left( X,Y \right)}{H\left( X \right)+H\left( Y \right)} \]

  其中,I(X,Y)为互信息,\(H\left( X \right)=-\sum_{i}{p(x_i)logp(x_i)}\)\(H\left( Y \right)=-\sum_{j}{p(y_j)logp(y_j)}\)为信息熵。

2.内部评估法

  另一种常用的评估方式是内部评估,利用测试样本本身的信息衡量模型性能。常见的内部评估指标有紧密度(Compactness, CP)、间隔度(Separation, SP)、轮廓系数(Silhouette Coefficient, SC)、戴维森堡丁指数(Davies-Bouldin Index, DBI)、邓恩指数(Dunn Validity Index, DVI)等。

(1)紧密度

  紧密度(Compactness, CP)是指簇内各点到聚类中心的平均距离,值越小说明簇内紧密度越高

\[CP=\frac{1}{n}\sum_{i=1}^{n}{\left| x_i-\mu \right|} \]

(2)间隔度

  间隔度(Separation, SP)指各个聚类中心之间的平均距离,值越高表明类间距离越大

\[SP=\frac{1}{k^2}\sum_{i=1}^{k}{\sum_{j=1}^{k}{\left| \left| \mu_i-\mu_j \right| \right|_2}} \]

(3)轮廓系数

  对单个样本,设a是其与同簇中其他样本的平均距离,b是与它距离最近的不同簇类中样本的平均距离,轮廓系数为

\[s=\frac{b-a}{max\left( a,b \right)} \]

  样本集合的轮廓系数是各样本轮廓系数的平均值

\[SC=\frac{1}{n}\sum_{i=1}^{n}{s_i} \]

  轮廓系数的取值范围是[-1,1],取值越接近1聚类性能越好,反之越差。

(4)戴维森堡丁指数

  对于两个簇的样本而言,各自簇内平均距离之和除以两簇中心的距离,称为簇间相似度,簇间相似度越小说明簇内距离越小、簇间距离越大,效果越好。对所有的簇,分别找到与之聚类效果最差那个簇的簇间相似度,然后求平均值,即为戴维森堡丁指数(DBI)的定义。表达式为

\[DBI=\frac{1}{N}\sum_{i=1}^{N}{\max_{j\ne i}{\left[ \frac{\sigma_i+\sigma_j}{d\left( c_i,c_j \right)} \right]}} \]

  其中,\(\sigma_i=\frac{1}{n_i}\sum_{k=1}^{n_i}{x_k-\mu_i}\)\(\sigma_j=\frac{1}{n_j}\sum_{k=1}^{n_j}{x_k-\mu_j}\)\(d\left( c_i,c_j \right)=\left| \left| \mu_i-\mu_j \right| \right|_2\)
易知,DBI值越小,表明聚类效果越好,反之越差。

(5)邓恩指数

  邓恩指数定义为两簇之间最小的那个簇间距离与各簇中最大的那个簇内距离的比值。表达式为

\[DVI=\frac{min_{1\leq i\ne j\leq N}d\left( \mu_i,\mu_j \right)}{max_{1\leq k \leq N} d_{intra}(k)} \]

  其中,簇间距离指两个簇的质心之间的距离,对于维度为D的样本集有

\[d\left( \mu_i,\mu_j \right)=\sqrt{\sum_{d=1}^{D}{\left( \mu_{i}^{(d)}-\mu_{j}^{(d)} \right)^2}} \]

  簇内距离是簇内各样本到质心的平均距离,对于一个簇S,若质心为c,则它的簇内距离表达式为

\[d_{intra}=\frac{1}{|S|}\sum_{s=1}^{|S|}{d\left( x_s,c \right)} \]

  因簇间距离越大、簇内距离越小时聚类效果越好,所以邓恩指数越大,性能越好。


End.


pdf下载

与聚类模型的算法性能评价相似的内容:

聚类模型的算法性能评价

一、概述 作为机器学习领域的重要内容之一,聚类模型在许多方面能够发挥举足轻重的作用。所谓聚类,就是通过一定的技术方法将一堆数据样本依照其特性划分为不同的簇类,使得同一个簇内的样本有着更相近的属性。依不同的实现策略,聚类算法有很多种,如基于距离的k-means、基于密度的DBSCAN等。在聚类完成之后

算法金 | 一文读懂K均值(K-Means)聚类算法

​大侠幸会,在下全网同名[算法金] 0 基础转 AI 上岸,多个算法赛 Top [日更万日,让更多人享受智能乐趣] 1. 引言 数据分析中聚类算法的作用 在数据分析中,聚类算法用于发现数据集中的固有分组,通过将相似对象聚集在一起来揭示数据的结构和模式。这种方法常用于市场细分、社交网络分析、组织复杂数

K-means聚类是一种非常流行的聚类算法

K-means聚类是一种非常流行的聚类算法,它的目标是将n个样本划分到k个簇中,使得每个样本属于与其最近的均值(即簇中心)对应的簇,从而使得簇内的方差最小化。K-means聚类算法简单、易于实现,并且在许多应用中都非常有效。 K-means算法的基本步骤: 选择初始中心:随机选择k个样本点作为初始的

聊聊日志聚类算法及其应用场景

阅读《[基于 Flink ML 搭建的智能运维算法服务及应用](https://mp.weixin.qq.com/s/yhXiQtUSR4hxp9XWrkiiew "基于 Flink ML 搭建的智能运维算法服务及应用")》一文后,对其中日志聚类算法有了些思考。 ### 概述 日志聚类,简而言之是对

基于K-means聚类算法进行客户人群分析

摘要:在本案例中,我们使用人工智能技术的聚类算法去分析超市购物中心客户的一些基本数据,把客户分成不同的群体,供营销团队参考并相应地制定营销策略。 本文分享自华为云社区《基于K-means聚类算法进行客户人群分析》,作者:HWCloudAI 。 实验目标 掌握如何通过机器学习算法进行用户群体分析; 掌

【Python】基于动态规划和K聚类的彩色图片压缩算法

引言 当想要压缩一张彩色图像时,彩色图像通常由数百万个颜色值组成,每个颜色值都由红、绿、蓝三个分量组成。因此,如果我们直接对图像的每个像素进行编码,会导致非常大的数据量。为了减少数据量,我们可以尝试减少颜色的数量,从而降低存储需求。 1.主要原理 (一)颜色聚类(Color Clustering):

物以类聚人以群分,通过GensimLda文本聚类构建人工智能个性化推荐系统(Python3.10)

众所周知,个性化推荐系统能够根据用户的兴趣、偏好等信息向用户推荐相关内容,使得用户更感兴趣,从而提升用户体验,提高用户粘度,之前我们曾经使用协同过滤算法构建过个性化推荐系统,但基于显式反馈的算法就会有一定的局限性,本次我们使用无监督的Lda文本聚类方式来构建文本的个性化推荐系统。 推荐算法:协同过滤

【matplotlib 实战】--平行坐标系

平行坐标系是一种统计图表,它包含多个垂直平行的坐标轴,每个轴表示一个字段,并用刻度标明范围。通过在每个轴上找到数据点的落点,并将它们连接起来形成折线,可以很容易地展示多维数据。随着数据增多,折线会堆叠,分析者可以从中发现数据的特性和规律,比如发现数据之间的聚类关系。 尽管平行坐标系与折线图表面上看起

[转帖]聚簇索引和非聚簇索引的区别

转载:Mysql的InnoDB索引深层次原理解析 转载请注明来源:https://www.cnblogs.com/bugutian/

小白也能懂的Mysql数据库索引详解

核心概念 主键索引/二级索引 聚簇索引/非聚簇索引 回表/索引覆盖 索引下推 联合索引/最左联合匹配 前缀索引 explain 一、[索引定义] 1.索引定义 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法