每日学习过程中记录的笔记,从各个网站整理下来,用于当日复盘。

如果其中的知识点能帮到你,也很荣幸呀。

-------------------------------------------------------20250622-------------------------------------------------------------

🐱1、模糊聚类最大树算法

【机器学习笔记37】模糊聚类分析(基于最大生成树)-CSDN博客

🐕模糊关系:假设论域UV(论域指的事件中所有感兴趣的研究对象的非空集合),设U×V的一个模糊子集R是U到V的模糊关系,其隶属函数映射为UR​:U×V→[0,1],隶属度R(x,y)称为(x,y)关于模糊关系R的相关程度。例如身高和体重就是模糊关系。

🐕在模糊集合论中,元素的隶属关系不再是简单的“是”或“否”,而是用一个介于0和1之间的实数来表示,称为隶属度。模糊子集可以进行交并补运算。

🐕将模糊关系用模糊矩阵表述,类似马尔可夫随机过程的转移概率。

        模糊矩阵的合成运算和矩阵乘法类似,只是在具体的运算中原先的元素乘元素编程取最小值,原先的乘积相加变为求最大值。

🐕模糊矩阵的λ截距矩阵,这个定义比较简单,矩阵中的每个元素大于λ则为1,否则为0。举例如下:

模糊关系的聚类分析

🐕基于模糊矩阵的等价关系

则R是模糊等价矩阵。

🐕模糊矩阵的分类

由于等价关系代表着集合上的一个分类,因此在模糊聚类中,我们对模糊矩阵取不同的λ截距,就可以取不同的分类。

🐕模糊聚类算法步骤

🐕最大树:想象一群人(元素),两两之间的“关系强度”用0~1的数值表示(如友情深浅)。

  • 目标:用尽可能少的“强关系”连接所有人,形成一棵树。

  • 方法

    1. 按关系强度从高到低排序所有可能的连接。

    2. 依次选择边,如果连接后不会形成环,就保留。

    3. 直到所有人连通为止。

以上进行聚类操作,进而得到模糊集的聚类。


-------------------------------------------------------20250623-------------------------------------------------------------

🐱2、图神经网络

图神经网络GNN综述汇报(先浅浅入个门)_哔哩哔哩_bilibili

基础概念

🐕图神经网络是指使用神经网络学习图结构数据,提取挖掘图结构数据的特征和模式,满足聚类、分类、预测、分割、生成等图学习任务需求的算法总和。

🐕图数学定义:节点、边、关联网络

🐕图数据特点:节点之间距离无法欧氏距离测量。

🐕图任务分类

🐕图数据存储

🐕图属性更新

🐕图池化信息

🐕基本GNN模型

🐕GNN模型分类

🐕GCN图卷积神经网络

GNN与网络嵌入

🐕GNN的研究与图嵌入或网络嵌入(network embedding)密切相关。网络编码旨在将网络节点表示为低维向量表示,以维护网络拓扑结构和节点内容信息,并且便与后续图像和数据分析任务,如分类、聚类等。

与此同时,GNN是一种深度学习模型,旨在以端到端方式解决与图结构相关的任务。

🐕GNN与网络嵌入的主要区别在于,GNN是针对各种任务而设计的一组神经网络模型,而网络嵌入涵盖了针对同一任务的各种方法。因此,GNNs可以通过一个图形自动编码器框架来解决网络嵌入问题。另一方面,网络嵌入还包含其他非深度学习方法,如矩阵分解、随机游走等。

GNN与Graph Kernel

🐕Graph Kernel历来是解决图分类问题的主要技术。这些方法使用一个核函数来度量图对之间的相似性,那么这样基于核的算法(如支持向量机)就可以用于图的监督学习。与GNN类似,Graph Kernel可以通过映射函数将图或节点嵌入到向量空间中。不同的是,这个映射函数是确定性的,而不是可学习的。由于Graph Kernel方法采用两两相似度计算,因此存在较大的计算瓶颈。一方面,GNN直接根据所提取的图表示进行图分类,因此比Graph Kernel方法效率高得多。

为什么推荐系统不用GNN?

为什么最近几年,没人在推荐系统里去玩 GNN 模型,GNN 是凉透了吗? - 知乎

🐕推荐系统的优化要明确优化是怎么得到效果的,收益来源于样本、特征、模型三者中一个或者多个。如下图两个方面的提升。

🐕GNN能够提供——信息利用能力的增强。例如从中心节点扩展到周围节点,学习了二跳、三跳关联关系的学习能力。利用知识图谱点之间的拓扑结构,把拓扑结构蕴含的关系信息编码到embedding,进而提供收益。

①对用户行为信息丰富的推荐系统,例如抖音、小红书,用户之间具有协同关系,能够充分表征内容相似性,不需要知识和属性的连接补充相似性。不需要GNN的信息增量。

②对于纯知识型的推荐系统,例如豆瓣、IMDB、知网。网站中知识的链接是非常重要的,知识间二度、三度的关联也是有价值的。而且它缺乏足够多的用户互动信息来覆盖表达物品之间的相似性,那么GNN就是有价值的。

