聚类模型

  聚类模型,就是将样本划分为有类似的对象组成的多个类的过程。聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计、分析或预测;也可以探究不同类之间的相关性和主要差异。此外,聚类与分类的群别在于分类是已知类别的,而聚类是未知的。


文章目录

  • 聚类模型
  • 一、K-means聚类算法
    • 1. 流程
    • 2. 图解 K-means
    • 3. 算法的缺点
  • 二、K-means++算法
    • 1. 流程
    • 2. 图解
    • 3. 算法的缺点
    • 4. SPSS 操作
  • 三、模型总结

一、K-means聚类算法

1. 流程

  1. 指定需要划分的簇的个数K值(类的个数);
  2. 随机地选择K个数据对象作为初始的聚类中心(不一定要是我们的样本点);
  3. 计算其余的各个数据对象到这K个初始聚类中心的距离,把数据对象划归到距离它最近的那个中心所处在的簇类中;
  4. 调整新类并且重新计算出新类的中心;
  5. 循环步骤三和四,看中心是否收敛(不变),如果收敛或达到迭代次数则停止循环;
  6. 结束。

2. 图解 K-means


3. 算法的缺点

  • 要求用户必须事先给出要生成的簇的数目k
  • 对初值敏感
  • 对于孤立点数据敏感

二、K-means++算法

  K-means++算法选择初始聚类中心的基本原则是:初始的聚类中心之间的相互距离要尽可能的远。


1. 流程

  1. 随机选取一个样本作为第一个聚类中心;
  2. 计算每个样本与当前已有聚类中心的最短距离(即与最近一个聚类中心的距离),这个值越大(距离越大),表示被选取作为聚类中心的概率较大;最后,用轮盘法(依据概率大小来进行抽选)选出下一个聚类中心;
  3. 重复步骤二,直到选出 K 个聚类中心。选出初始点后,就继续使用标准的 K-means 算法了。

2. 图解

  假设平面内存在5个点,随机选取 A 为聚类中心作为第一个聚类中心, 计算其余 4 个样本与当前聚类中心的最短距离,这个值越大,表示被选取作为聚类中心的概率较大(如图1)。利用轮盘法选择 D 作为第二个聚类中心(也可以选择E)。选择 D 作为第二个聚类中心,求第一个聚类中心 A 与第二个聚类中心 D 的重心,并将其作为一个虚拟的聚类中心,求其他三个点B、C、E到 虚拟聚类中心 的距离,并计算相对的概率(如图2),并用轮盘法选择下一个聚类中心… 直到选择出 K 个聚类中心然后进行 K-means 算法。

    


3. 算法的缺点

  1. K-means++算法虽解决了 K-means 算法的初值敏感、边界值敏感两种问题。但 K 还是需要手动选取,所以 K 应该取决于个人的经验与感觉,多尝试几组即可。
  2. 量纲不一致,也会出现问题,因此,需要用以下公式进行演算。zi=(xi-x平均)/x标准差,即减去均值再除以标准差。 即可消除量纲影响,当然也可以用 SPSS 进行操作。

4. SPSS 操作

   分析 → 分类 → K-均值聚类,这里默认使用 K-means++算法。保存和选项的勾选项如下图:
  
  


三、模型总结

  1. K-means 算法对分类问题的处理简单、快速,而且对处理大数据集,该算法是相对高效率的。
  2. K-means++算法对K-means算法初始化K个聚类中心这一步进行了优化,但是确定 K 值还需要进一步讨论。实际上对 K 值的选取,应用层次聚类可以解决。

  本文借鉴了数学建模清风老师的课件与思路,如果大家发现文章中有不正确的地方,欢迎大家在评论区留言,也可以点击查看下方链接查看清风老师的视频讲解~

原文链接:https://www.bilibili.com/video/BV1DW411s7wi

