大数据---聚类分析概述及聚类评估

聚类概述:

什么是聚类?

  • 是把数据对象集合按照相似性划分成多个子集的过程。
  • 每个子集是一个簇(cluster),分类的最终效果:使得簇中的对象彼此相似,但与其他簇中的对象相异。
  • 聚类是无监督学习,因为给的数据没有类标号信息。

分类和聚类的区别

分类

  • 有监督学习;
  • 通过带标签的样本进行学习,生成分类模型(分类器)。
    聚类
  • 无监督学习;
  • 通过观察学习,根据样本间的相似性将数据分割成多个簇。

基本聚类方法

  • 划分方法
  • 层次方法
  • 基于密度的方法

划分方法

划分方法:将有n个对象的数据集D划分成k个簇,并且k≤n,满足如下的要求:

  • 每个簇至少包含一个对象
  • 每个对象属于且仅属于一个簇
    基本思想:
  • 首先创建一个初始k划分( k为要构造的划分数,即簇的个数);
  • 然后不断迭代地计算各个簇的聚类中心,并依据新的聚类中心调整聚类情况,直至收敛。
    目标:
  • 同一个簇中的对象之间尽可能“接近”或相关;
  • 不同簇中的对象之间尽可能“远离”或不同。
    基于划分的方法实质上是一种启发式方法:
    k-均值(k-means)及其改进算法
  • 每个簇用该簇中对象的均值来表示
  • 基于质心的技术
    k-中心点(k-medoids)算法
  • 每个簇用接近簇中心的一个对象来表示
  • 基于代表对象的技术
    适用性方面:
  • 适合中小规模数据库中的球状聚类;
  • 对于大规模数据库和处理任意形状的聚类,这些算法需要进一步扩展。

K-Means算法

image.png

image.png

规定k=2,即划分为两个簇然后先随机选取两个红色的点作为聚类中心,然后通过计算其他点与中心点的距离来划分簇,当此次划分完成后通过计算均值来重新定义聚类中心,然后重复上述过程来重新划分簇.直到最后发现此次形成的簇与上一次相同,因此聚类过程到此结束。

Kmeans算法为启发式算法,遵循的寻优原则:
每次聚类保证局部最优,随后调整聚类,利用局部最优聚类的上限来不断逼近全局最优

image.png

K-Means算法优缺点

优点:

  • 聚类时间快
  • 当结果簇是密集的,而簇与簇之间区别明显时,效果较好
  • 相对可扩展和有效,能对大数据集进行高效划分
    缺点:
  • 用户必须事先指定聚类簇的个数(即k值需指定)
  • 常常终止于局部最优
  • 只适用于数值属性聚类(计算均值有意义)
  • 对噪声和异常数据也很敏感
  • 不同的初始值,结果可能不同
  • 不适合发现非凸面形状的簇
    凸面形状的簇–指圆形矩形等形状,是指当选择形状内任意两点,这两点的连线上所有点,也都在形状内。

K-Means算法还有一些改进算法:

  • K-Mode算法
  • K-Means++算法

K-Mode算法 —— 解决数据敏感的问题

在K-Means算法中只能适用于连续的数值属性的聚类,为解决离散属性的问题,K-Mode算法对其进行了改进:

  • 用众数代替均值;
  • 使用新的相异性度量方法。

K-Means++算法 —— 解决初始点选择问题

K-Means算法中初始值选择的不同也会引起不同的聚类结果,因此K-Means++算法对其做了改进。

K-Means++算法基本原理:

  • 从输入的数据点集合中随机选择一个点作为第一个聚类中心;
  • 对于数据集中的每一个点X,计算其与聚类中心的距离D(X);
  • 选择一个D(X)最大的点作为新的聚类中心;
  • 重复2和3步直到K个聚类中心被选出;
  • 利用K个初始聚类中心运行K-Means算法。
    *即尽可能选择距离远的点来作为初始种子节点

K-Mediods(K中心点算法)

K-Mediods算法可以解决K-Means算法对离群点敏感的问题。
K-中心点算法(解决对离群点敏感的问题):

  • 选用簇中位置最中心的实际对象即中心点作为参照点;
  • 基于最小化所有对象与其参照点之间的相异度之和的原则来划分(使用绝对误差标准)