-------------------------------------------------------20250625-------------------------------------------------------------

🐱3、深度互学技术

模型蒸馏算法

🐕模型越来越大,参数很多,涉及更高效的模型能够解决。

🐕设计预训练的大网络是老师,向小网络传递知识(平滑后的概率估计),提高小网络性能。单向知识传递。小网络模仿大网络类别概率,表现比大网络更好的性能。但是小网络的反馈不能优化。

🐕本质原因:不需要一个大专家学习所有东西,而是学生学习+从老师那里学到一些东西,能够降低参数量,增强泛化能力,能够适应新的数据。

深度互学习

🐕小网络之间相互学习,三人行必有我师。

互学习算法也很容易扩展到多网络学习和半监督学习场景中。当有K个网络时,深度互学习学习每个网络时将其余K-1个网络分别作为教师来提供学习经验。另外一种策略是将其余K-1个网络融合后得到一个教师来提供学习经验 。

其中,多网络互学习中多个独立教师(DML)的性能会优于融合教师(DML_e),就像多个老师教要比一个会的多的老师教更好。

-------------------------------------------------------20250626-------------------------------------------------------------

大模型量化技术

由于RTX 3090显卡的显存为24GB,而Qwen3-30B-A3B模型非常大,直接运行可能会遇到显存不足的问题。因此,需要采用一些优化和量化技术来减少显存占用。


安装必要的库:

pip install torch transformers

量化技术可以显著减少模型的显存占用。常见的量化方法包括INT8量化混合精度量化(FP16/FP32)。

INT8量化

INT8量化是将32位浮点数(FP32)模型的参数和激活值转换为8位整数(INT8)的过程,旨在减少模型的计算复杂度和内存占用,从而提升推理速度。

使用bitsandbytes进行INT8量化。bitsandbytes是一个流行的库,用于对模型进行INT8量化。

from transformers import AutoModelForCausalLM, AutoTokenizer
import torchmodel_name = "Qwen/Qwen3-30B-A3B"# Load the model and tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name,torch_dtype=torch.float16,  # Use float16 for mixed precisiondevice_map="auto",  # Automatically map the model to available devicesload_in_8bit=True,  # Load the model in 8-bit precision
)# Prepare the input
prompt = "Give me a short introduction to large language model."
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")# Generate text
with torch.no_grad():generated_ids = model.generate(**inputs, max_new_tokens=512)
output_text = tokenizer.decode(generated_ids[0], skip_special_tokens=True)print(output_text)
混合精度训练

混合精度训练(Mixed Precision Training)可以减少显存占用,同时保持模型的性能。可以通过torch.cuda.amp自动混合精度工具来实现:

from torch.cuda.amp import autocastwith autocast():generated_ids = model.generate(**inputs, max_new_tokens=512)
output_text = tokenizer.decode(generated_ids[0], skip_special_tokens=True)print(output_text)
优化输入和生成参数

减少输入序列长度和生成的新标记数量可以显著减少显存占用。例如,将max_new_tokens设置为一个较小的值,如512或1024

generated_ids = model.generate(**inputs, max_new_tokens=512)
使用多GPU并行

使用多GPU并行来分摊显存压力。可以通过torch.nn.DataParallel;torch.nn.parallel.DistributedDataParallel来实现:

import torch
from torch.nn.parallel import DistributedDataParallel as DDP# Assume you have multiple GPUs
model = model.to("cuda")
model = DDP(model, device_ids=[0, 1, 2, 3])  # Example for 4 GPUs# Generate text
generated_ids = model.generate(**inputs, max_new_tokens=512)
output_text = tokenizer.decode(generated_ids[0], skip_special_tokens=True)print(output_text)

——小狗照亮每一天

20250627

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

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

相关文章

《短剧平台开发指南:技术方案、核心功能与行业趋势》

一、短剧行业现状与系统开发价值 近年来,短剧市场呈现爆发式增长,成为数字内容领域的新风口。数据显示,2023年国内短剧市场规模已突破300亿元,用户规模达到4.5亿。这种以"短、平、快"为特点的内容形式,凭借…

[FPGA]嵌入式系统FPGA设计资源

嵌入式系统FPGA设计资源 一、供应商 https://www.altera.com- Altera FPGA 供应商网站 https://www.altera.com/events/northamerica/intel-soc-fpga-developer-forum/overview.html- SoC 开发人员论坛 https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/li…

ClickHouse 可观测性最佳实践

ClickHouse 介绍 ClickHouse 是一款高性能、列式存储的开源分析型数据库,专为在线分析处理(OLAP)场景设计。它能够处理海量数据,支持实时查询和复杂的数据分析,具备极高的读写性能和数据压缩能力。ClickHouse 提供了强…

Android Framework设置时间为24小时制

文章目录 定位源码实现附录12 小时制与 24 小时制的详细解析一、基本定义与核心区别二、转换方法与示例三、应用场景与文化差异四、延伸知识:特殊计时制与历史背景 目的是把设置中使用默认语言区域关掉,并把使用24小时制打开 如下图为原始的:…

