人工智能期末复习:聚类(详细笔记)

news2024/11/19 21:19:30

文章目录

    • 聚类的概述
    • 常见的聚类算法
      • 原型聚类
        • K均值聚类算法
        • K均值++聚类算法
        • 顺序前导聚类(Sequential leader clustering)
        • 高斯混合聚类(KMM)
      • 密度聚类
        • DBSCAN聚类算法
      • 层次聚类
        • AGNES聚类算法
      • 谱聚类
    • 聚类的评价(轮廓系数)
    • 练习题

聚类的概述

聚类的地位:聚类问题是无监督学习任务中研究最多和应用最广的问题模型。

无监督学习的主要内容:聚类、密度估计和降维。(聚类对应监督学习中的分类,密度估计对应监督学习中的回归)。

聚类的目标:把数据样本分为若干个通常不相交的簇。

聚类的作用

  • 可以作为一个单独过程来寻找数据内在的分布结构。
  • 可以作为分类等其他学习任务的前驱过程。
  • 帮助寻找潜在的概念或类别。

聚类的标准:聚类的好坏不存在绝对标准,完全取决于具体使用的需要。因此,聚类是机器学习中新算法出现最多最快的领域,总能找到一个新的标准使得以往的聚类算法对它无能为力。

常见的聚类算法

原型聚类

  • 别称:基于原型的聚类。
  • 特点:聚类的结果可以通过一组原型来进行刻画,也就是可以在每一个簇中找到这个簇的代表性样本点。
  • 过程:先对原型进行初始化,然后对原型进行迭代更新求解。
  • 代表算法:K均值聚类、高斯混合聚类,学习向量量化聚类。
  • 评价:研究最多的聚类方法,并且有很好的概率解释,但是通常只能找出椭球形的聚类结构。

K均值聚类算法

算法流程

  1. 指定需要划分的簇的个数K。
  2. 随机选择K个数据对象作为初始聚类中心,这些数据对象不一定是已有的样本点。
  3. 逐一计算其他各个数据点到这K个初始聚类中心的距离,把数据对象划分到距离它最近的那个中心所在的簇中。
  4. 调整新的簇的聚类中心。
  5. 循环执行步骤三和步骤四,观察聚类中心是否收敛(位置基本不发生变化),如果收敛或达到最大迭代次数则终止循环过程。

备注:距离的计算也可以使用曼哈顿距离、闵可夫斯基距离等(泛化的欧氏距离)。

算法优点

  • 原理比较简单,实现起来比较容易。
  • 聚类效果较好且效率较高(复杂度与样本个数呈线性关系)。
  • 算法的可解释性比较好。
  • 算法唯一需要调整的超参数是聚类个数K。

算法缺点

  • 聚类的个数K值不好把握。
  • 受初始聚类中心的选择影响较大
  • 只适合分离较远不相交的类球形簇。
  • 采用迭代形式,最终的结果只是局部最优。
  • 算法对噪音和异常点比较敏感。

关于K值的选择:K值的选择需要综合考虑实际要求和聚类效果两个方面。

K均值++聚类算法

算法概括:K均值++算法是对K均值算法的优化,对K均值算法的初始聚类中心的构造过程进行了优化,从而避免了K均值算法容易受初始聚类中心的影响和容易受孤立点影响的缺点。

改进内容

  1. 随机选择一个样本点作为初始聚类中心。
  2. 计算每一个样本与当前已有的聚类中心的最短距离(也就是离当前最近的一个聚类中心的距离),这个值越大,表示被选择作为下一个聚类中心的概率越大。用轮盘法(根据概率大小进行抽选)选择下一个聚类中心。
  3. 重复步骤二,直到选择出K个聚类中心。

顺序前导聚类(Sequential leader clustering)

算法流程:人为设置一个距离阈值,然后逐一遍历每一个样本点并进行如下操作:

  1. 计算该样本点到每一个聚类中心的距离。
  2. 如果到最近的聚类中心的距离小于距离阈值,则将该样本点划分到这个最近聚类中心所对应的簇中,并重新计算这一个簇的聚类中心。
  3. 如果到最近的聚类中心的距离大于距离阈值,则将该样本点作为一个新的聚类中心并生成一个新的簇。

