聚类问题评估标准有哪些?
在聚类任务中,常见的评价指标有:纯度(Purity)、兰德系数(Rand Index, RI)、F值(F-score)和调整兰德系数(Adjusted Rand Index,ARI) 、轮毂系数(Silhouette Coefficient ).
聚类算法有哪些?
聚类问题大体上分三类,基于原型的 KMEANS KMEANS++,基于层次聚类AgglomerativeClustering, BIRCH, 基于密度DBSCAN
K中心点和KMEANS算法有哪些区别?
质心的计算方式不同
K-Means聚类算法更新聚簇中心的时候直接计算均值,以均值点作为新的中心,可能是样本点中不存在的点;而K-Mediods更新聚簇中心是计算每一个点到簇内其他点的距离之和,选择距离和最小的点来作为新的聚簇中心,质心必须是某些样本点的值。
K-Mediods可以避免数据中的异常值带来的影响。
如一个二维的样本集划分的簇是{(1,1),(1,2),(2,1),(1000,1000)},其中(1000,1000)是噪声点。按照K-Means算法,该样本集的质心则为(502,502),但这个新的质心并不是该样本集大多数正常样本点围绕的中心;如果是选择K-Medoids就可以避免这种情况,它会在{(1,1),(1,2),(2,1),(1000,1000)}中选出一个样本点使它到其他所有点的距离之和绝对误差最小,计算可知一定会在前三个点中选取。
质心的计算复杂度更高:在质心的选取上,K-Means只需要计算每个划分的簇均值中心点获得新的质心,而K-Medoids需要计算每个簇任两点之间的距离,再对每个距离进行比较获取新的质心,计算复杂度增加,运行速度会较慢;
稳定性更高、执行速度变慢:对于有异常值的小样本量数据集, K-Mediods比K-Means效果更稳定,但是随着数据集规模增加,K-Mediods算法的执行速度会慢很多;
如果数据集本身不存在特别多的异常值,也不需要使用K-Mediods替代K-Means。
计算两个组合数据点间距离常用的方法
Single Linkage是将两个簇中最近的两个点间的距离作为这两个组合数据点的距离,该方法易受极端值的影响,两个不相似的点可能由于其中的某个极端的点距离较近而组合在一起。
Complete Linkage与Single Linkage相反,将两个簇中距离最远的两个点间的距离作为这两个簇的距离,Complete Linkage的问题也与Single Linkage相反,两个相似的点可能某个点原先所在的簇中有极端值而无法组合在一起。
Average Linkage的计算方法是计算两个簇中的每个点与其他所有点的距离并将所有距离的均值作为两个组合数据点间的距离,此方法计算量比较大,但结果比前两种方法更合理。
DBSCAN算法优缺点
DBSCAN的优点:
可以解决数据分布特殊(非凸, 互相包络,长条形等)的情况。
对于噪声不敏感 ,速度较快,不需要指定簇的个数;可适用于较大的数据集。
在邻域参数给定的情况下结果是确定的,只要数据进入算法的顺序不变,与初始值无关。
缺点:
因为对整个数据集我们使用的是一组邻域参数 ,簇之间密度差距过大时效果不好。
数据集较大的时候很消耗内存。
对于高维数据距离的计算会比较麻烦,造成维数灾难。