K-means 怎么选 K ?

K-means 怎么选 K ?

这个问题咱们能够回到 K-means 或是 Cluster 方法的核心目标:算法

同一群里的资料同质性高,不一样群的资料同质性低。3d

这边的同质性高会以「距离」做为指标,也就能够换句话说:cdn

同一群里内的距离近,不一样群间的距离远。blog

基于这个概念,提供两种方式来挑选 K:ci

1. 手肘法(elbow method)

其概念是基于 SSE(sum of the squared errors,偏差平方和)做为指标,去计算每个群中的每个点,到群中心的距离。算法以下:get

其中总共有 K 个群, Ci 表明其中一个群,mi 表示该群的中心点。it

根据 K 与 SSE 做图,能够从中观察到使 SSE 的降低幅度由「快速转为平缓」的点,通常称这个点为拐点(Inflection point),咱们会将他挑选为 K。由于该点能够确保 K 值由小逐渐递增时的一个集群效益,所以适合做为分群的标准。io

2. 轮廓系数法(Silhouette Coefficient)

轮廓系数法的概念是「找出相同群凝聚度越小、不一样群分离度越高」的值,也就是知足 Cluster 一开始的目标。其算法以下:class

其中,凝聚度(a)是指与相同群内的其余点的平均距离;分离度(b)是指与不一样群的其余点的平均距离。 S 是指以一个点做为计算的值,轮廓系数法则是将全部的点都计算 S 后再总和。 S 值越大,表示效果越好,适合做为 K。集群

结论

从上面的例子来讲,轮廓系数法容易找出区域最佳解,所以实务上会搭配不一样的方法相互参考。


License

本著做由Chang Wei-Yaun (v123582)制做, 以创用CC 姓名标示-相同方式分享 3.0 Unported受权条款释出。

相关文章
相关标签/搜索