算法缺点

  • 算法执行顺序不同产生的结果也不同。
  • 需要人工确定一个距离阈值。

高斯混合聚类(KMM)

模型原理:高斯混合聚类假设最终结果的每一个簇都服从一个高斯分布,由此得到的多个簇就构成一个整体分布模型。

算法流程:首先假设最终的簇的个数为K(这一点与K均值算法相同)。然后遍历每一个样本点进行下列操作。重复下面过程直到得到局部最优解。

  1. 通过计算得出该样本点属于各个高斯分布的概率,将该样本点划分到概率最大的高斯分布所对应的簇中。
  2. 更新这个簇的高斯分布参数。

求解方法:常用的求解方法是EM方法,EM算法可以分为E和M两个步骤。

  • E步骤:在每一步迭代中。先根据当前的参数计算每一个样本点属于每一个高斯分布的概率。
  • M步骤:更新高斯分布的参数。

高斯混合模型和K均值算法的相似性

  • 两者的分类都受到初始值的影响;
  • 两者都可能限于局部最优解;
  • 两者类别的个数都需要靠猜测。

高斯混合模型和K均值算法的不同

  • K均值算法属于硬聚类,也就是一个样本要么属于这一类要么属于另一类;
  • 高斯混合模型属于软聚类,一个样本有不同的概率属于不同的类。

密度聚类

  • 别称:基于密度的聚类。
  • 特点:聚类结构能通过样本分布的紧密程度确定。
  • 过程:从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇。
  • 代表算法:DBSCAN、OPTICS、DENCLUE。
  • 优点
    ①可以生成任意形状的簇;
    ②抗噪声能力强;
    ③事先不需要指定簇的个数;
    ④类似于人类的视觉,因此直观清晰。

DBSCAN聚类算法

相关概念

  • 邻域:某一数据点在一定半径内的空间;
  • 密度:某一数据点在邻域内的最小的对象点数目。
  • 核心点:密度大于某一个阈值的样本点。
  • 边界点:对象的密度小于阈值,但是在某个核心点的邻域中。
  • 噪声点:不是核心点且不是边界点的样本点。
  • 直接密度可达:如果一个样本点P在核心点Q的邻域内,则称从样本点Q出发直接可达样本的P。

算法流程

  • 通过检查数据集中的每一个点的邻域在搜索簇,如果某一个样本点为核心点,则以该样本点开始创建一个簇。经过这一步后,原始的多个样本点被分别划分到多个簇中,而一些噪声点则被忽略。
  • 迭代地判断各个簇是否足够邻近使得相邻的两个簇可以进行合并。经过这一步后靠得较近的簇都被合并。

层次聚类

  • 特点:能够产生不同粒度的聚类结果。
  • 过程:在不同层次对数据集进行划分,从而形成树形的聚类结构。
  • 代表算法:AGNES(自底向上)、DIANA(自顶向下)。

AGNES聚类算法

算法流程

  • 最初将每个对象作为一个簇,然后这些簇根据某些准则被进一步合并,每次合并两个簇。
  • 两个簇间的相似度由这两个不同簇中距离最近的两个数据点之间的距离确定。当任意两个簇最近距离超过用户所给定的阈值时聚类过程终止。
  • 聚类的合并过程重复迭代进行,直到所有的对象都满足簇数据。

谱聚类

算法原理:基于图论的聚类方法,将无向带权图划分为两个或两个以上的最优子图,使得子图内尽量相似,而子图之间的距离尽量越远越好,从而实现聚类的目的。

算法优点

  • 只需要待聚类点之间的相似度矩阵作为前提条件。
  • 对于数据集的要求较低。

聚类的评价(轮廓系数)

