当前位置: 首页 > news >正文

【生物信息学】层次聚类过程

文章目录

  • 一、理论
  • 二、实践
    • 过程1
    • 过程2

一、理论

  层次聚类是一种基于树状结构的聚类方法,它试图通过在不同层次上逐步合并或分裂数据集来构建聚类结构。这个树状结构通常被称为“树状图”(dendrogram),其中每个节点代表一个数据点或一组数据点,而连接节点的分支表示聚类的形成过程。
  下面是层次聚类的一般原理:

  1. 距离矩阵计算: 首先,计算数据集中每对数据点之间的距离。这可以是欧氏距离、曼哈顿距离、相关性等不同的距离度量。

  2. 初始化: 将每个数据点作为一个独立的簇,形成初始的聚类。

  3. 迭代合并或分裂: 从最小距离开始,迭代地合并或分裂簇,直到满足某个停止条件。

    • 合并(Agglomerative): 从底层开始,将最近的两个簇合并为一个新的簇。合并的标准可以是簇内点之间的最小距离、最大距离、平均距离等。

    • 分裂(Divisive): 从顶层开始,将一个簇分裂成两个新的簇。分裂的标准通常是选择一个簇中的一个点,然后将其他点分配给最近的簇。

  4. 更新距离矩阵: 在每次合并或分裂后,更新距离矩阵,反映新形成的簇之间的距离。

  5. 形成树状图: 记录每次合并或分裂的过程,形成树状图。树状图的叶子节点代表单个数据点,内部节点代表合并的簇。

  6. 停止条件: 根据具体任务和目标选择停止合并或分裂的条件,可以是簇的数量、簇的直径、距离的阈值等。

  层次聚类的优点之一是它提供了在不同层次上观察数据结构的能力,同时不需要预先指定簇的数量。然而,由于其复杂度较高,对大型数据集的处理可能会受到计算资源的限制。

二、实践

  考虑下图所示的单链聚类,其中数据集包含 5 个点,任意两点之间的距离在图的左下角给出。绘制其按照Mini-Distance树状图

δ \delta δBCDE
A1324
B323
C13
D5

聚类过程:
  用 δ ( A , B ) \delta(A, B) δ(A,B) 表示两个簇 A 和 B 之间的距离,这个距离可以根据不同的标准进行计算,比如最小距离、最大距离、平均距离等。

过程1

  这里 δ ( A , B ) = 1 , δ ( C , D ) = 1 \delta(A,B)=1,\delta(C,D)=1 δ(A,B)=1,δ(C,D)=1,选择先合并AB,则 δ ( A B , E ) = min ⁡ ( δ ( A , E ) , δ ( B , E ) ) = 3 \delta(AB,E)=\min(\delta(A,E),\delta(B,E))=3 δ(AB,E)=min(δ(A,E),δ(B,E))=3

δ \delta δCDE
AB323
C13
D5
  • 再合并CD,则
δ \delta δCDE
AB23
CD3
  • 再合并ABCD,则
δ \delta δE
ABCD3
            ┌──────── ABCDE ────────┐│3             		    │┌──── ABCD ────┐     		││2            23│
┌───── AB ────┐ ┌──── CD ───┐		│
│1           1│ │1          │1	 	│
A		      B C			D		E

过程2

  • 选择先合并CD
δ \delta δBCDE
A1324
B323
C13
D5
  • δ ( C D , E ) = min ⁡ ( δ ( C , E ) , δ ( D , E ) ) = 3 \delta(CD,E)=\min(\delta(C,E),\delta(D,E))=3 δ(CD,E)=min(δ(C,E),δ(D,E))=3
  • δ ( C D , A ) = min ⁡ ( δ ( C , A ) , δ ( D , A ) ) = 2 \delta(CD,A)=\min(\delta(C,A),\delta(D,A))=2 δ(CD,A)=min(δ(C,A),δ(D,A))=2
  • δ ( C D , B ) = min ⁡ ( δ ( C , B ) , δ ( D , B ) ) = 2 \delta(CD,B)=\min(\delta(C,B),\delta(D,B))=2 δ(CD,B)=min(δ(C,B),δ(D,B))=2
