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

小结

加油,共勉吧!

相关推荐
QQ同步助手8 分钟前
如何正确使用人工智能:开启智慧学习与创新之旅
人工智能·学习·百度
AIGC大时代11 分钟前
如何使用ChatGPT辅助文献综述,以及如何进行优化?一篇说清楚
人工智能·深度学习·chatgpt·prompt·aigc
流浪的小新15 分钟前
【AI】人工智能、LLM学习资源汇总
人工智能·学习
A懿轩A1 小时前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
古希腊掌管学习的神1 小时前
[搜广推]王树森推荐系统——矩阵补充&最近邻查找
python·算法·机器学习·矩阵
云边有个稻草人1 小时前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
martian6651 小时前
【人工智能数学基础篇】——深入详解多变量微积分:在机器学习模型中优化损失函数时应用
人工智能·机器学习·微积分·数学基础
人机与认知实验室2 小时前
人、机、环境中各有其神经网络系统
人工智能·深度学习·神经网络·机器学习
黑色叉腰丶大魔王2 小时前
基于 MATLAB 的图像增强技术分享
图像处理·人工智能·计算机视觉
迅易科技5 小时前
借助腾讯云质检平台的新范式,做工业制造企业质检的“AI慧眼”
人工智能·视觉检测·制造