轮廓系数的作用:轮廓系数是用于评价聚类结果好坏的指标,可以用于聚类模型的调参过程。

  • 样本的簇内不相似度:样本到同一个簇中其他样本点的平均距离。
  • 样本的簇间不相似度:计算样本点到其他某一个簇的所有样本点的平均距离,对其他每一个簇进行一次计算,计算结果中的最小值即为样本的簇间不相似度。

样本的轮廓系数:假设样本i的簇内不相似度为ai,簇间不相似度为bi,则样本i的轮廓系数计算公式如下:

在这里插入图片描述

  • 轮廓系数越接近1,表示聚类结果越好。
  • 轮廓系数小于1,表示当前样本点聚类不合理。

聚类结果的轮廓系数:聚类结果的轮廓系数即每一个样本点的轮廓系数的平均值。

基于轮廓系数的调参过程:可以绘制参数变化时轮廓系数的变化曲线,曲线最大值所对应的参数即为最优参数。

注意事项:轮廓系数最大值所对应的参数可能并非实际上问题的参数。

练习题

1.对于Silhouette图表述正确的是(C)。

A.每个点的取值范围为[0,1]
B.每个点的取值越接近0越好
C.可以体现出簇的紧凑性
D.对于离群点,取值可能超过1

解析:本题考察轮廓系数的相关内容。每一个样本点的轮廓系数取值范围都是[-1,1],因此A错误;每个点的轮廓系数越接近1,说明聚类效果越好,因此B错误;所有点的轮廓系数不可能大于1,因此D错误。综上所述,只有C正确,这是因为轮廓系数越大,簇的紧凑性越高。

2.由于K均值聚类是一个迭代过程,我们需要设置其迭代终止条件。下面哪句话正确描述了K均值聚类的迭代终止条件 (A)。

A.已经达到了迭代次数上限或者前后两次迭代中聚类质心基本保持不变
B.已经形成了K个聚类集合,或者每个待聚类样本分别归属唯一一个聚类集合
c.已经形成了K个聚类集合,或者已经达到了迭代次数上限
D.已经达到了迭代次数上限,或者每个待聚类样本分别归属唯一一个聚类集合

解析:本题考察K均值聚类算法的终止条件。K均值算法往往需要设置最大迭代次数参数(非超参数),当达到最大迭代次数时即停止迭代;当相邻两次迭代中聚类中心(质心)的位置基本不变也是迭代的终止条件。由此可以判断A选项正确。
由于K均值算法从算法开始到结束中间任意时刻簇的个数都是K个,因此不能通过簇的个数判断算法是否终止;每一个样本点都归属于一个簇也不能作为终止条件。

3.我们可以从最小化每个类簇的方差这一视角来解释K均值聚类的结果,下面对这一视角描述不正确的是©。

A.最终聚类结果中每个聚类集合中所包含数据呈现出来差异性最小
B.每个样本数据分别归属于与其距离最近的聚类质心所在聚类集合
C.每个簇类的质心累加起来最小
D.每个族类的方差累加起来最小

解析:本题考察聚类结果的评价。每个簇的质心累加相当于坐标点的累加,没有实际意义,因此不能作为最终的评价指标。

4.K-Means算法中的初始中心点(D)。

A.可随意设置
B.必须在每个簇的真实中心点的附近
C.必须足够分散
D.直接影响算法的收敛结果

解析:本题考察K均值算法初始聚类中心的设置。初始中心点不能随意设置,因为初始中心点的选择直接影响算法的收敛结果,由此可以判断A选项错误,D选项正确。由于每个簇的真实中心点未知,因此B选项实际上是无法做到的;必须足够分散并非K均值算法设置初始聚类中心的要求。

5.关于K-Means算法的表述正确的是(C)。

A.对数据分布没有特殊的要求
B.能较好处理噪点和离群点
C.对初始中心点较为敏感
D.计算复杂度较高

解析:本题考察K均值聚类算法的优点和缺点。K均值算法要求数据点呈现椭球形分布,而对于数据呈现条形或其他复杂分布的情况聚类结果不好,因此A错误;K均值算法容易受到噪音点和离群点的干扰,因此B错误;K均值算法对指定的初始聚类中心敏感,初始聚类中心的选择直接影响聚类结果,因此C正确;K均值算法的计算复杂度较低,因此D错误。