基于STM32设计的扫地机器人

一、前言 1.1 项目介绍 【1】项目开发背景 随着社会节奏的加快和人们生活方式的改变,智能家居产品逐渐走入千家万户。作为智能清洁系统的重要组成部分,扫地机器人凭借其自动化、高效性和便捷性,成为现代家庭中不可或缺的智能设备之一。传统…

什么是接口测试?

2025最新Jmeter接口测试从入门到精通(全套项目实战教程) 接口测试概念 接口测试是项目测试的一部分,它测试的主要对象是接口,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交…

JDY-23蓝牙模块与电脑的连接方式

JDY-23蓝牙模块支持多种连接方式,包括SPP(串口通信)模式和BLE(低功耗蓝牙)模式。以下是与电脑连接的具体方法: 1. 通过SPP模式连接 JDY-23模块支持SPP协议,可以通过串口与电脑通信。以下是连接…

【网络】Linux 内核优化实战 - net.core.rmem_max

目录 参数作用与原理默认值与查看方法调整场景与方法适用场景调整方法 与其他参数的协同性能影响与注意事项典型案例总结 net.core.rmem_max 是 Linux 内核中控制 套接字接收缓冲区(Receive Buffer)最大允许值 的参数。它与 net.core.rmem_default&#…

设计模式 | 工厂模式

工厂模式(Factory Pattern) 是创建型设计模式的核心成员,它通过将对象创建的逻辑封装起来,实现了创建与使用的解耦。本文将深入探讨工厂模式的核心思想、实现技巧以及在C中的高效实现方式。 为什么需要工厂模式? 在软…

数字孪生技术驱动UI前端变革:从静态展示到动态交互的飞跃

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 在数字化转型的深水区,数字孪生技术正以破竹之势重构 UI 前端的技术逻辑与设计理念…

Django实战:自定义中间件实现全链路操作日志记录

文章目录 一、中间件介绍激活中间件生命周期 二、自定义中间件中间件钩子函数基于类的中间件 三、实战案例操作日志功能参考资料 一、中间件 介绍 在 Django 中,中间件(Middleware)是一组轻量级、底层的插件系统,用于全局地改变…

Java编程之迭代器模式(Iterator Pattern)

引言: 走进图书馆,你站在一排书架前,想要浏览书籍。你会一格格地从左到右翻阅书籍,而不是去研究书架是什么。 一本书一本书地翻,才知道书架上藏了什么书,研究书架的构造是不知道书籍的内容的。 这种“逐本…

ARM64 linux系统的一般执行过程

1、正在运行的用户进程X 2、发生异常(包括系统调用等),CPU完成的工作:把当前程序指针寄存器PC放入ELR_EL1寄存器,把PSTATE放入SPSR_EL1寄存器,把异常产生的原因放在ESR_EL1寄存器,将异常向量表…

Vue3+ element 实现导入导出

一、导入功能相关代码分析 相关变量定义 importVisible:这是一个ref类型的响应式变量,用于控制导入对话框的显示与隐藏,初始值为false。当用户点击 “导入” 按钮时,会尝试将其值设为true来显示导入对话框,若出现异常则…

Git安装(纯小白版)

一、Git安装 1. 简介 Git是一款免费开源的分布式版本控制系统,常用于软件开发。它能记录文件在不同时间的改动,让用户在需要时查看、恢复旧版本。支持多人协作开发,多人可同时修改项目文件,Git会处理好冲突。开发者能在本地创建…

cocos2 本地根据文本内容生成二维码

cocos2 本地根据文本内容生成二维码 之前做了一个功能,就是cocos2小游戏,结算页面需要有一个二维码,二维码内容是一个网址,这个网址需要根据用户游玩分数确定访问哪个网址,但是这个小游戏是单机小游戏,不连…

87.xilinx FPGA读取器件id方法

dout数据高位先出msb module chip_id_reader(input clk,input reset,output [56:0] dna_value,output dna_valid );reg [6:0] bit_count;reg [56:0] dna_shift_reg;reg dna_read;reg dna_shift;wire dna_out;// 实例化DNA_PORT原语DNA_PORT #(.SIM_DNA_VALUE(57h123456789ABCD…

AcWing--数据结构(二)

Trie 树 用来高效的快速存储和查找字符串集合的数据结构 如存储:abcdef,abdef,aced,... 从根节点开始存储,从前往后存储,看是否有a,没有就创建,依次存储。 一般在最后一个字符打个标记,意思就是当前字符…

论基于架构的软件设计方法(ABSD)及应用

2025年3月22日作 题目 基于架构的软件设计(Architecture-Based Software Design, ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的…

【Docker基础】Docker容器管理:docker exec详解

目录 1 docker exec命令概述 1.1 命令定位与作用 1.2 与相似命令对比 2 基本语法与参数解析 2.1 完整命令语法 2.2 核心参数详解 2.2.1 -i, --interactive 2.2.2 -t, --tty 2.2.3 -d, --detach 2.2.4 -e, --env 2.2.5 -u, --user 2.2.6 -w, --workdir 3 典型使用场…