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

文章目录

  • 机器学习方法:无监督学习(1) 聚类(上)
    • 1. 聚类的基本概念
      • 1.1 聚类的概念
      • 1.2 聚类的功能
      • 1.3 聚类的算法
    • 2. 相似度或距离
      • 2.1 闵可夫斯基距离
      • 2.2 相关系数
      • 2.3 夹角余弦
    • 3 类或簇
      • 3.1 类的特征
    • 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]mn= x11x21xm1x12x22xm2...x1nx2nxmn

2.1 闵可夫斯基距离

  参考百科 闵可夫斯基距离

  定义14.1 给定样本集合 X,X 是m 维实数向量空间 R m R^m Rm中点的集合,其中 x i , x j ∈ X x_i,x_j \in X xi,xjX 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=1nxkixkjp)p1
这里 p ≥ 1 p \geq 1 p1。当 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=1nxkixkj2)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=1nxkixkj
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=(kmaxxkixkj)

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 dijT

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

小结

  加油,共勉吧!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络WebSocket——针对实习面试

目录 计算机网络WebSocket什么是WebSocket?WebScoket和HTTP协议的区别是什么?说明WebSocket的优势和使用场景?说明WebSocket的建立连接的过程? 计算机网络WebSocket 什么是WebSocket? WebSocket是一个网络通信协议,提…

STM32设计防丢防摔智能行李箱

目录 目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 1.电路图采用Altium Designer进行设计: 2.实物展示图片 三、程序源代码设计 四、获取资料内容 前言 随着科技的不断发展,嵌入式系统、物联网技术、智能设备…

PaoluGPT——千里挑一

开启题目: 点击“开始聊天”,发现已经跑路: 点击“查看聊天记录”,会发现一大堆聊天记录: 聊天记录在/list目录下 点两个具体的聊天记录,发现地址栏中URL发生变化,都是 /view?conversation_id…

L11.【LeetCode笔记】有效的括号

目录 1.题目 2.分析 理解题意 解决方法 草稿代码 ​编辑 逐一排错 1.当字符串为"["时,分析代码 2.当字符串为"()]"时,分析代码 正确代码(isValid函数部分) 提交结果 3.代码优化 1.题目 https://leetcode.cn/problems/valid-parentheses/descri…

paddle表格识别数据制作

数据格式 其中主要数据有两个一个表格结构的检测框&#xff0c;一个是tokens&#xff0c;注意的地方是 1、只能使用双引号&#xff0c;单引号不行 2、使用带引号的地方是tokens里面 "<tr>", "<td", " colspan2", ">",&quo…

深度学习中的Pixel Shuffle和Pixel Unshuffle:图像超分辨率的秘密武器

在深度学习的计算机视觉任务中&#xff0c;提升图像分辨率和压缩特征图是重要需求。Pixel Shuffle和Pixel Unshuffle是在超分辨率、图像生成等任务中常用的操作&#xff0c;能够通过转换空间维度和通道维度来优化图像特征表示。本篇文章将深入介绍这两种操作的原理&#xff0c;…

阮一峰科技爱好者周刊(第 325 期)推荐工具:一个基于 Next.js 的博客和 CMS 系统

近期&#xff0c;阮一峰在科技爱好者周刊第 325 期中推荐了一款开源工具——ReactPress&#xff0c;ReactPress一个基于 Next.js 的博客和 CMS 系统&#xff0c;可查看 demo站点。&#xff08;fecommunity 投稿&#xff09; ReactPress&#xff1a;一款值得推荐的开源发布平台 …

Amazon Web Services (AWS)

一、Amazon Web Services (AWS)介绍 1、简介 2、产品 AWS 提供了各种云计算服务&#xff0c;包括 DynamoDB、S3、EC2、Lambda 等等。 登录aws后点击所有服务也可以看到amazon的所有服务&#xff1a; 3、免费试用产品 除了免费的Amazon Step Functions、Amazon Lambda&#…

rk3399开发环境使用Android 10初体验蓝牙功能

版本 日期 作者 变更表述 1.0 2024/11/10 于忠军 文档创建 零. 前言 由于Bluedroid的介绍文档有限&#xff0c;以及对Android的一些基本的知识需要了(Android 四大组件/AIDL/Framework/Binder机制/JNI/HIDL等)&#xff0c;加上需要掌握的语言包括Java/C/C等&#xff0…

Redis实战案例(黑马点评)