δ \delta δBCDE
A124
B23
CD3
  • 再合并AB

  • δ ( A B , C D ) = min ⁡ ( δ ( A , C D ) , δ ( B , C D ) ) = 2 \delta(AB,CD)=\min(\delta(A,CD),\delta(B,CD))=2 δ(AB,CD)=min(δ(A,CD),δ(B,CD))=2

  • δ ( A B , E ) = min ⁡ ( δ ( A , E ) , δ ( B , E ) ) = 3 \delta(AB,E)=\min(\delta(A,E),\delta(B,E))=3 δ(AB,E)=min(δ(A,E),δ(B,E))=3

δ \delta δCDE
AB23
CD3
  • 再合并ABCD,则
δ \delta δE
ABCD3

相关文章:

【生物信息学】层次聚类过程

文章目录 一、理论二、实践过程1过程2 一、理论 层次聚类是一种基于树状结构的聚类方法,它试图通过在不同层次上逐步合并或分裂数据集来构建聚类结构。这个树状结构通常被称为“树状图”(dendrogram),其中每个节点代表一个数据点或…...

变分自动编码器【03/3】:使用 Docker 和 Bash 脚本进行超参数调整

一、说明 在深入研究第 1 部分中的介绍和实现,并在第 2 部分中探索训练过程之后,我们现在将重点转向在第 3 部分中通过超参数调整来优化模型的性能。要访问本系列的完整代码,请访问我们的 GitHub 存储库在GitHub - asokraju/ImageAutoEncoder…...

KnowLM知识抽取大模型

文章目录 KnowLM项目介绍KnowLM项目的动机ChatGPT存在的问题 基于LLama的知识抽取的智析大模型数据集构建及训练过程预训练数据集构建预训练训练过程指令微调数据集构建 指令微调训练过程开源的数据集及模型局限性信息抽取Prompt 部署环境配置模型下载预训练模型使用LoRA模型使…...

MySQL数据库 索引