6.在Sequential Leader算法中(D)。

A.需对数据集进行多次遍历
B.无法人为控制最终聚类的个数
C.需要事先生成初始中心点
D.聚类结果可能受数据访问顺序影响

解析:本题考察顺序前导聚类算法。顺序前导聚类算法只需要对数据集进行一次遍历即可完成聚类过程,是最简单的聚类算法,因此A选项错误;该算法中使用者可以通过指定距离阈值从而间接控制最终聚类的个数,因此B选项错误;该算法不需要事先生成或指定初始聚类中心,因此C选项错误。顺序前导算法的聚类结果可能受到数据访问顺序的影响,不同的遍历次序可能导致不同的聚类结果,因此D选项正确。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习—00入门 神经网络

1、深度学习简介 深度学习是机器学习的一个分支,简单来说就是通过人工神经网络,强行在业务的 输入 和 输出 之间,暴力耦合一个出一个数学模型。 1.1 深度学习特点 1、由于是暴力耦合出来的模型,自然模型可解释性很差&#xff0c…

kkfile在线文件预览部署(Linux服务器版本)

一:kkfile部署指南 KKfile文件预览是一款开源的文档在线预览项目。项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,Excel,pdf,txt,zip,rar,图片等等。 如果你是在windows系统中可以不用…

第二证券|锂离子聚合物电池的分类和使用注意事项

根据锂离子电池所用电解质资料的不同,锂离子电池分为液态锂离子电池和聚合物锂离子电池。聚合物锂离子电池所用的正负极资料与液态锂离子都是相同的,正极资料分为钴酸锂、锰酸锂、三元资料和磷酸铁锂资料,负极为石墨,电池工作原理…

RabbitMQ 第一天 基础 6 SpringBoot 整合RabbitMQ

RabbitMQ 【黑马程序员RabbitMQ全套教程,rabbitmq消息中间件到实战】 文章目录RabbitMQ第一天 基础6 SpringBoot 整合RabbitMQ6.1 SpringBoot 整合 RabbitMQ【生产者】6.1.1 生产者6.2 SpringBoot 整合 RabbitMQ【消费者】6.2.1 消费者6.3 小结第一天 基础 6 Spri…

ESP32-CAM 使用 MicroPython 进行开发

ESP32-CAM 开发工具 ESP32-CAM是安信可发布小尺寸的摄像头模组。该模块可以作为最小系统独立工作,尺寸仅为2740.54.5mm。 ESP32-CAM可广泛应用于各种物联网场合,适用于家庭智能设备、工业无线控制、无线监控、人脸识别以及其它物联网应用,是…

stm32f407VET6 系统学习 day02 GPIO 引脚的按键 中断,中断设置 (配置)

1.中断基本知识 1.知识点: STM32的所有中断(内部或外部)都是由NVIC(嵌套向量中断控制器)控制 注意:在KEIL5工程中的fwlib分组中,misc.c文件提供了NVIC相关的固件库函数。 2.中断源 :引起CPU中断的根源&am…

DirectX12_API流程入门篇

本部分主要记录下使用D3D12入门所涉及到的API,记录简单使用方式供后期快速查找使用(数据参照龙书实现)。 首先看一下DX12中拥有的管线能力: Raster Graphics PipelineCompute Graphics PipelineRay Tracing PipelineMesh Geometry Pipeline 具体管线示…

【数据结构】链式二叉树的实现

作者:一个喜欢猫咪的的程序员 专栏:《数据结构》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 目录 1.二叉树的概念及结构 1.1二叉树的概念 1.2二叉树的类型分类&#xff…

腾讯焦虑了,一向温文尔雅的马化腾也发脾气了

大家好,我是校长。昨天小马哥内部讲话在互联网上疯传,这应该是,腾讯这家公司创办以来,马化腾最焦虑也最外露的一次讲话了,重点大概涉及 3 大方面,8 大项内容:1、所有业务线 ROI 化,再…

