08无监督学习——聚类

1.什么是聚类任务?

类别:无监督学习
目的:通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。

1.1K均值聚类

步骤:

  • 随机选取样本作为初始均值向量(初始值:k的值【即几个簇】)
  • 分别计算每个样本点到初始均值向量的距离,距离哪个点最近就属于哪个簇
  • 每个簇重新计算中心点,重复第二步直到收敛

距离计算:
距离度量/非距离度量:若它是一个距离度量则应该满足以下性质:

  • 非负性:dist(x,y)>=0
  • 同一性:dist(x,y)=0,当且仅当x=y
  • 对称性:dist(x,y) = dist(y,x)
  • 直递性:dist(x,z) <= dist(x,y)+dist(y,z)

1.1.1 曼哈顿距离

d i s t m a n ( x i , x j ) = ∥ x i − x j ∥ 1 = ∑ μ = 1 n ∣ x i μ − x j μ ∣ {\rm{dis}}{{\rm{t}}_{man}}({x_i},{x_j}) = {\left\| {{x_i} - {x_j}} \right\|_1} = \sum\limits_{\mu = 1}^n {\left| {{x_{i\mu }} - {x_{j\mu }}} \right|} distman(xi,xj)=xixj1=μ=1nxiμxjμ

1.1.2欧氏距离

dist ⁡ e d ( x i , x j ) = ∥ x i − x j ∥ 2 = ∑ u = 1 n ∣ x i u − x j u ∣ 2 \operatorname{dist}_{\mathrm{ed}}\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right)=\left\|\boldsymbol{x}_i-\boldsymbol{x}_j\right\|_2=\sqrt{\sum_{u=1}^n\left|x_{i u}-x_{j u}\right|^2} disted(xi,xj)=xixj2=u=1nxiuxju2

1.1.3 切比雪夫距离

切比雪夫距离定义为两个向量在任意坐标维度上的最大差值。换句话说,它就是沿着一个轴的最大距离。切比雪夫距离通常被称为棋盘距离,因为国际象棋的国王从一个方格到另一个方格的最小步数等于切比雪夫距离。

D ( x , y ) = max ⁡ i ( ∣ x i − y i ∣ ) D(x,y) = \mathop {\max }\limits_i (|{x_i} - {y_i}|) D(x,y)=imax(xiyi)

切比雪夫距离通常用于特定的用例,这使得它很难像欧氏距离或余弦相似度那样作为通用的距离度量。因此,在确定适合用例时才使用它。

1.1.4 闵式距离

给定样本 x i = ( x i 1 ; x i 2 ; … ; x i n ) {x_i} = ({x_{i1}};{x_{i2}}; \ldots ;{x_{in}}) xi=(xi1;xi2;;xin) x j = ( x j 1 ; x j 2 ; … ; x j n ) {x_j} = ({x_{j1}};{x_{j2}}; \ldots ;{x_{jn}}) xj=(xj1;xj2;;xjn),最常用的就是闵可夫斯基距离。

d i s t m k ( x i , x j ) = ( ∑ u = 1 n ∣ x i u − x j u ∣ p ) 1 p dis{t_{mk}}({x_i},{x_j}) = {(\sum\limits_{u = 1}^n {{{\left| {{x_{iu}} - {x_{ju}}} \right|}^p}} )^{{1 \over p}}} distmk(xi,xj)=(u=1nxiuxjup)p1

  • p=1时,闵可夫斯基距离即为曼哈顿距离( Manhattan distance )
  • p=2时,闵可夫斯基距离即为欧式距离( Euclidean distance )
  • p= ∞ \infty 时,闵可夫斯基距离即为切比雪夫距离(Chebyshev Distance )

1.1.5 余弦相似度(Cosine Similarity )

余弦相似度经常被用作抵消高维欧式距离问题。余弦相似度是指两个向量夹角的余弦。

两个方向完全相同的向量的余弦相似度为1,而两个彼此相对的向量的余弦相似度为- 1。注意,它们的大小并不重要,因为这是在方向上的度量。