List item Redis实战案例&#xff08;黑马点评&#xff09; 一、短信登录 tomcat的运行原理&#xff1a; 当用户发起请求时&#xff0c;会访问tomcat注册的端口&#xff0c;任何程序想要运行&#xff0c;都需要有一个线程对当前端口号进行监听&#xff0c;当用户和tomcat连…

每行数据个数在变的二维数组的输出

#include<stdio.h> int main() {//定义四个一维数组int arr1[1] { 1 };int arr2[3] { 1,2,3 };int arr3[5] { 1,2,3,4,5 };int arr4[7] { 1,2,3,4,5,6,7 };//把四个一维数组放进一个二维数组int* arr[4] { arr1,arr2,arr3,arr4};//预先计算好每一个数组真实的长度in…

IPv6 NDP 记录

NDP&#xff08;Neighbor Discovery Protocol&#xff0c;邻居发现协议&#xff09; 是 IPv6 的一个关键协议&#xff0c;它组合了 IPv4 中的 ARP、ICMP 路由器发现和 ICMP 重定向等协议&#xff0c;并对它们作出了改进。该协议使用 ICMPv6 协议实现&#xff0c;作为 IPv6 的基…

MySQL数据库:SQL语言入门 【2】(学习笔记)

目录 2&#xff0c;DML —— 数据操作语言&#xff08;Data Manipulation Language&#xff09; &#xff08;1&#xff09;insert 增加 数据 &#xff08;2&#xff09;delete 删除 数据 truncate 删除表和数据&#xff0c;再创建一个新表 &#xff08;3&#xf…

第二十一周机器学习笔记:动手深度学习之——数据操作、数据预处理

第二十周周报 摘要Abstract一、动手深度学习1. 数据操作1.1 数据基本操作1.2 数据运算1.2.1 广播机制 1.3 索引和切片 2. 数据预处理 二、复习RNN与LSTM1. Recurrent Neural Network&#xff08;RNN&#xff0c;循环神经网络&#xff09;1.1 词汇vector的编码方式1.2 RNN的变形…

购物车demo全代码-对接支付宝沙箱环境

创建项目 vue create alipay-demoAlipayDemo.vue <template><div class"cart-container"><h2>商品列表</h2><table class"product-table"><tr><th>商品</th><th>价格</th><th>商品描…

【CANOE】【学习】【DecodeString】字节转为中文字符输出

系列文章目录 文章目录 系列文章目录前言一、DecodeString 转为中文字节输出二、代码举例1.代码Demo2.DecodeString 函数说明函数语法&#xff1a;参数说明&#xff1a;返回值&#xff1a;使用示例&#xff1a;示例代码&#xff1a; 说明&#xff1a; 前言 有时候使用的时候&a…

超全超详细使用SAM进行高效图像分割标注(GPU加速推理)

一、前言 &#x1f449; 在计算机视觉任务中&#xff0c;图像分割 是重要的基础工作&#xff0c;但人工标注往往耗时耗力。Meta推出的 SAM&#xff08;Segment Anything Model&#xff09;&#xff0c;大幅提升了分割效率和精度&#xff0c;让标注工作更加轻松。本篇博客将详细…

JavaEE 重要的API阅读

JavaEE API阅读 目的是为了应对学校考试&#xff0c;主要关注的是类的继承关系、抛出错误的类型、包名、包结构等等知识。此帖用于记录。 PageContext抽象类 包名及继承关系 继承自JspContext类。PageContext 实例提供对与某个 JSP 页⾯关联的所有名称空间的访问&#xff0…

【Python · PyTorch】卷积神经网络(基础概念)

【Python PyTorch】卷积神经网络 CNN&#xff08;基础概念&#xff09; 0. 生物学相似性1. 概念1.1 定义1.2 优势1.2.1 权重共享1.2.2 局部连接1.2.3 层次结构 1.3 结构1.4 数据预处理1.4.1 标签编码① One-Hot编码 / 独热编码② Word Embedding / 词嵌入 1.4.2 归一化① Min-…

Python爬虫----python爬虫基础

一、python爬虫基础-爬虫简介 1、现实生活中实际爬虫有哪些&#xff1f; 2、什么是网络爬虫&#xff1f; 3、什么是通用爬虫和聚焦爬虫&#xff1f; 4、为什么要用python写爬虫程序 5、环境和工具 二、python爬虫基础-http协议和chrome抓包工具 1、什么是http和https协议…