清风数学建模学习笔记——K-means聚类模型详解及SPSS操作流程相关推荐

  1. 清风数学建模学习笔记——系统(层次)聚类原理详解及案例分析

    系统聚类   系统聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到将所有数据点合成一类,并生成聚类谱系图.此外,系统聚类可以解决簇数 K 的取值问题, ...

  2. 数学建模——智能优化之粒子群模型详解Python代码

    数学建模--智能优化之粒子群模型详解Python代码 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplo ...

  3. 数学建模——一维、二维插值模型详解Python代码

    数学建模--一维.二维插值模型详解Python代码 一.一维插值 # -*-coding:utf-8 -*- import numpy as np from scipy import interpol ...

  4. 清风数学建模学习笔记——灰色关联分析(GRA)详细解读与案例分析

    灰色关联分析   灰色关联分析的基本思想 是根据序列曲线几何形状的相似程度来判断其联系是否紧密,曲线越接近,相应序列之间的关联度就越大,反之则越小.   此方法可用于 进行系统分析,也可应用于对问题 ...

  5. 清风数学建模学习笔记——灰色预测模型推导及原理详解

    灰色预测模型   灰色预测是对既含有已知信息又含有不确定信息的系统进行预测,就是对在一定范围内变化的.与时间有关的灰色过程进行预测.   灰色预测对原始数据进行生成处理来寻找系统变动的规律,并生成有较 ...

  6. 清风数学建模学习笔记——主成分分析(PCA)原理详解及案例分析

    主成分分析   本文将介绍主成分分析(PCA),主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息. 一般 ...

  7. 清风数学建模学习笔记——应用matlab实现分段三次埃尔米特(Hermite)插值与三次样条插值

    插值算法   数模比赛中,常常需要根据已知的函数点进行数据.模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,模拟产生一些新的但又比较靠谱的值来满足需求 ...

  8. 数学建模学习笔记-算法(线性规划模型)-下(例题运用)

    目录 1.线性规划的基本公式 例题: ​编辑​编辑 1.符号 2.基本假设 3.模型的分析与建立 那么可以得出目标函数是 约束条件是 一.固定风险水平,优化收益 二.固定盈利水平,极小化风险 三.设置 ...

  9. 数学建模学习笔记(二)——Topsis优劣解距离法

    (续上篇文章)层次分析法的局限 上一篇文章中,层次分析法有这样的局限 评价决策层不能太多: 数据是已知的的话,便无法使用层次分析法进行精确的分析评价: 因此,为对这些情况做出更为精准的分析,我们可以使 ...

最新文章

  1. python如何读写文件-python文件的写入和读取
  2. 怎么改变光标Cursor(5种方法)
  3. 《SAP 传奇人物》系列人物故事:看透生死远没有操作0和1那么简单
  4. Android OkHttp3简介和使用详解
  5. 再谈二叉树(二叉树概念,二叉树的性质,二叉树的存储结构)
  6. oracle数据库安装——最详细全步骤详解
  7. VSTO入门学习笔记5-数组
  8. NAT映射和代理服务器
  9. 湖北文理学院毕业论文(设计)任务书
  10. 新浪php工程师面试题
  11. (转载) Android RecyclerView 使用完全解析 体验艺术般的控件
  12. 对字符串按“红黄蓝”进行排序,如“蓝黄红红黄”,输出结果为“红红黄黄蓝”
  13. PHP判定浏览器UA进行跳转
  14. 一键开关电路,短按开机,长按关机
  15. 中国计算机软件法,计算机软件专利申请中国快律法务攻略.pdf
  16. android 黑屏定位,如何将黑屏Android修复为正常
  17. appollo-二次规划ST速度优化
  18. 使用echarts在地图中使用dispatchAction
  19. FunAdmin开发框架系统V2.3正式颁布了
  20. 随笔:做一个平庸程序员,are you scared?

热门文章

  1. 美洽系统怎么获取未读消息
  2. HTML页面一键分享到QQ空间、QQ好友、新浪微博、微信代码
  3. 智慧园区数字孪生可视化解决方案
  4. 怎么制作GIF 制作动态图的软件哪个好
  5. 飞豹杯校赛总结/2015年8-12月项目总结
  6. 我的黑群晖学习之旅(1)系统安装篇
  7. GWO-BiLSTM 双向长短期记忆网络 基于灰狼优化双向长短期记忆网络(GWO-BiLSTM)的回归预测或时序预测
  8. 三星 0E 门序列号批次汇总 (Samsung SSD 0E Issue with affected SN)
  9. java实现仿qq界面及功能、网路编程、实现抽象工厂模式、线程池代码与测试
  10. 一款以Python编码的自动化大规模漏洞测试工具