D ( x , y ) = cos ⁡ ( θ ) = x ⋅ y ∥ x ∥ ∥ y ∥ D(x,y) = \cos (\theta ) = {{x \cdot y} \over {\left\| x \right\|\left\| y \right\|}} D(x,y)=cos(θ)=xyxy

用例:当我们对高维数据向量的大小不关注时,可以使用余弦相似度。列如,对于文本分析,当数据以单词计数表示时,经常使用此度量。例如,当一个单词在一个文档中比另一个单词更频繁出现时,这并不一定意味着文档与该单词更相关。可能是文件长度不均匀或者计数的重要性不太重要。我们最好使用忽略幅度的余弦相似度。

1.1.6 汉明距离(Hamming Distance )

汉明距离是两个向量之间不同值的个数。它通常用于比较两个相同长度的二进制字符串。它还可以用于字符串,通过计算不同字符的数量来比较它们之间的相似程度。

缺点:当两个向量长度不相等时,汉明距离使用起来很麻烦。

用例∶典型的用例包括数据通过计算机网络传输时的错误纠正/检测。它可以用来确定二进制字中失真的数目,作为估计误差的一种方法。此外,你还可以使用汉明距离来度量分类变量之间的距离。

1.2密度聚类(Density-based Spatial Clusteringof Applications with Noise )

基于密度的聚类,此类算法假设聚类结构能通过样本分布的紧密程度确定

密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果

  • 层次聚类
  • 高斯混合模型聚类
  • 聚类效果的衡量指标

1.3层次聚类(hierarchicalclustering)

试图在不同层次对数据集进行划分,从而形成树形的聚类结构.数据集的划分可采用"自底向上"的聚合策略,也可采用"自顶向下"的拆分策略.

AGNES是一种采用自底向上聚合策略的层次聚类算法.它先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数。

AGNES算法步骤:
( 1)初始化,每个样本当做一个簇
( 2)计算任意两簇距离,找出距离最近的两个簇,合并这两簇
(3)重复步骤2…
直到,最远两簇距离超过阈值,或者簇的个数达到指定值,终止算法

DIANA算法步骤:
( 1)初始化,所有样本集中归为一个簇
( 2)在同一个簇中,计算任意两个样本之间的距离,找到距离最远的两个样本点a,b,
将a,b作为两个簇的中心;
( 3)计算原来簇中剩余样本点距离a , b 的距离,距离哪个中心近,分配到哪个簇中
( 4)重复步骤2、3…
直到,最远两簇距离不足阈值,或者簇的个数达到指定值,终止算法

层次聚类(Hierarchical Clustering )在生物信息学中的应用

层次聚类是一种比较实用的聚类方法,应用于不同领域的数据分析算法中。
在生物医学信息学领域,层次聚类方法常常用于蛋白质序列数据聚类和基因表达数据的聚类。结构相似的蛋白质,功能也相似,通过聚类将相似功能的蛋白质聚为一类,为研究蛋白质的功能提供帮助。基因表达数据聚类就是将具有相似表达谱的基因聚为一类,称为共表达基因,根据基因的共表达现象推断这些基因的生物学功能,从而对新的基因功能进行注释,对基因的生物学功能研究具有重要意义。

1.4 高斯混合聚类模型

已知样本集D= D = { x 1 , x 2 , . . . , x m } D = \{ {x_1},{x_2},...,{x_m}\} D={x1,x2,...,xm},要将这些样本聚成k类,我们认为样本服从混合高斯分布:

p M ( x ) = ∑ i = 1 k α i ⋅ p ( x ∣ μ i , Σ i ) {p_M}(x) = \sum\limits_{i = 1}^k {{\alpha _i}} \cdot p(x|{\mu _i},{\Sigma _i}) pM(x)=i=1kαip(xμi,Σi)

第一步初始化高斯混合分布的模型参数 α i {{\alpha _i}} αi, μ i {\mu _i} μi, Σ i {\Sigma _i} Σi

第二步计算x 由各混合成分生成的后验概率,即观测数据 x j {x_j} xj由第i个分模型生成的概率 p ( z j = i ∣ x j ) p({z_j} = i|{x_j}) p(zj=ixj),并记为 γ j i {\gamma _{ji}} γji

