Initializing K-means|初始化K-means


这是我在我的网站中截取的文章,有更多的文章欢迎来访问我自己的博客网站rn.berlinlian.cn,这里还有很多有关计算机的知识,欢迎进行留言或者来我的网站进行留言!!!


**一、**K-means 初始化的定义

K-means 的初始化是指在算法开始时,随机选择 KK 个数据点作为初始聚类中心。之后,算法会不断迭代,逐步调整这些中心的位置。

通俗理解:

先随便挑几个点当"代表",再通过不断"重新选代表",让每个小组里的成员和代表越来越接近。


**二、**K-means 初始化过程

  • 左侧文字部分

    1. 选择聚类数 K<m,其中 m 是样本数量。

    2. 随机挑选 K 个训练样本。

    3. 将这 K 个样本作为初始聚类中心 μ1,μ2,...,μk。

  • 右侧图示部分

    • 上图:黑点表示训练样本,红圈和蓝圈中各随机选出一个样本作为初始中心(红叉、蓝叉)。

    • 下图:红叉和蓝叉标记了两个被随机选出的初始聚类中心,其余黑点是待聚类的样本。


**三、**不同初始化的 K-means 聚类结果

  • 左侧:黑点为数据;标注 K=3。底部的 J(c(1),...,c(m),μ1,...,μK) 表示 K-means 的目标函数(由分配 c(i) 和中心 μk 决定)。

  • 右上(J1):出现三个紧凑的小簇(蓝/绿/红),每簇中心用"×"标出,辐射线连接到各自中心,蓝色大圈强调这一聚类结果对应的目标值为 J1。

  • 右下左(J2):多数样本被分到蓝簇,连线较长、形状拉伸,表示另一种初始化得到的聚类与其目标值 J2。

  • 右下右(J3):红簇沿水平方向分布较散,中心在中间(红"×"),蓝/绿簇在远处,表示第三种结果与其目标值 J3。

要点:同一数据、同一 K,不同初始化产生不同的簇划分与不同的目标值 J1,J2,J3;图中用蓝圈标出的结果表示被选中的那个。


**四、**K-means 的多次随机初始化与最小代价选择

  • 顶部:For i = 1 to 100(图中注记:可做 50--1000 次)------表示进行多次随机尝试。

  • 步骤1:Randomly initialize K-means. 用 k 个随机样本作为初始中心。

  • 步骤2:Run K-means. 运行到收敛,得到分配 c(1),...,c(m) 与中心 μ1,...,μK。

  • 步骤3:Compute cost function (distortion) 计算代价 J(c(1),...,c(m),μ1,...,μK)。

  • 大括号外:Pick set of clusters that gave lowest cost J ------从所有尝试中选取代价 J最小的聚类结果作为最终结果。


这是我在我的网站中截取的文章,有更多的文章欢迎来访问我自己的博客网站rn.berlinlian.cn,这里还有很多有关计算机的知识,欢迎进行留言或者来我的网站进行留言!!!


相关推荐
武子康几秒前
Java-167 Neo4j CQL 实战:CREATE/MATCH 与关系建模速通 案例实测
java·开发语言·数据库·python·sql·nosql·neo4j
一如年少模样丶2 分钟前
AI 智能体的终极记忆方案?来认识一下 Graphiti
人工智能
机器学习之心6 分钟前
NRBO-XGBoost+SHAP分析+新数据预测!机器学习可解释分析不在发愁!提供9种混沌映射方法(tent、chebyshev、singer等)
人工智能·机器学习·nrbo-xgboost
upward_tomato8 分钟前
python中模拟浏览器操作之playwright使用说明以及打包浏览器驱动问题
开发语言·python
天天讯通9 分钟前
医院慢病电话随访:AI 问血压→异常转医生,0 人工
人工智能
陌路2011 分钟前
S19 哈希--6种哈希构造方法
算法·哈希算法
为你写首诗ge11 分钟前
【python】python安装使用pytorch库环境配置
pytorch·python
散峰而望16 分钟前
C++入门(算法) - 习题
开发语言·c++·算法·github
张较瘦_17 分钟前
[论文阅读] 生成式人工智能嵌入对公众职业安全感冲击的影响机理及防范对策
论文阅读·人工智能
这张生成的图像能检测吗18 分钟前
(论文速读)Regor - 渐进式对应点再生实现鲁棒3D配准
人工智能·算法·计算机视觉·配准·3d点云