机器学习里的一些小概念
轮廓系数
轮廓系数(Silhouette Coefficient),是聚类效果好坏的一种评价方式。最早由 Peter J. Rousseeuw 在 1986 提出。 它结合内聚度和分离度两种因素。可以用来在相同原始数据的基础上用来评价不同算法、或者算法不同运行方式对聚类结果所产生的影响。
计算过程
假设我们已经通过一定算法,将待分类数据进行了聚类。 常用的比如使用K-means,将待分类数据分为了k个簇。 对于簇中的每个向量。分别计算它们的轮廓系数。 对于其中的一个点 i 来说:
- 计算 a(i) = average(i向量到所有它属于的簇中其它点的距离)
- 计算 b(i) = min(i向量到所有其他簇的点的平均距离)
那么i向量轮廓系数就为: {% raw %} $$ S(i) = \frac{b(i) - a(i)}{max{a(i), b(i)}} $$ {% endraw %}
判断
可见轮廓系数的值是介于 [-1,1] ,越趋近于1代表内聚度和分离度都相对较优。将所有点的轮廓系数求平均,就是该聚类结果总的轮廓系数。
- a(i) :i向量到同一簇内其他点不相似程度的平均值
- b(i) :i向量到其他簇的平均不相似程度的最小值
- S(i)接近1,则说明样本i聚类合理;
- S(i)接近-1,则说明样本i更应该分类到另外的簇;
- 若S(i)近似为0,则说明样本i在两个簇的边界上。