机器学习入门|聚类(二)

简介: 本文主要对密度聚类和层次聚类进行了简单的介绍

密度聚类

顾名思义,密度聚类是基于样本分布的紧密程度来划分的。因为这个性质,密度聚类可以划分出形状不规则的簇,弥补了原型聚类只能划分凸形的聚类簇的不足。

DBSCAN算法

DBSCAN算法是基于邻域参数$(\epsilon,MinPts)$来刻画样本分布的紧密程度。

几个概念:

  • $\epsilon$邻域:给定对象半径$\epsilon$内的区域
  • 核心对象:对象的$\epsilon$邻域内有至少MinPts个样本点,则该对象为核心对象
  • 密度值达:对于样本集合D,样本点$x_{j}$在$x_{i}$的$\epsilon$邻域内,且$x_{i}$为核心对象,则称$x_{j}$由$x_{i}$密度直达
  • 密度可达:若$x_{i}$由$x_{i-1} (i=2,3,...n)$密度直达,则称$x_{1}$由$x_{n}$密度可达
  • 密度相连:若$x_{i}$和$x_{j}$均由$x_{k}$密度可达,则$x_{i}$和$x_{j}$密度相连

如果把一个核心对象以及由这个核心对象导出的所有密度可达的样本点组成一个集合,则此集合就是一个聚类簇,即DBSCAN算法就是通过遍历每一个未被划分的样本点来进行簇划分,而不是核心对象且没有归属的簇的样本点就是噪声点。

DBSCAN算法的邻域$\epsilon$和MinPts都需要使用者指定。它的缺陷是很难识别密度不同的簇,MinPts过高,则有可能使部分低密度的数据诶被错误地当成噪声点,MinPts过低,则无法正确划分高密度的簇,使不同的簇被划分到一起。

层次聚类

层次聚类对数据集进行拆分或者合并操作最终形成簇划分的一种聚类思路

AGNES算法

AGNES算法采用合并策略进行聚类,初始使数据集中每一个样本都已是一个簇,之后通过找出最近的两个簇进行合并,递归进行直到满足停止条件或者所有书籍都合并成一个簇。这里判断最近距离可以采用不同的距离计算。

1.最小距离:$d_{min}(C_{i},C_{j})=min(dist(x,z))$即两个簇之间距离最近的两个样本的距离
2.最大距离:$d_{max}(C_{i},C_{j})=max(dist(x,z))$即两个簇之间距离最大的样本之间的距离
3.平均距离:$d_{avg}(C_{i},C_{j})=\frac{1}{|C_{i}||C_{j}|}\sum_{x\in C_{i}}\sum_{x\in C_{j}} dist(x,z)$即质心距离

其中,$C_{i} (i=1,2,...,n)$是簇,$x,z$分别是$C_{i},C_{j}$中的样本点

默认情况下,$dist()$为欧氏距离。

由于算法复杂度为$O(n^{2})$,不适合大数据集。

层次聚类过程最明显的特点就是不可逆性,由于对象在合并或分裂之后,下一次聚类会在前一次聚类基础之上继续进行合并或分裂,结果一旦产生就无法变更。

由于聚类是无监督学习,不同的聚类算法还有很多,且都有各自的作用,例如把数据量化成有限单元,使所有的聚类操作都在这个网格结构(即量化的空间)上进行的网格聚类;对每一个簇都假设一个模型进行拟合的模型聚类等。

目录
相关文章
|
2月前
|
机器学习/深度学习 数据采集 算法
深入了解机器学习:从入门到应用
【10月更文挑战第6天】深入了解机器学习:从入门到应用
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:机器学习入门指南
【10月更文挑战第30天】本篇文章是一份初学者友好的机器学习入门指南,旨在帮助读者理解并开始实践机器学习。我们将介绍机器学习的基本概念,包括监督学习、无监督学习和强化学习等。我们还将提供一些实用的代码示例,以帮助读者更好地理解和应用这些概念。无论你是编程新手,还是有一定经验的开发者,这篇文章都将为你提供一个清晰的机器学习入门路径。
37 2
|
1月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
33 1
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
24 1
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型选择与训练、模型评估及交叉验证等关键步骤。通过本文,初学者可以快速上手并掌握机器学习的基本技能。
62 2
|
2月前
|
机器学习/深度学习 人工智能 数据挖掘
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第6天】在人工智能领域,机器学习已成为核心技术。本文指导初学者使用Python与Scikit-learn入门机器学习,涵盖基本概念、环境搭建、数据处理、模型训练及评估等环节。Python因简洁性及其生态系统成为首选语言,而Scikit-learn则提供了丰富工具,简化数据挖掘与分析流程。通过实践示例,帮助读者快速掌握基础知识,为进一步深入研究奠定坚实基础。
30 4
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
除了调用API接口使用Transformer技术,你是否想过在浏览器中运行大模型?Xenova团队推出的Transformer.js,基于JavaScript,让开发者能在浏览器中本地加载和执行预训练模型,无需依赖服务器。该库利用WebAssembly和WebGPU技术,大幅提升性能,尤其适合隐私保护、离线应用和低延迟交互场景。无论是NLP任务还是实时文本生成,Transformer.js都提供了强大支持,成为构建浏览器AI应用的核心工具。
549 1
|
2月前
|
机器学习/深度学习 算法 API
机器学习入门(六):分类模型评估方法
机器学习入门(六):分类模型评估方法
|
2月前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理
|
2月前
|
机器学习/深度学习 算法 数据挖掘
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合