image.png

K-中心点算法的基本思想:

  • 首先为每个簇随意选择一个代表对象,剩余的对象根据其与代表对象的距离分配给最近的一个簇。
  • 然后迭代地用非代表对象来替代代表对象,以改进聚类的质量(找更好的代表对象)。
  • 聚类结果的质量用一个代价函数来估算,该函数评估了对象与其参照对象之间的平均相异度。

PAM算法

PAM算法(Partitioning Around Medoids)是最早提出的K-中心点算法之一。
PAM算法的基本思想:

  • 随机选择 k 个对象作为初始的代表对象;
  • 指派每个剩余的对象给离它最近的代表对象所代表的簇;
  • 随机地选择一个非代表对象Orandom;
  • 计算用Orandom代替其中的代表对象Oj的总代价S ;
  • 如果S<0,则用Orandom替换Oj形成新的k个代表对象的集合.

image.png

image.png

image.png
总而言之就是一个不断更新中心点使得总距离不断减小的过程.

PAM算法的优缺点

优点

  • 当存在噪音和孤立点时,PAM 比K-Means算法更健壮。
    缺点
  • PAM 对于较小的数据集非常有效,但不能很好地扩展到大型数据集,原因是计算复杂度较高。
  • 每次中心点交换的时候,就要计算数据中每个点的代价

image.png

层次方法

层次方法需满足以下3个条件:

  • 对给定数据对象集进行层次的分解;
  • 使用距离矩阵作为聚类标准;
  • 不需要输入聚类数目k,但需要终止条件。
    两种层次方法:
    自底向上方法(凝聚)
  • 初始将每个对象作为单独的一个簇,然后相继的合并相近的对象或簇,直到所有的簇合并为一个,或者达到一个终止条件。
  • 代表算法:AGNES算法
    自顶向下方法(分裂)
  • 初始将所有的对象置于一个簇中,在迭代的每一步,一个簇被分裂为多个更小的簇,直到最终每个对象在一个单独的簇中,或达到一个终止条件。
  • 代表算法:DIANA算法

image.png

AGNES算法

  • 首先,将数据集中的每个样本作为一个簇;
  • 然后,根据某些准则将这些簇逐步合并;
  • 合并的过程反复进行,直至不能再合并或者达到结束条件为止
    合并准则
  • 每次找到距离最近的两个簇进行合并。
  • 两个簇之间的距离由这两个簇中距离最近的样本点之间的距离来表示。
    计算距离有以下几种方法:

AGNES算法 —— 最小距离

image.png

AGNES算法 —— 最大距离

image.png

AGNES算法 —— 平均距离

image.png

算法终止条件

(1)指定簇的数目k
(2)簇之间的距离超过一定阈值

DIANA算法

  1. 将所有的对象初始化到一个簇中。
  2. 在所有对象中找到最大距离的两个对象,对簇进行分类;
  3. 直到到达用户指定的簇数目或两个簇之间的距离超过某个阈值

image.png
即首先计算各个点到其他所有点的平均距离,选出最远的点作为新的簇,然后遍历旧的簇中所有点,计算他们分别和新旧两个簇中的最近点的距离,离谁更近就将它放入那个簇中.

层次方法的问题及改进

层次聚类存在的主要问题:

  • 合并或分裂的决定需要检查和估算大量的对象或簇
  • 一个步骤一旦完成便不能被撤销
  • 避免考虑选择不同的组合,减少计算代价
  • 不能更正错误的决定
  • 不具有很好的可伸缩性
    改进方法:
  • 将层次聚类和其他的聚类技术进行集成,形成多阶段聚类。

基于密度的方法

基于密度聚类方法:

  • 根据密度条件对邻近对象分组形成簇,簇的增长或者根据邻域密度,或者根据特定的密度函数(只要临近区域的密度超过某个阈值,就继续聚类)
    主要特点:
  • 发现任意形状的聚类
  • 处理噪音
  • 一遍扫描
  • 需要密度参数作为终止条件
    ε-邻域:
    给定对象半径ε内的邻域称为该对象的ε-邻域。
    核心对象:
    如果对象的ε-邻域至少包含最小数目MinPts个对象,则称该对象为核心对象
    直接密度可达:
    给定对象集合D,如果 p 是在 q 的ε-邻域内,而 q 是核心对象,则称对象 p 是从对象 q 关于ε和MinPts直接密度可达的。
    密度可达:
    如果存在一个对象链p1, …, pn,p1 = q, pn= p,使得pi+1是从pi直接密度可达的,则称对象p是从对象q关于ε和MinPts(间接)密度可达的。