目录 索引概述 索引结构 二叉树 B-Tree BTree Hash 索引分类 索引语法 慢查询日志 索引概述 索引 (index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种…...

ES 错误码

2xx状态码(如200)表示请求成功处理,并且不需要重试。 400状态码表示客户端发送了无效的请求,例如请求的语法有误或缺少必需的参数。在这种情况下,重试相同的请求很可能会导致相同的错误。因此,应该先检查并…...

听GPT 讲Rust源代码--src/tools(18)

File: rust/src/tools/rust-analyzer/crates/ide-ssr/src/from_comment.rs 在Rust源代码中的from_comment.rs文件位于Rust分析器(rust-analyzer)工具的ide-ssr库中,它的作用是将注释转换为Rust代码。 具体来说,该文件实现了从注…...

如何实现设备远程控制?

在工业自动化领域,设备远程控制是一项非常重要的技术。它使得设备可以在远离现场的情况下进行远程操作和维护,大大提高了设备的可用性和效率。 设备远程控制的应用场景有哪些? 远程故障排除:当设备出现故障时,工程师…...

百度侯震宇详解:大模型将如何重构云计算?

12月20日,在2023百度云智大会智算大会上,百度集团副总裁侯震宇以“大模型重构云计算”为主题发表演讲。他强调,AI原生时代,面向大模型的基础设施体系需要全面重构,为构建繁荣的AI原生生态筑牢底座。 侯震宇表示&…...

[Java]FileOutputStream的换行/续写/一次性写出一个字符串的方法

1.续写:FileOutputStream这个io流中的write方法默认情况下是覆盖写入的,如果需要追加写入,需要添加一个参数true 2.虽然write只能一个字符一个字符写入 但是我们可以把想输入的字符串放在str 再将str转化成byte数组 import java.io.FileOutp…...

VM进行TCP/IP通信

OK就变成这样 vm充当服务端的话也是差不多的操作 点击连接 这里我把端口号换掉了因为可能被占用报错了,如果有报错可以尝试尝试换个端口号 注: 还有一个点在工作中要是充当服务器,要去网络这边看下他的ip地址 拉到最后面...

剑指Offer 队列栈题目集合

目录 用两个栈实现队列 用两个栈实现队列 刷题链接: https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6 题目描述 思路一: 使用两个栈来实现队列的功能。栈 1 用于存储入队的元素,而栈 2 用于存储出队的元素。 1.push…...

grafana基本使用

一、安装grafana 1.下载 官网下载地址: https://grafana.com/grafana/download官网包的下载地址: yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.2-1.x86_64.rpm官网下载速度非常慢,这里选择清华大…...

备份至关重要!如何解决iCloud的上次备份无法完成的问题

将iPhone和iPad备份到iCloud对于在设备发生故障或丢失时确保数据安全至关重要。但iOS用户有时会收到一条令人不安的消息,“上次备份无法完成。”下面我们来看看可能导致此问题的原因,如何解决此问题,并使你的iCloud备份再次顺利运行。 这些故…...

【项目问题解决】% sql注入问题

目录 【项目问题解决】% sql注入问题 1.问题描述2.问题原因3.解决思路4.解决方案1.前端限制传入特殊字符2.后端拦截特殊字符-正则表达式3.后端拦截特殊字符-拦截器 5.总结6.参考 文章所属专区 项目问题解决 1.问题描述 在处理接口入参的一些sql注入问题,虽然通过M…...

B/S医院手术麻醉临床管理系统源码 手术申请、手术安排

手术麻醉系统概述 手术室是医院各个科室工作交叉汇集的一个重要中心,在时间、空间、设备、药物、材料、人员调配的科学管理、高效运作、安全质控、绩效考核,都十分重要。手术麻醉管理系统(Operation Anesthesia Management System&#xff0…...

解锁高效工作!5款优秀工时管理软件推荐

工时管理,一直是让许多企业和团队头疼的问题。传统的纸质工时表、复杂的电子表格,不仅操作繁琐,还容易出错。幸好,随着科技的进步,我们迎来了工时管理软件的春天。今天,就让我们一起走进这个新时代&#xf…...

ICLR 2024 高分论文 | Step-Back Prompting 使大语言模型通过抽象进行推理

文章目录 一、前言二、主要内容三、总结🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 ICLR 2024 高分论文:《Step-Back Prompting Enables Reasoning Via Abstraction in Large Language Models》 论文地址:https://openreview.net/forum?id=3bq3jsvcQ1 …...

边缘计算有哪些常用场景?TSINGSEE边缘AI视频分析技术行业解决方案

随着ChatGPT生成式人工智能的爆发,AI技术在业界又掀起一波新浪潮。值得关注的是,边缘AI智能也在AI人工智能技术进步的基础上得到了快速发展。IDC跟踪报告数据显示,2021年我国的边缘计算服务器整体市场规模达到33.1亿美元,预计2020…...

配置BGP的基本示例

目录 BGP简介 BGP定义 配置BGP目的 受益 实验 实验拓扑 ​编辑 组网需求 配置思路 配置步骤 配置各接口所属的VLAN 配置各Vlanif的ip地址 配置IBGP连接 配置EBGP 查看BGP对等体的连接状态 配置SwitchA发布路由10.1.0.0/16 配置BGP引入直连路由 BGP简介 BGP定义 …...

Flask解决接口跨域问题

1、什么是跨域CROS CORS(Cross-Origin Resource Sharing,跨域资源共享)是一种浏览器安全策略,用于控制在一个网页应用中如何让一个域的Web页面能够请求另一个域的资源。在Web开发中,由于同源策略(Same-Ori…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...