- 博客(24)
- 问答 (3)
- 收藏
- 关注
原创 介绍一点metric self-join和复合索引笔记
OPQ是在PQ的基础上进一步优化的一种技术,它通过对向量进行旋转变换,将分布不均匀的数据重新调整,使其在各个子向量维度上更均匀。这种预处理使量化后的数据更加高效。使用旋转矩阵对原始向量进行变换,使其分布更均匀。再使用PQ对变换后的向量进行量化。优势:提升召回率,特别是在向量数据分布不均匀时效果显著。缺点:额外的旋转计算可能会增加少量处理时间。PCA的最后一步数据投影与旋转:将原始数据投影到由特征向量定义的新坐标系中。这一步可以看作是对数据的旋转,因为数据从原始空间转移到了主成分空间。
2025-04-02 22:06:05
773
原创 PQ以及有关索引的笔记Faiss: The Missing Manual
在传统的信息检索中,文档是按照其自然顺序存储的,称为“正排文件”(Forward File)。在这种结构中,每个文档包含的信息是完整的,比如文档的内容以及可能包含的所有词汇。而“倒排文件”(Inverted File)则是通过将词汇和文档之间的关系“倒转”过来实现的。这样,当查询某个词汇时,系统可以直接通过倒排文件快速定位到包含该词汇的文档,而不需要逐一扫描所有文档。这种方法显著提高了检索速度。在传统的信息检索中,倒排文件是一种索引结构,用于记录每个词汇和文档之间的关系,从而快速定位包含特定词汇的文档。
2025-04-01 17:05:35
866
原创 SISAP2024挑战中DEGLIB与baseline的差别
两者都涉及到选点,但是方法不同一个baseline使用k-means++算法,而DEGLB使用mini-batch k-means。baseline主要涉及到将多度量空间分离,分开并加速求knn,但是DEGLB没怎么提多度量空间。baseline没有怎么提到高纬度的问题,DEGLB通过提的MLP来降维提高速度。DEGLB针对挑战用了MRNG图,baseline没有提到具体的近邻图。
2025-03-11 20:01:39
139
原创 An Efficient Framework for Approximate Nearest Neighbor Search on High-Dimensional Multi-metric Data
记录SISAP challenge 2024作品,为SISAP challenge 2025做准备。
2025-03-08 22:00:44
752
原创 All in One: Multi-Task Prompting for Graph Neural Networks学习笔记
主要研究了图神经网络(GNN)中多任务提示(multi-task prompting)的方法。文中讨论了传统的GNN“预训练与微调”方法和下游任务割裂,特别是在节点级(node-level)、边级(edge-level)和图级(graph-level)任务之间(不同任务之间不通用)。为了克服这些问题,文中引入了“提示学习”(灵感来自自然语言处理中的方法)并将其应用到图任务中。核心思想是构建一个框架,利用图级提示来提升预训练图模型在多种任务中的可迁移性和泛化能力。
2025-03-01 00:20:08
919
原创 GraphCL vs GCC
介绍了一种新的图对比学习(GraphCL)框架,旨在解决图结构数据中的一些挑战。该方法聚焦于图神经网络(GNNs)的无监督学习,目的是提高模型在各种图任务中的泛化能力、迁移能力和鲁棒性。正如在上一节中给出两个预训练例子,GraphCL多了Projection Head的结构,它是一种非线性变换,将拿到的encoder的编码向量(有关对比学习的部分内容参看另一篇笔记《GCC学习笔记》。这里着重对比两个模型的不同。)再进行一步了映射(
2025-02-28 12:00:21
626
原创 GCC笔记
Graph Contrastive Coding (GCC) 是一个通过 对比学习 来进行 图神经网络(GNN)预训练 的方法,旨在捕捉跨多个图的通用结构模式。该框架解决了传统的图表示学习模型通常只针对特定领域的图数据进行训练,并且不能有效迁移到其他领域图数据的问题。
2025-02-27 15:26:14
606
原创 GraphMAE v1 & v2 学习笔记
GraphMAE是一种使用了Masked Graph Autoencoders技术的基于图的自监督学习方法。传统的图自监督学习方法通常是对抗式自监督学习,但是GraphMAE是一种生成式自监督学习。对抗式自监督学习则侧重于通过引入对抗性样本来提高模型的鲁棒性。在这种方法中,模型会面临来自对手(通常是另一个模型)生成的扰动或样本,这些样本被设计为使模型产生错误的预测。有种“魔高一尺道高一丈”,相互竞争相互成就的意思。对抗学习的应用包括:生成式自监督学习的主要目标是通过学习数据的生成分布来进行表示学习。它利用
2025-02-27 00:22:05
898
原创 Rust学习之旅——项目的结构与管理
目前为止,我们所有的代码示例都是单文件。现在让我们看怎么组建一个项目。学会这个我们就可以创建与世界分享我们的Rust应用程序和库了。
2023-12-18 17:06:28
1584
2
原创 Rust学习之旅——智能指针
Rust语言中与最底层内存打交道的数据结构智能指针是Rust编程中经常使用的,它可以让我们不必重新创建非常常见的内存使用范式。
2023-12-17 20:54:33
228
3
原创 Rust学习之旅——面向对象编程
用函数表达思想是一种成熟的行为和数据表示方式( C 语言已经这么做了几十年了!从历史上看,计算机科学领域已经找到了其他数据表达聚合和抽象的方式。我们可能熟知的面向对象编程(OOP)就是这样一种方式。封装——将数据和函数关联到一起的概念单元中,称为对象抽象——将数据和函数成员隐藏起来,以隐藏对象的实现细节多态——从不同的功能角度与对象进行交互的能力继承——从其他对象继承数据和行为的能力Rust的抽象可能很简单,可以帮助我们写出简单易用的代码。本章中,我们通过 Box 简单瞥见了智能指针。
2023-12-13 23:16:37
182
2
原创 Rust学习之旅——所有权和数据借用
相较于别的编程语言,Rust具有一套单独的内存管理规范。无意间对资源的修改忘记及时地释放资源资源意外地被释放了两次在资源被释放后使用它由于读取数据的同时有其他人正在向资源中写入数据而引起的数据争用在编译器无法做担保时,清晰地看到代码的作用域。
2023-12-09 22:14:53
281
原创 Rust学习之旅——泛型
泛型在 Rust 中非常重要。他们可用于表示可空值(即可能还有值的变量)、错误处理、集合等等。下面展示经常使用的基础泛型知识。这一章中,我们了解泛型带来的强大功能。下一章了解另外一个重要概念:数据所有权。
2023-12-09 17:51:00
115
原创 Rust学习之旅——基本数据结构类型
match 有助于确保对多有可能的枚举值进行彻底的处理,使其成为确保高质量代码的强大工具。枚举允许使用 enum 关键字创建一个新类型,该类型的值可以包括几个带标记的元素。enum 的元素可以有一个或者多个数据类型,从而使其表现得像C语言中的联合。字段是一个与数据类型相关联的数据值。它的值可以是基本类型或者是结构体类型。它的定义就像是给编译器的蓝图,告诉编译器如何在内容中布局彼此相邻的字段。是一个空元组()的别称。时,我们的程序会在内存中并排创建相关的字段数据。简洁起见,可以创建像元组一样被使用的结构体。
2023-11-29 22:03:04
152
1
原创 Rust学习之旅——基本控制流
这是一种创建简洁逻辑的好方法,它返回一个 可以放入新变量的值。类似于C语言中的switch语句,rust中的match语句用于匹配值的所有可能条件,并在匹配为真时执行相应代码。运算符创建一个可以生成包含起始数字,但不包含末尾数字的数字序列的迭代器。运算符创建一个可以生成包含起始数字,且包含末尾数字的数字序列的迭代器。Rust的条件判断不需要括号,所有常见的逻辑运算符依然适用。match的意思的穷尽的,意在表明所有可能的值都要被考虑到。if,match,函数,以及作用域都有一种返回值的独特方式。
2023-11-29 17:05:28
93
1
转载 第二届“思特奇杯”编程之星算法挑战赛初赛
第十一届蓝桥杯大赛第二次模拟(软件类)真题(python组)1.12.5MB【问题描述】在计算机存储中,12.5MB是多少字节?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。1MB = 1024KB1KB = 1024Bprint(12.5*1024*1024)# 13107200.02.最多边数【问题描述】一个包含有2019个结点的有向图,最多包含多少条边?(不允许有重边)【答案提交】
2022-01-24 22:53:10
197
原创 【思特奇杯·云上蓝桥-算法集训营】第2周
蓝桥杯训练营第二周作业1. 带分数问题描述100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入格式从标准输入读入一个正整数N (N<1000*1000)输出格式程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注意:不要求输出每个表示,只统计有多少表示法!样例输入11
2022-01-14 19:30:52
280
原创 【思特奇杯·云上蓝桥-算法集训营】第1周
蓝桥杯训练营第一周作业1题 跑步训练问题描述小明要做一个跑步训练,初始时,小明充满体力,体力值计为 10000。如果小明跑步,每分钟损耗 600 的体力。如果小明休息,每分钟增加 300 的体力。体力的损耗和增加都是 均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达 0,他就停止锻炼, 请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案,答案中只填写数,不填写单位。答案提交这是一道结果填空题,你只需要算出结果后提交
2022-01-07 11:45:59
718
空空如也
CH340驱动程序显示已安装却无法识别
2021-12-27
终端启动时,logging不记录main函数里的错误日志
2021-10-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人