首页 > 其他分享 >使用LSH 进行特征提取

使用LSH 进行特征提取

时间:2023-08-13 10:33:30浏览次数:32  
标签:嵌入 LSH 搜索 哈希 使用 特征提取 向量

局部敏感哈希(LSH)通常用于近似最近邻算法(ANN) 操作(向量搜索)。LSH的特性也可以在以矢量为输入的神经网络模型中得到利用(例如,各种的音频、视频和文本嵌入等内容信号)。

通常情况下,特定领域模型中输入的流形是复杂的(非i. i. d)。这种复杂性使得使用计算密集型操作的多层感知机来分离这些流形非常困难。学习复杂映射的经典方案是记忆结果,而不是学习函数。如何记忆向量图?最直接的方法就是嵌入向量。但是我们需要离散的对象来计算嵌入,而向量不是离散的。那么怎么把向量嵌入算法应用到向量输入中呢?对向量进行哈希运算,在哈希运算后,附近的点必须保持“附近”状态。这就是LSH的做法,所以我LSH运算顶部的嵌入可以作为浅层特征提取器。

"局部敏感哈希"(Locality Sensitive Hashing,简称LSH)是一种用于解决这类问题的近似搜索技术。它的主要思想是将相似的数据点映射到同一个"哈希"桶中,从而可以在特定的桶中进行搜索,而不必对整个数据集进行线性搜索。虽然这种方法不保证找到确切的最近邻,但它在高维数据中提供了一种高效的近似搜索方法。

 

https://avoid.overfit.cn/post/2bab364a679f4b6f8d9a1c0bd3096b9b

标签:嵌入,LSH,搜索,哈希,使用,特征提取,向量
From: https://www.cnblogs.com/deephub/p/17626225.html

相关文章

  • 自定义组件使用v-model
    场景描述我们在一个系统中,会出现这样的情况,有一个联系人的下拉框,这个下拉框中的数据是从服务端获取的。在很多页面都需要使用这个联系人(下拉框)。我们通常是这样做的:写一个下拉框组件然后调用接口。这样不仅会造成代码冗余,而且不利于后期的维护。比如说:如果有一天这个要发......
  • jQuery FormData使用方法
    FormData的主要用途将form表单元素的name与value进行组合,实现表单数据的序列化,从而减少表单元素的拼接,提高工作效率。异步上传文件注:FormData对象的字段类型可以是Blob,File,或者string,如果它的字段类型不是Blob也不是File,则会被转换成字符串   //通过FormData......
  • 5.0 Python 定义并使用函数
    函数是python程序中的基本模块化单位,它是一段可重用的代码,可以被多次调用执行。函数接受一些输入参数,并且在执行时可能会产生一些输出结果。函数定义了一个功能的封装,使得代码能够模块化和组织结构化,更容易理解和维护。在python中,函数可以返回一个值或者不返回任何值,而且函数的参......
  • chatglm.cpp使用手记
    目前绝大多数LLM模型都是python实现的,运行速度有限(包括ChatGLM2-6b),幸好有大神将其用C++重写了一遍,让运行速度大大提高。项目地址:li-plus/chatglm.cpp:C++implementationofChatGLM-6B&ChatGLM2-6B(github.com)部署过程如下(环境:WSL2ubuntu22.04,显卡:N卡RTX4060)-注......
  • mysql在索引定义中直接使用条件语句
    原始数据库表如下:CREATETABLE`events`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT,`status`enum('on','off')COLLATEutf8_unicode_ciNOTNULLCOMMENT'开关状态',`type`enum('gas_fee_free')COLLATEutf8_unicode_ciNOTNULL......
  • Ubuntu 20.04 使用 vlmscd 搭建 KMS 服务端
    前言为了内网系统激活需要,搭建此客户端。1.下载二进制文件打开项目官网:https://github.com/Wind4/vlmcsd下载项目二进制文件:选择对应系统和架构选择性能较好的含musl库的静态版本将选择的版本重命名为vlmcsd.2.安装到Ubuntu系统中cpvlmcsd/usr/local/bin/ch......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • 使用 Spring WebFlux 构建响应式 Web 应用
    SpringFramework不仅提供了传统的基于Servlet的Web开发方式,还引入了响应式编程模型,使得构建高性能、可扩展的响应式Web应用变得更加容易。在本篇博客中,我们将深入探讨如何使用SpringWebFlux构建响应式Web应用,包括路由、处理器函数以及响应式数据流的处理。1.什么是响......
  • 使用 Vivado 项目进行版本控制
    转发一篇别人的文章:RevisionControlwithaVivadoProject(xilinx.com) 部分截图: ......
  • 更多头部文件和语法的简单使用
    如以下代码#include<stdio.h>#include<string.h>#include<windows.h>#include<stdlib.h>intmain(void){ chararr1[]="HelloWorld!"; chararr2[]="############"; intleft=0; intright=strlen(arr1......