image.png
密度相连的:
如果存在对象 o ,使得p 和q 都是从o关于ε和MinPts密度可达的,则称对象p与q关于ε和MinPts是密度相连的.

image.png

image.png

image.png

聚类评估

聚类评估的任务:

  • 估计聚类趋势:评估数据集是否存在非随机结构;
  • 确定数据集中的簇数:在聚类之前,估计簇数;
  • 测定聚类质量:聚类之后,评估结果簇的质量。

估计聚类趋势

image.png

确定数据集中的簇数

实验方法

  • 对于n个点的数据集,簇数√n/2,每个簇约有√2n个点。
    肘方法
  • 增加簇数可以降低簇内方差之和,但是如果形成太多的簇,降低簇内方差之和的边缘效应可能下降。

image.png

测定聚类质量

image.png

image.png

  • 簇的同质性
  • 簇的完全性
  • 碎布袋性
  • 小簇保持性

簇的同质性

image.png

簇的完全性

image.png

碎布袋性

image.png

小簇保持性

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/25056.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

缓存被穿透了怎么办?

首先来了解几个概念&#xff1a; 缓存穿透&#xff1a;大量请求根本不存在的key 缓存雪崩&#xff1a;redis中大量key集体过期 缓存击穿&#xff1a;redis中一个热点key过期&#xff08;大量用户访问该热点key&#xff0c;但是热点key过期&#xff09; 穿透解决方案 对空值…

如何有效和快速清理C盘

电脑在运行过程中会产生磁盘碎片&#xff0c;时间一长垃圾文件就会越多。而且我们平常不敢乱清理C盘中的文件&#xff0c;以免因为误删导致系统出现故障&#xff0c;所以垃圾文件才肆意占用系统盘空间。不过我们可以选择系统自带的“磁盘清理”功能“制服”它&#xff0c;给C盘…

带电更换柱上变压器(综合不停电作业法)

一、现场复勘 1.核对工作线路双重名称、杆号及设备双重名称 2.检查杆身质量 3.检查线路装置是否符合带电作业要求 4.检查待更换变压器容量 满足旁路作业要求 5.检查气象条件 作业前进行湿度和风速的测量&#xff0c;风力大于5级或湿度大于80%时&#xff0c;不宜带电作业&…

华为开源自研AI框架昇思MindSpore应用案例:Pix2Pix实现图像转换

目录 一、环境准备1.进入ModelArts官网2.使用CodeLab体验Notebook实例 二、基础原理三、准备环节配置环境文件准备数据数据展示 四、创建网络生成器G结构定义UNet Skip Connection Block基于UNet的生成器 基于PatchGAN的判别器Pix2Pix的生成器和判别器初始化 五、训练六、推理 …

SWAT模型教程

详情点击链接&#xff1a;SWAT模型教程详情点击链接&#xff1a;SWAT模型&#xff08;建模方法、实例应用、高级进阶&#xff09; 一&#xff1a;基于网络资源的SWAT模型快速建模​ 二&#xff1a;基于遥感产品的SWAT模型率定与验证​ 三&#xff1a;基于水文响应单元&#xff…

每日一题——用两个队列实现栈

每日一题 用两个队列实现栈 题目链接 思路 这里主要讲怎么实现出栈StackPop操作做完用两个栈实现队列&#xff0c;我们可能会想当然的认为&#xff0c;这一题也是一个主队列&#xff0c;一个辅助队列&#xff0c;当要出队时&#xff0c;首先判断辅助队列是否为空&#xff0c;…

FineBI6.0基础学习第一课 数据门户

PC端门户使用示例 首先,以管理员身份登录FineBI系统,安装数据门户,安装步骤见官网 新建一个数据门户

C++中的高阶函数:以std::function优雅地实现回调

