2024-11-16-机器学习方法:无监督学习(1) 聚类(上)

文章目录

  • [机器学习方法:无监督学习(1) 聚类(上)](#机器学习方法:无监督学习(1) 聚类(上))
    • [1. 聚类的基本概念](#1. 聚类的基本概念)
      • [1.1 聚类的概念](#1.1 聚类的概念)
      • [1.2 聚类的功能](#1.2 聚类的功能)
      • [1.3 聚类的算法](#1.3 聚类的算法)
    • [2. 相似度或距离](#2. 相似度或距离)
      • [2.1 闵可夫斯基距离](#2.1 闵可夫斯基距离)
      • [2.2 相关系数](#2.2 相关系数)
      • [2.3 夹角余弦](#2.3 夹角余弦)
    • [3 类或簇](#3 类或簇)
      • [3.1 类的特征](#3.1 类的特征)
    • [4 类与类之间的距离](#4 类与类之间的距离)
  • 小结

机器学习方法:无监督学习(1) 聚类(上)

学习起来,李航老师的《机器学习方法》的第二大部分------无监督学习,这本书后续的学习都不打算看课了,准备看书写总结,并结合github上的代码进行学习,加油,干起来。

1. 聚类的基本概念

1.1 聚类的概念

聚类是针对给定的样本,依据它们特征的相似度或距离,将其归并到若干个"类"或"能的数据分析问题 。一个类是给定样本集合的一个子集。直观上,相似的样本聚集在相同的不相似的样本分散在不同的类。这里,样本之间的相似度或距离起着重要作用。

1.2 聚类的功能

聚类的目的是通过得到的类或簇来发现数据的特点或对数据进行处理,在数据挖掘、式识别等领域有着广泛的应用。聚类属于无监督学习,因为只是根据样本的相似度或距离*其进行归类,而类或簇事先并不知道。

1.3 聚类的算法

聚类算法很多,本章介绍两种最常用的聚类算法:层次聚类(hierarchicalclusterimg)k均值聚类(k-means clustering)。

层次聚类 又有聚合(自下而上)和分裂(自上而下)两方法。聚合法开始将每个样本各自分到一个类,之后将相距最近的两类合并,建立一个新的类,重复此操作直到满足停止条件,得到层次化的类别。分裂法开始将所有样本分到一个类之后将已有类中相距最远的样本分到两个新的类,重复此操作直到满足停止条件,得到层化的类别。

k均值聚类 是基于中心的聚类方法,通过迭代,将样本分到k个类中,使得每个本与其所属类的中心或均值最近,得到k个"平坦的"、非层次化的类别,构成对空间的分。

2. 相似度或距离

聚类的对象是观测数据或样本集合。假设有几个样本,每个样本由m个属性的特征组成。样本集合可以用矩阵X表示:

X = [ x i j ] m ∗ n = [ x 11 x 12 ⋯ x 1 n x 21 x 22 ⋯ x 2 n ⋮ ⋮ . . . ⋮ x m 1 x m 2 ⋯ x m n ] X = [x_{ij}]{m*n}=\begin{bmatrix} x{11}&x_{12}&\cdots &x_{1n}\\ x_{21}&x_{22}&\cdots &x_{2n}\\ \vdots&\vdots&...&\vdots\\ x_{m1}&x_{m2}&\cdots &x_{mn}\end{bmatrix} X=[xij]m∗n= x11x21⋮xm1x12x22⋮xm2⋯⋯...⋯x1nx2n⋮xmn

2.1 闵可夫斯基距离

参考百科 闵可夫斯基距离

定义14.1 给定样本集合 X,X 是m 维实数向量空间 R m R^m Rm中点的集合,其中 x i , x j ∈ X x_i,x_j \in X xi,xj∈X, x i = ( x 1 i , x 2 i , ⋯   , x m i ) , T x_i=(x_{1i},x_{2i},\cdots,x_{mi}), ^T xi=(x1i,x2i,⋯,xmi),T , x j = ( x 1 j , x 2 j , ⋯   , x m j ) , T x_j=(x_{1j},x_{2j},\cdots,x_{mj}), ^T xj=(x1j,x2j,⋯,xmj),T,样本 x i x_{i} xi与样本 x j x_{j} xj的闵可夫斯基距

离(Minkowski distance)定义为

d i j = ( ∑ i = 1 n ∣ x k i − x k j ∣ p ) 1 p d_{ij}=\color{red}(\displaystyle\sum_{i=1}^{n}|{x_{ki}-x_{kj} }|^p)^{\frac{1}{p}} dij=(i=1∑n∣xki−xkj∣p)p1

这里 p ≥ 1 p \geq 1 p≥1。当 p = 2 p=2 p=2 时成为欧氏距离(Euclidean distance),即

d i j = ( ∑ i = 1 n ∣ x k i − x k j ∣ 2 ) 1 2 d_{ij}=\color{red}(\displaystyle\sum_{i=1}^{n}|{x_{ki}-x_{kj} }|^2)^{\frac{1}{2}} dij=(i=1∑n∣xki−xkj∣2)21

当 p = 1 p=1 p=1时称为曼哈顿距离(Manhattan distance),即

d i j = ∑ i = 1 n ∣ x k i − x k j ∣ d_{ij}=\color{red}\displaystyle\sum_{i=1}^{n}|{x_{ki}-x_{kj} }| dij=i=1∑n∣xki−xkj∣

当 p = ∞ p=∞ p=∞ 时称为切比雪夫距离(Chebysbev distance),取各个坐标数值差的绝对值的最大值,即

d i j = ( max ⁡ k ∣ x k i − x k j ∣ ) d_{ij}=\color{red}(\displaystyle\max_{k}|{x_{ki}-x_{kj} }|) dij=(kmax∣xki−xkj∣)

2.2 相关系数

样本之间的相似度也可以用相关系数(correlation coeficient)来表示。相关系数的绝对值越接近1,表示样本越相似:越接近0,表示样本越不相似。

2.3 夹角余弦

样本之间的相似度也可以用夹角余弦(cosine)来表示。夹角余弦越接近1,表示样相似;越接近 0,表示样本越不相似。

3 类或簇

聚类得到的类或簇本质是样本的子集一如果一个聚类方法属于一个类或类的交集为空集,那么该方法称为硬聚类(hard clustering)方法,否则,如果一个样本可以属于多个类或类的交集不为空集,那么该方法称为软聚类(soft clustering)方法。

用G表示类或簇(cluster),用 x i , x j x_{i},x_{j} xi,xj表示类中的样本,用 x G x_G xG 表示G 中祥本的个数,用 d i j d_{ij} dij表示样本 x i x_i xi与样本 x j x_j xj之间的距离。类或簇有多种定义,下面给出几个常见的定义。

定义14.5 设T为给定的正数,若对于集合G 中任意两个样本 x i , x j x_{i},x_{j} xi,xj, 使得

d i j ≤ T d_{ij} \leq T dij≤T

3.1 类的特征

可以通过不同角度来刻画,常用的特征有下面三种:

  • (1)类的均值 x ˉ G \bar{x}_G xˉG

  • (2)类的直径(diameter) D G D_G DG

  • (3)类的样本散布矩阵(scatter matrix) A G A_G AG与样本协方差矩阵(covariancematrix) S G S_G SG

    类的样本散布矩阵(scatter matrix) A G A_G AG

    样本协方差矩阵(covariancematrix) S G S_G SG

4 类与类之间的距离

小结

加油,共勉吧!

相关推荐
山间小僧1 小时前
「AI学习笔记」RNN
机器学习·aigc·ai编程
网教盟人才服务平台3 小时前
“方班预备班盾立方人才培养计划”正式启动!
大数据·人工智能
芯智工坊3 小时前
第15章 Mosquitto生产环境部署实践
人工智能·mqtt·开源
菜菜艾3 小时前
基于llama.cpp部署私有大模型
linux·运维·服务器·人工智能·ai·云计算·ai编程
TDengine (老段)3 小时前
TDengine IDMP 可视化 —— 分享
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据·时序数据
小真zzz3 小时前
搜极星:第三方多平台中立GEO洞察专家全面解析
人工智能·搜索引擎·seo·geo·中立·第三方平台
GreenTea4 小时前
从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码
前端·人工智能·后端
火山引擎开发者社区4 小时前
秒级创建实例,火山引擎 Milvus Serverless 让 AI Agent 开发更快更省
人工智能
冬奇Lab4 小时前
一天一个开源项目(第72篇):everything-claude-code - 最系统化的 Claude Code 增强框架
人工智能·开源·资讯