Geeks_Z の Blog Geeks_Z の Blog
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)

Geeks_Z

AI小学生
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)
  • Python

  • MLTutorials

    • 机器学习基础

      • 机器学习术语
      • 单变量线性回归
      • 归一化、标准化和正则化
      • 经典网络
      • 多变量线性回归
      • 逻辑回归
      • 调试策略
      • 激活函数
      • Embedding
      • GCN
      • GAT
      • BayesClassifier
      • 距离函数
      • 损失函数
      • 强化学习
      • 线性判别分析LDA
      • Sequence2sequence
      • Network Compression
      • 机器学习算法集锦从贝叶斯到深度学习及各自优缺点
      • 各种机器学习算法的应用场景
      • 数据集
      • HashLearning
        • 1. 背景介绍
        • 2. 哈希学习概述
        • 3. 哈希学习的一般步骤
        • 4. 参考
      • 正则化
      • 感知机
    • 模型与算法

    • 模型优化

  • 卷积神经网络

  • 循环神经网络

  • Transformer

  • VisionTransformer

  • 扩散模型

  • 计算机视觉

  • PTM

  • MoE

  • LoRAMoE

  • LongTailed

  • 多模态

  • 知识蒸馏

  • PEFT

  • 对比学习

  • 小样本学习

  • 迁移学习

  • 零样本学习

  • 集成学习

  • Mamba

  • PyTorch

  • CL

  • CIL

  • 小样本类增量学习FSCIL

  • UCIL

  • 多模态增量学习MMCL

  • LTCIL

  • DIL

  • 论文阅读与写作

  • 分布外检测

  • GPU

  • 深度学习调参指南

  • AINotes
  • MLTutorials
  • 机器学习基础
Geeks_Z
2022-12-06
目录

HashLearning

1. 背景介绍

首先介绍一下最近邻搜索:最近邻搜索问题,也叫相似性搜索,近似搜索,是从给定数据库中找到里查询点最近的点集的问题。

最近邻搜索

给定一个点集,以及一个查询点q,需要找到离q最近的点的集合;在大规模高维度空间的情况下,这个问题就变得非常难,而且大多数算法计算量极大,复杂度很高; 因此,一般用近似的最邻近搜索代替;哈希就是解决上述这类问题的主要方法;

2. 哈希学习概述

定义:哈希学习(learning to hash)是通过机器学习机制将数据映射成二进制串的形式,能显著减少数据的存储和通信开销,从而有效提高学习系统的效率。

​ 目的:通过机器学习机制将数据映射成简洁的二进制串的形式, 同时使得哈希码尽可能地保持原空间中的近邻关系, 即保相似性.(这一点很重要,如果失去了原来的相似性,那么哈希学习也就变得没有意义了)   以下面这幅图为例,原始数据是三幅图像,其中后面这两幅相似度比较高,也就是说在原始空间中从语义层次的距离或者欧氏距离都比较近,映射为哈希码之后,距离也应该更近。

image-20210902221647476

​ 图1 哈希学习示意图

图 1是哈希学习的示意图,以图像数据为例,原始图像表示某种经过特征抽取后的高维实数向量,通过从数据中学习到的哈希函数h 换后,每幅图像被映射到一个8位 (bit) 的二进制哈希码,原空间中相似的两幅图像将被映射到相似 (即海明距离较小) 的两个哈希码,而原空间中不相似的两幅图像将被映射到不相似 (即海明距离较大) 的两个哈希码。

重要地位

  • 使用哈希码表示数据后,所需要的存储空间会被大幅减小。
  • 因为通过哈希学习得到的哈希码位数(维度)一般会比原空间的维度要低,哈希学习也能降低数据维度,从而减轻维度灾难问题。
  • 基于哈希学习得到的二进制哈希码可以构建索引机制,实现常数或者次线性级别的快速近邻检索,为上层学习任务的快速实现提供支撑。

分类:

  1. 第一种的代表是局部敏感哈希,这种方法主要是人工设计或者随机生成哈希函数,是一种数据独立的方法;

  2. 第二种是哈希学习的方法,希望从数据中自动学习出哈希函数,是一种数据依赖的方法;也是现在主流的方法;

    显然第二种具有数据依赖性,是一种更有适应性的方法。

3. 哈希学习的一般步骤

  1. 先对原空间的样本进行降维, 得到1个低维空间的实数向量表示;
  2. 对得到的实数向量进行量化(即离散化)得到二进制哈希码;

4. 参考

  • 哈希学习简介 (opens new window)
#Hash
上次更新: 2025/06/25, 11:25:50
数据集
正则化

← 数据集 正则化→

最近更新
01
帮助信息查看
06-08
02
常用命令
06-08
03
学习资源
06-07
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Geeks_Z | MIT License
京公网安备 11010802040735号 | 京ICP备2022029989号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式