【关于时间序列的ML】项目 9 :机器学习中的 ARIMA 模型

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

<Linux线程概念及线程控制>——《Linux》

目录 1. Linux线程概念 什么是线程 线程的优点 线程的缺点 线程异常 线程用途 2. Linux进程VS线程 进程和线程 进程的多个线程共享 关于进程线程的问题 3. Linux线程控制 POSIX线程库 创建线程 线程ID及进程地址空间布局 线程终止 线程等待 4. 分离线程 后记:●由于…

ArcGIS 制作这种“清新设计风”的地图海报封面

这种图怎么做?下面是星球研究所制作的一张地图海报,那么究竟是如何制作的呢? 星球研究所 制作 一通鼓捣之下,使用 ArcGIS Pro 制作出了风格相近的成都市区位及地形示意图地图(其实 QGIS 也能做)。 下面教程一并分享给大家。 完全使用 ArcGIS Pro 制作的成果图 1.全国区位…

Python——几个常用的数学函数

1. min()函数:取出给定参数的最小值 说明:获取指定数值或者指定序列中最小值。 print(min(1, 5)) print(min(1, 2, 3, 4, 5, 6)) print(min([2, 3, 4, 5])) 2.max()函数:取出给定参数的最大值 说明:获取指定数值或者指定序列中…

CSS初级教程【第一天】

CSS初级教程【第一天】【1】CSS初识【2】CSS简介【3】CSS语法【4】CSS 选择器【5】CSS使用【6】CSS 注释【7】CSS 颜色【8】CSS RGB 颜色【9】CSS HEX 颜色【10】CSS HSL 颜色(色相| 饱和度 | 明度)【0】末尾声名【1】CSS初识 CSS 是一种描述 HTML 文档样…

【青岛大学·王卓】第3章_栈和队列

【青岛大学王卓】第3章_栈和队列 20221107-20221119 3.1 栈和队列的定义和特点 普通线性表插入和删除可以是线性表中的任意为位置; 3.1.1 栈 栈的概念 栈和队列是两种常用的、重要的数据结构。栈和队列是限定插入和删除只能在表的端点进行的线性表。 栈特点 后…

Anki学习之路

【常规操作】: 【自定义卡片进度】: [右键单击] -> [重设学习进度] //选择放到哪一个队列中( 新卡片队列 / 复习队列 )。 【重新学一遍】: //然后再进行上面的操作步骤。 【牌组齿轮按钮】: 【每日新…

Web前端105天-day62-HTML5_CORE

HTML5CORE02 目录 前言 一、复习 二、拖拽 三、上传服务器 四、Canvas 五、地图 总结 前言 HTML5CORE02学习开始 一、复习 跨域 浏览器的同源策略导致在网页中, 通过 AJAX 发送网络请求时, 默认只能向同源的服务器请求同源: 协议 端口号 域名 三者都相同产生跨域的原因…

杰华特科创板上市:市值227亿 华为英特尔联想是股东

雷递网 雷建平 12月23日杰华特微电子股份有限公司(简称:“杰华特”,股票代码为:“688141” )今日在科创板上市,发行价为38.26元。杰华特此次发行5808万股,发行价为38.26元,募资总额为…

32天高效突击:开源框架+性能优化+微服务架构+分布式,面阿里获P7(脑图、笔记、面试考点全都有)

今年的大环境不佳,所以大部分的人在今年的招聘旺季都没有收获到好的结果。 但不要着急,今天分享的内容则是由 一位阿里P7的面试心得,通过32天的高效突击训练,成功拿下offer的学习方法。 篇章分为三大章节,可以根据自…

【TypeScript】类型兼容性与交叉类型讲解

目录 类型兼容性 对象类型兼容性 接口类型兼容性 函数类型兼容性 交叉类型 类型兼容性 在TS中,类型采用的是结构化类型系统,也叫做 duck typing(鸭子类型),类型检查关注的是值所具有的形状。也就是说&#xff0c…