首先通过一个实例给出k-means聚类算法。图1中呈现了三种颜色,分别是黑色、灰色和白色。假设它们的灰度值分别是0、150、255。我们的目标是想把三种颜色按色调的相似性把它们分成两类,那么就会有相邻两种颜色聚成一类,另一种颜色单独成一类。首先就需要随机初始化两个数作为聚类的中心。
情况一:随机初始化两个数10(A类)、100(B类),那么黑色属于A类,灰色和白色属于B类,然后调整聚类的中心,A类中心变成0,B类中心变成227.5。然后我们发现三种颜色所属的类别没有发生变化,那么我们就可以认为k-means算法结束了。最后的结果是黑色聚成单独一类,白色和灰色聚成一类。
情况二:随机初始化两个数190(A类)、220(B类),那么黑色和灰色属于A类,白色属于B类,然后调整聚类的中心,A类中心变成75,B类中心变成255。然后我们发现三种颜色所属的类别没有发生变化,那么我们就可以认为k-means算法结束了。最后的结果是白色聚成单独一类,黑色和灰色聚成一类。
通过这个例子可以解释k-means不稳定的原因,因为该算法对于随机初始化中心的依赖性大。为了克服这个问题,我们乘热打铁,接下来引出神经网络的聚类算法——自组织神经网络SOM(self organized map)。
从聚类讲到核函数
最新推荐文章于 2024-07-06 20:40:17 发布
本文通过实例介绍了k-means聚类算法的工作原理,展示了算法对初始中心选择的敏感性,从而引出神经网络中的自组织映射SOM作为解决方案,探讨了聚类算法在处理数据分组问题时的局限性和改进策略。
摘要由CSDN通过智能技术生成