C中的高阶函数&#xff1a;以std::function优雅地实现回调 1. 简介1.1 C高阶函数的概念1.2 C的std::function的功能及其重要性 2. std::function的使用2.1 std::function的定义和基本使用2.1.1 std::function的定义2.1.2 std::function的基本使用 2.2 std::function接受普通函数…

Python+Yolov5人脸表情特征识别

程序示例精选 PythonYolov5人脸表情特征识别 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonYolov5人脸表情特征识别>>编写代码&#xff0c;代码整洁&#xff0c;规则&am…

Linux环境变量总结

Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后&#xff0c;都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。 设置环境变量的方法 对所有用户生效的永久性变量 这类变…

电子科技大学编译原理复习笔记(三):控制结构

目录 前言 重点一览 语句级控制结构 单元级控制结构 四种单元级控制结构 本章小结 前言 本复习笔记基于张老师的课堂PPT&#xff0c;供自己期末复习与学弟学妹参考用。 重点一览 语句级控制结构 定义&#xff1a;用来构造各种语句执行顺序的机制 传统三种语句级控制结…

【问题记录】解决vite多页应用路由改用history之后本地刷新404问题

当前包的版本信息&#xff1a; "vue": "^2.7.14", "vue-router": "^3.6.5" "vite": "^3.0.7", 首先&#xff0c;修改路由模式 首先&#xff0c;将之前多页项目中的某个页面路由模式改用 history &#xff0c;…

【异常捕获】

异常捕获 异常概念处理错误方式 异常处理举例栈展开异常规范异常继承层次优缺点 异常 概念 异常时程序可能检测到的&#xff0c;运行时不正常的情况&#xff0c;如存储空间耗尽&#xff0c;数组越界等&#xff0c;可以预见可能发生在什么地方但不知道在什么时候发生的错误。 …

mysql倒库操作遇到的问题

背景&#xff1a;本地windows 10安装了mysql数据库后&#xff0c;需要把远程库的表结构和数据全部导入进来。 操作&#xff1a;导出数据库&#xff0c;导入数据库。 第一步&#xff1a;导出数据库 使用dump命令即可。 登陆mysql数据库 mysql -hhost --default-character-s…

海汽集团:业财共享服务中心建设推进集团数字治理

随着大数据时代的到来&#xff0c;数字化、信息化的财务管理方式应运而生。建立财务共享服务中心&#xff0c;走向业财一体化&#xff0c;已成为企业财务管理转型的必然趋势。 海汽集团作为全国唯一一家具有全省性客运网络的道路运输企业、海南道路运输业头部企业&#xff0c;…

3. 自然语言处理NLP:具体用途(近义词类比词;情感分类;机器翻译)

一、求近义词和类比词 1. 近义词 方法一&#xff1a;在嵌入模型后&#xff0c;可以根据两个词向量的余弦相似度表示词与词之间在语义上的相似度。 方法二&#xff1a;KNN&#xff08;K近邻&#xff09; 2. 类比词 使用预训练词向量求词与词之间的类比关系。eg&#xff1a;man&a…

​Lambda表达式详解​-初遇者-很细

目录 Lambda简介 对接口的要求 Lambda 基础语法 Lambda 语法简化 Lambda 表达式常用示例 lambda 表达式引用方法 构造方法的引用 lambda 表达式创建线程 遍历集合 删除集合中的某个元素 集合内元素的排序 Lambda 表达式中的闭包问题 Lambda简介 Lambda 表达式是 JD…

元宇宙应用领域-运动

元宇宙作为互联网的下一个阶段&#xff0c;目前已经发展成为一个多领域的“平行宇宙”&#xff0c;其中就包括体育。从体育的角度来看&#xff0c;元宇宙将是一个集运动、娱乐、社交、生活、学习于一体的“平行宇宙”&#xff0c;可以让人们在元宇宙中进行更好的运动&#xff0…

算法工程师的主要职责(合集)

算法工程师的主要职责 算法工程师的主要职责1 1、环境建模 根据设计的机器人方案&#xff0c;构建机器人的运动学模型、观测模型等概率学模型; 2、slam算法研发 研究基于多线激光雷达的slam算法&#xff0c;包括特征提取、数据关联、闭环检测等相关算法的开发; 3、定位算法研发…

MySQL-多表查询(中)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️树高千尺&#xff0c;落叶归根人生不易&…