γ j i = a i ⋅ p ( x j ∣ μ i , Σ i ) ∑ i = 1 k a i p ( x j ∣ μ i , Σ i ) {\gamma _{ji}} = {{{a_i} \cdot p({x_j}|{\mu _i},{\Sigma _i})} \over {\sum\limits_{i = 1}^k {{a_i}p({x_j}|{\mu _i},{\Sigma _i})} }} γji=i=1kaip(xjμi,Σi)aip(xjμi,Σi)

第三步计算新的横型参数:

μ i ′ = ∑ j = 1 m γ j i x j ∑ j = 1 m γ j i Σ i ′ = ∑ j = 1 m γ j i ( x j − μ i ′ ) ( x j − μ i ′ ) T ∑ j = 1 m γ j i α i ′ = ∑ j = 1 m γ j i m \begin{aligned} \boldsymbol{\mu}_i^{\prime} & =\frac{\sum_{j=1}^m \gamma_{j i} x_j}{\sum_{j=1}^m \gamma_{j i}} \\ \boldsymbol{\Sigma}_i^{\prime} & =\frac{\sum_{j=1}^m \gamma_{j i}\left(x_j-\mu_i^{\prime}\right)\left(x_j-\mu_i^{\prime}\right)^{\mathrm{T}}}{\sum_{j=1}^m \gamma_{j i}} \\ \alpha_i^{\prime} & =\frac{\sum_{j=1}^m \gamma_{j i}}{m} \end{aligned} μiΣiαi=j=1mγjij=1mγjixj=j=1mγjij=1mγji(xjμi)(xjμi)T=mj=1mγji

第四步按照新的模型参数重复2,3步,直到满足停止条件

第五步将每个样本按照入 λ j = arg ⁡ max ⁡ i ∈ ( 1 , 2 , . . . , k ) γ j i {\lambda _j} = \mathop {\arg \max }\limits_{i \in (1,2,...,k)} {\gamma _{ji}} λj=i(1,2,...,k)argmaxγji, 划入对应的簇。即对每个样本来自哪个分模型的概率大就划入哪个分模型的簇中,最终就得到了k个聚类

总结:

  • 分层聚类擅长于发现数据中的嵌入式结构。
  • 基于密度的方法在寻找具有相似密度的未知数量的聚类方面表现优异。
  • K-means考虑在整个数据集中找到"共识”,K-means考虑数据集中的每个点,并使用该信息在一系列迭代中进化聚类。
  • 高斯混合模型考虑重合数据的聚类。

2.性能度量

什么是好的聚类?

目的∶1评估聚类结果的好坏②确立优化的目标

结论︰簇内的样本尺度尽可能彼此相似,簇间的样本尽可能不同。

外部指标∶将聚类结果与某个"参考模型"进行比较,称为"外部指标"”。

a = ∣ S S ∣ , S S = { ( x i , x j ) ∣ λ i = λ j , λ i ∗ = λ j ∗ , i < j ) } , b = ∣ S D ∣ , S D = { ( x i , x j ) ∣ λ i = λ j , λ i ∗ ≠ λ j ∗ , i < j ) } , c = ∣ D S ∣ , D S = { ( x i , x j ) ∣ λ i ≠ λ j , λ i ∗ = λ j ∗ , i < j ) } , d = ∣ D D ∣ , D D = { ( x i , x j ) ∣ λ i ≠ λ j , λ i ∗ ≠ λ j ∗ , i < j ) } , \begin{aligned} & \left.a=|S S|, \quad S S=\left\{\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right) \mid \lambda_i=\lambda_j, \lambda_i^*=\lambda_j^*, i<j\right)\right\}, \\ & \left.b=|S D|, \quad S D=\left\{\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right) \mid \lambda_i=\lambda_j, \lambda_i^* \neq \lambda_j^*, i<j\right)\right\}, \\ & \left.c=|D S|, \quad D S=\left\{\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right) \mid \lambda_i \neq \lambda_j, \lambda_i^*=\lambda_j^*, i<j\right)\right\}, \\ & \left.d=|D D|, \quad D D=\left\{\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right) \mid \lambda_i \neq \lambda_j, \lambda_i^* \neq \lambda_j^*, i<j\right)\right\}, \\ & \end{aligned} a=SS,SS={(xi,xj)λi=λj,λi=λj,i<j)},b=SD,SD={(xi,xj)λi=λj,λi=λj,i<j)},c=DS,DS={(xi,xj)λi=λj,λi=λj,i<j)},d=DD,DD={(xi,xj)λi=λj,λi=λj,i<j)},

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

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

