机器学习 周志华 个人实践 9.4
发布时间
阅读量:
阅读量
基于西瓜数据集4.0设计并实现k均值聚类算法,并选取三个不同数量的聚类簇(k=2,5,8),设定三组不同的初始质心位置,在西瓜数据集4.0上进行实验分析。通过对比不同起始质心对算法效果的影响,探讨不同起始质心对算法效果的影响机制。
基于k均值算法的迭代公式推导可知,在二维空间中这些质心的位置直接由其几何位置决定的一条垂直平分线作为聚类界限。然而在数据样本数量有限的情况下很容易陷入局部最优解而导致算法在数据较少的情况下收敛速度加快。通过实际运行代码分析发现通常认为获得较好的聚类效果意味着各数据点应尽可能远离各自的聚类界限同时最终形成的各个聚类中心之间应尽可能分开。从算法机制的角度来看由于每次更新都采用数据集均值计算的方式进行调整因此质心会倾向于向样本分布密集度较高的方向移动以便更好地捕捉核心区域的数据特征。因此为了获得较为合理的聚类结果在选择初始质心时建议尽可能均匀地覆盖不同高密度区域以减少陷入局部最优的可能性从而提高整体分类效果
本题中的算法相对较为简单,在这种情况下若直接使用与书中相同的初始中心点,则该算法会过早地收敛;由此可见,在这种情况下书中所提供的实例存在缺陷。
另外,在这个题目中发现原来可以用matplotlib绘制动态图像。具体来说可以通过在animation模块中使用ArtistAnimation或FuncAnimation类来实现这些功能。然而我发现直接导出g
全部评论 (0)
还没有任何评论哟~
