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 类与类之间的距离

小结

加油,共勉吧!

相关推荐
梦云澜2 小时前
论文阅读(十二):全基因组关联研究中生物通路的图形建模
论文阅读·人工智能·深度学习
__雨夜星辰__3 小时前
Linux 学习笔记__Day2
linux·服务器·笔记·学习·centos 7
远洋录3 小时前
构建一个数据分析Agent:提升分析效率的实践
人工智能·ai·ai agent
学问小小谢3 小时前
第26节课:内容安全策略(CSP)—构建安全网页的防御盾
运维·服务器·前端·网络·学习·安全
IT古董4 小时前
【深度学习】常见模型-Transformer模型
人工智能·深度学习·transformer
沐雪架构师5 小时前
AI大模型开发原理篇-2:语言模型雏形之词袋模型
人工智能·语言模型·自然语言处理
python算法(魔法师版)5 小时前
深度学习深度解析:从基础到前沿
人工智能·深度学习
kakaZhui6 小时前
【llm对话系统】大模型源码分析之 LLaMA 位置编码 RoPE
人工智能·深度学习·chatgpt·aigc·llama
charlie1145141916 小时前
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(协议层封装)
c语言·驱动开发·单片机·学习·教程·oled
struggle20257 小时前
一个开源 GenBI AI 本地代理(确保本地数据安全),使数据驱动型团队能够与其数据进行互动,生成文本到 SQL、图表、电子表格、报告和 BI
人工智能·深度学习·目标检测·语言模型·自然语言处理·数据挖掘·集成学习