相关文章

colab释放GPU显存

不用其他博客说的安装包&#xff0c;然后查看进程&#xff0c;kill&#xff0c;本文介绍一种简单的方法。 点击运行过代码的ipynb页面右上角的下三角&#xff0c;然后点击展开菜单栏中的View resources 随后会展开一个侧边栏&#xff0c;点击 manage sessions 3. 在页面中央会…

Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台

当今互联网发展迅速&#xff0c;应用程序的性能监控显得越来越重要。DockerJmeterInfluxDBGrafana 是一种常用的性能监控平台&#xff0c;可以帮助开发者快速搭建一套可靠的监控体系。在本文中&#xff0c;我们将介绍如何使用这些工具搭建性能监控平台&#xff0c;以便开发人员…

每天一道leetcode:127. 单词接龙(图论困难建图广度优先遍历)

今日份题目&#xff1a; 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> ... -> sk&#xff1a; 每一对相邻的单词只差一个字母。 对于 1 < i < k 时&#xff0c;每个 si 都在 wordList 中…

【Apollo】阿波罗自动驾驶技术:引领汽车行业革新

前言 Apollo (阿波罗)是一个开放的、完整的、安全的平台&#xff0c;将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统&#xff0c;快速搭建一套属于自己的自动驾驶系统。 开放能力、共享资源、加速创新、持续共赢是 Apollo 开放平台的口号。百度把自己所拥有的强大、…

设计模式 -- 单例模式(传统面向对象与JavaScript 的对比实现)

单例模式 – 传统面向对象与JavaScript 的对比实现 文章目录 单例模式 -- 传统面向对象与JavaScript 的对比实现传统的面向对象的实现定义实现思路初级实现缺点 透明的单例模式实现目的&#xff08;实现效果&#xff09;实现缺点 用代理实现单例模式优点 JavaScript 中的单例模…

git回退操作

1. 在工作区回退&#xff1a; 此时文件没有经过任何提交 git checkout -- filename2. git add之后回退 git reset HEAD3. git commit 之后回退 git reset --hard commit_id(前4位)其中&#xff0c;commit_id可通过git log查看&#xff0c;例如&#xff1a; qzcryqz MINGW6…

npm install ffi各种失败,换命令npm i ffi-napi成功

网上各种帖子安装ffi&#xff0c;基本上到了windows build tools这里会卡住。 使用命令npm install --global --production windows-build-tools 安装报错信息如下&#xff1a; PS E:\codes\nodejsPath\tcpTest> npm install --global --production windows-build-tools …

成为创作者的第512天——创作纪念日

​ &#x1f4da;文章目录 &#x1f4e8;官方致信 &#x1f3af;我的第一篇文章 &#x1f9e9;机缘 &#x1f9e9;收获 &#x1f9e9;成就 &#x1f9e9;憧憬与目标 &#x1f4e8;官方致信 ​ &#x1f3af;我的第一篇文章 2022 年 03 月 26 日&#xff0c;那一天我在C…

centos 安装防火墙,并开启对应端口号

1.查看防火墙状态&#xff1a; 命令&#xff1a;systemctl status firewalld.service 开启防火墙时&#xff0c;提示没有安装防火墙 [rootlocalhost ~]# systemctl start firewalld.service Failed to start firewalld.service: Unit not found.2.安装防火墙 [rootlocalhost …

阿里云ECS服务器企业级和共享型介绍_企业级常见问题解答FAQ

