【AI原理解析】—k-means原理

目录

步骤

注意事项

优点

缺点


步骤

  1. 初始化 :
    • 选择 k 个初始质心(通常通过随机选择数据集中的 k 个点作为初始质心)。
  2. 迭代过程 :
    • 分配数据点到最近的质心 :
      • 对于数据集中的每个数据点,计算它与 k 个质心之间的距离(例如,使用欧几里得距离)。
      • 将数据点分配给距离其最近的质心所对应的聚类。
    • 重新计算质心 :
      • 对于每个聚类,计算该聚类中所有数据点的均值(平均值),并将这个均值设为新的质心。
    • 检查收敛 :
      • 重复上述两个步骤,直到达到某个停止条件(例如,质心的变化小于某个阈值,或者达到预设的迭代次数)。
  3. 结果输出 :
    • 最终的聚类结果和每个聚类的质心。

效果评估方法

  • SSE(Sum of Squared Errors):计算每个样本与其所属簇中心点的距离的平方和。SSE值越小,表示聚类效果越好。
  • 轮廓系数(Silhouette Coefficient):综合考虑了样本之间的紧密度和分离度。轮廓系数越接近于1,表示聚类效果越好。

注意事项

  • k 的选择 :k 的值需要预先设定,而且不同的 k 值可能会导致不同的聚类结果。因此,k 的选择通常基于领域知识、数据的可视化或一些启发式方法(如肘部法则)。
    • 手肘法:通过绘制不同k值下的代价函数曲线,选择曲线趋于平稳前的拐点作为最佳k值。
    • Gap Statistic方法:通过计算真实样本和随机样本在不同k值下的损失函数差值(Gap值),选择使Gap值最大的k值作为最佳k值。
  • 初始质心的选择:随机选择初始质心可能会导致不同的聚类结果。为了解决这个问题,可以使用一些更复杂的初始化方法,如 K-means++。
  • 对异常值的敏感性:由于质心是基于所有数据点的均值计算的,因此异常值可能会对聚类结果产生较大影响。
  • 空聚类:在某些情况下,可能会出现某些聚类中没有数据点的情况。这通常是由于初始质心的选择不当或 k 值设置得过大导致的。
  • 迭代次数和收敛条件:需要设置适当的迭代次数和收敛条件来确保算法能够稳定地收敛。
  • 数据的预处理:在应用 k-means 算法之前,通常需要对数据进行一些预处理操作,如特征缩放、标准化或归一化,以确保不同的特征在聚类过程中具有相同的权重。

优点

  • 简单易懂,易于实现。
  • 在很多情况下都能得到较好的聚类结果。

缺点

  • 需要预先设定 k 的值。
  • 对初始质心的选择敏感。
  • 对异常值敏感。
  • 可能会陷入局部最优解。
相关推荐
JackLam1 小时前
AI-安装ChatGpt Codex
人工智能
强哥聊算力1 小时前
《算力江湖·英伟达传奇》第七集:ChatGPT出现前夜,英伟达发生了什么?
服务器·人工智能·算法·ai·chatgpt·gpu算力
吴佳浩2 小时前
Run:ai 开源了,我把 GPU 编排摆回 AI 栈里看了一遍
人工智能
IT_Octopus3 小时前
【零基础入门 LLM 开发 · Day 13】:LangChain 的对话记忆——Message 对象版
人工智能·python·langchain
2603_965148114 小时前
社区与学习资源:从入门到精通的API选品学习路径
数据库·人工智能·python·学习·数据挖掘
LiuPig刘皮哥4 小时前
2026年开源3D陪玩对比:xiaoke.ai、AIRI、Open-LLM-VTuber、Amica 有什么、没有什么
人工智能·3d·开源
西柚小萌新4 小时前
【岗位面试】--成都博维数孪 - 工业 AI 解决方案顾问
人工智能·面试·职场和发展
Luminbox紫创测控4 小时前
车载LiDAR强光测试的实验设计方法与数据分析
人工智能·数据挖掘·数据分析·车载系统·安全性测试·太阳光模拟器
硅谷秋水5 小时前
CommitFlow:面向长时程机器人操作 VLA 执行的语义承诺验证与局部修正
机器学习·计算机视觉·语言模型·机器人
建筑工程企业管理系统5 小时前
工程进度统计管理系统自动化汇总数据,解决施工企业手工对账误差难题
大数据·人工智能·自动化