• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Robin_Yao_Wenbin

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

kmeans聚类详解

 

今天看了多元统计分析的聚类分析一章,终于算是对聚类分析有点理解了。
Kmeans聚类是最简单的快速聚类方法了,目标就是按照给定的K,将所有样本按照类内尽可能紧凑,类间尽可能松散的原则来组织,得到k个簇。
聚类方法:
(1)从n个数据对象中取k个对象作为初始簇中心;
(2)循环下述流程(3)到(4),直到每个聚类不再发生变化为止。
(3)根据每个簇中对象的均值(中心对象),计算每个对象与这些对象的距离,并根据最小距离重新对相应对象进行划分。
(4)重新计算每个(有变化)簇的均值。
——摘自《多元统计分析及R语言建模》王斌会
但是看这个有个疑问,上述提到的每个聚类不再发生变化为什么就恰好是目标函数最优呢?(平方误差准则)
在阅读了博文:https://blog.csdn.net/taoyanqi8932/article/details/53727841
后有所理解:
kmeans算法中有两个关键的东西,一个是分配函数或者说是距离度量,也就是说每次依据什么来划分;第二个是目标函数,也就是最后要达到的聚类目标是什么,比如kmeans就是类间差异大,类内相似性大。
但是这还是没有解释为什么迭代完成,也就是中心不再变化,就等价于目标函数最优化的问题。
原因如下:来自上述链接的博文
通过对目标函数的分析,我们发现只要令每次迭代过程中都取均值为质心,就相当于在不断的使目标函数优化,这样一来就解释了前面的问题,当聚类中心不再改变时也就是目标函数最优化了。

 

posted on 2018-12-09 16:45  Robin_Yao_Wenbin  阅读(809)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3