阿里云企业级服务器是什么&#xff1f;企业级和共享型有什么区别&#xff1f;企业级服务器具有独享且稳定的计算、存储、网络资源&#xff0c;如ECS计算型c6、通用型g8等都是企业级实例&#xff0c;阿里云百科分享什么是企业级云服务器、企业级实例的优势、企业级和共享型云服务…

电脑远程接入软件可以进行文件传输吗?快解析内网穿透

电脑远程接入软件的出现&#xff0c;让我们可以在两台电脑之间进行交互和操作。但是&#xff0c;很多人对于这些软件能否进行文件传输还存在一些疑问。下面的文章将解答这个问题。 1.电脑远程接入软件可以进行文件传输。传统上&#xff0c;我们可能会通过传输线或者移动存储设…

R语言实现非等比例风险生存资料分析(1)

#非等比例风险的生存资料分析 ###1 生成模拟数据### library(flexsurv) set.seed(123) # 生成样本数量 n <- 100 # 生成时间数据 time <- sample(1:1000,n,replaceF) # 调整shape和scale参数以控制生存曲线形状 # 生成事件数据&#xff08;假设按比例风险模型&#xff0…

mqtt开关实现

这个项目的主要需求其实并不复杂&#xff0c;只是需要让用户可以在小程序上控制预约后的自习室座位的灯和柜子等的开关。这里的关键是需要通过一个网络应用来转发用户对智能硬件的控制请求。 物联网应用的主要几个难点及对应的思路如下&#xff1a; 通信数据量小、通信环境不…

Qt下拉菜单

1&#xff0c;QComboBox 2&#xff0c;setMenu()---设置下拉菜单 AI对话未来丨智能写作对话: setMenu()是QWidget类的一个成员函数&#xff0c;在Qt中用于将一个菜单作为一个控件的下拉菜单设置。具体来说&#xff0c;它会把相应的菜单对象与该控件关联&#xff0c;并在控件上…

阿里云无影云电脑/云桌面收费价格表_使用申请方法

阿里云无影云电脑配置具体收费价格表&#xff0c;4核8G企业办公型云电脑可以免费使用3个月&#xff0c;无影云电脑地域不同价格不同&#xff0c;无影云电脑费用是由云桌面配置、云盘、互联网访问带宽、AD Connector 、桌面组共用桌面session 等费用组成&#xff0c;阿里云百科分…

Django的模型

定义模型 from django.db import models class User(models.Model):# 类属性是表示表的字段username models.CharField(max_length50,uniqueTrue)password models.CharField(max_length200)create_time models.DateTimeField(auto_now_addTrue) # auto_now_add新增数据时间…

计算机竞赛 垃圾邮件(短信)分类算法实现 机器学习 深度学习

文章目录 0 前言2 垃圾短信/邮件 分类算法 原理2.1 常用的分类器 - 贝叶斯分类器 3 数据集介绍4 数据预处理5 特征提取6 训练分类器7 综合测试结果8 其他模型方法9 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 垃圾邮件(短信)分类算…

NPM 创建和管理组织

目录 1、创建一个组织 2、将用户帐户转换为组织 3、组织中开启双因素身份验证 3.1 关于组织的双因素身份验证 3.2 先决条件 3.3 在您的组织中要求双因素身份验证 3.4 帮助已删除的成员和外部协作者重新加入您的组织 4、重命名组织 5、删除组织 1、创建一个组织 任何n…

Win7 x86 家庭版SP1 配置 Python 开发环境

1 Win7 下载地址 来源于 MSDN, 我告诉你 - 做一个安静的工具站 ed2k://|file|cn_windows_7_home_basic_with_sp1_x86_dvd_u_676500.iso|2653276160|843E7A78F2126FAC726CF5342710082D|/ 2 Python 版本选择 Python 3.7.9 Python Release Python 3.7.9 | Python.org 3 Pychar…

Shepherd: A Critic for Language Model Generation

本文是LLM系列的相关文章&#xff0c;针对《Shepherd: A Critic for Language Model Generation》的翻译。 Shepherd&#xff1a;语言模型生成的评价 摘要1 引言2 数据收集3 Shepherd模型4 评估反馈5 结果6 相关工作7 结论不足 摘要 随着大型语言模型的改进&#xff0c;人们对…