PQ(productquantization)算法:乘积量化,这里的乘积为笛卡尔积;从字面理解包括了两个过程特征的分组量化过程类别的笛卡尔积过程。它属于ANN(approximatenearest neighbor)算法。与它相关的算法有E2LSH(EuclideanLocality-SensitiveHashing), KD-trees,K-means。

假设有一个数据集: 由n个D维向量组成(如:n行D列)

K-means:的做法就是给定类别数目K,对整个数据集进行聚类,目标函数是所有样本到类中心的距离和最小,迭代计算优化目标函数,得到K个类中心每个样本所属的类别

PQ算法:目标函数不变和K-means一样,是所有样本到类中心的距离和最小,迭代计算优化目标函数;但是它把原来的向量(n * D)空间分解为若干个低维向量空间的笛卡尔积,并对分解得到的低维向量空间分别做量化(quantization)。这样每个向量就能由多个低维空间的量化code组合表示。过程如下:

(1)数据集为K个类别,每个样本以一个vector的形式表示,维数为d,将vector的各个分量分成m组;

(2)将所有vector的某组分量作为数据集,采用k-means算法得到个类中心,运行m次k-means算法,则每组都有个类中心,记这个类中心为一个集合。

(3)将上述得到的m个集合做笛卡尔积,就得到整个数据集的类中心了。

参考:

https://www.cnblogs.com/mafuqiang/p/7161592.html

https://blog.csdn.net/CHIERYU/article/details/50321473

PQ(product quantization) 算法---(二)相关推荐

  1. PQ(product quantization) 算法---(一)

    转自:http://vividfree.github.io/ 1. 引言 Product quantization,国内有人直译为乘积量化,这里的乘积是指笛卡尔积(Cartesian product) ...

  2. PQ(product quantization) 算法

    转自:http://vividfree.github.io/ 1. 引言 Product quantization,国内有人直译为乘积量化,这里的乘积是指笛卡尔积(Cartesian product) ...

  3. faiss(2):理解product quantization算法

    近几年,深度学习技术被广泛用于图像识别.语音识别.自然语言处理等领域,能够把每个实体(图像.语音.文本)转换为对应的embedding向量.如这里千人千面智能淘宝店铺背后的算法研究登陆人工智能顶级会议 ...

  4. Product Quantization for Nearest Neighbor Search论文实验

    最近邻搜索之乘积量化(Product Quantizer)实验 记得大学三时有个老师跟我们说,检验是否深刻理解一篇论文的做法之一就是给你一篇论文,看你能否将论文中的结果重复实验出来,当时觉得老师的说法 ...

  5. DeltaPQ: Lossless Product Quantization Code Compression for High Dimensional Similarity Search

    DeltaPQ: Lossless Product Quantization Code Compression for High Dimensional Similarity Search 高维数据无 ...

  6. Joint Learning of Deep Retrieval Model and Product Quantization based Embedding Index

    Joint Learning of Deep Retrieval Model and Product Quantization based Embedding Index 嵌入索引能够实现快速近似近邻 ...

  7. 使用pytorch从零开始实现YOLO-V3目标检测算法 (二)

    原文:https://blog.csdn.net/u011520516/article/details/80212960 博客翻译 这是从零开始实现YOLO v3检测器的教程的第2部分.在上一节中,我 ...

  8. 从零开始学数据结构和算法(二)线性表的链式存储结构

    链表 链式存储结构 定义 线性表的链式存储结构的特点是用一组任意的存储单元的存储线性表的数据元素,这组存储单元是可以连续的,也可以是不连续的. 种类 结构图 单链表 应用:MessageQueue 插 ...

  9. Unicode双向算法详解(bidi算法)(二)

    作者:黄邦勇帅(原名:黄勇)2019-10-17 Unicode双向算法详解(bidi算法)(二) 本文为原创文章,转载请注明出处,或注明转载自"黄邦勇帅(原名:黄勇) 本文是对<C+ ...

最新文章

  1. FastThreadLocal吞吐量居然是ThreadLocal的3倍
  2. Gentoo 安装日记 04 (开启ssh服务,ssh登录虚拟机)
  3. java字符流和字节流的区别_java字符流与字节流的区别是什么
  4. 如何用c 语言编写贪吃蛇,刚学C语言,想写一个贪吃蛇的代码
  5. Python 3.10 明年发布,看看都有哪些 PEP ?
  6. win10虚拟显示器开发
  7. Java代码编写规范总结
  8. Exchange 2010安装先决条件及注意事项
  9. ObjectARX动态添加AutoCAD传统下拉菜单入门篇(一)
  10. catia 桥接曲面圆角_CATIA建模教程_二_圆角及桥接在空间曲线中的应用
  11. Mac OSX x86 10.4.6 安装小记(1)
  12. 六安牌照上海浦东验车
  13. JZOJ1728. Antimonotonicity
  14. Mac系统升级Python版本(Python2.7升级到Python3.8.2)
  15. 代码管理工具知多少?来看看Git怎么用吧
  16. 3d打印光固化好还是热固化好_光固化3D打印机的优势在哪里?
  17. sql server 数据库正在使用该文件的解决办法
  18. JS字符串截取 “指定字符” 前面和后面的内容!
  19. node-redis:ErrorReply: ERR wrong number of arguments for ‘auth‘ command
  20. 从 SPA 到 PWA:Web App的下一站在哪?

热门文章

  1. CLion+mingw-w64开发OpenGL如何导入glad
  2. Python——创建二维列表的简易方法
  3. 环境变量path的作用、时间序列的学习、标准差与标准误差
  4. SpringMVC全注解开发
  5. TL-1到底是什么?
  6. 宝塔面版配置本机访问测试站点
  7. 什么是模块化?及其优缺点
  8. pool win10提示bad_Win10怎么修复出现bad pool header蓝屏的情况?
  9. 三菱FX系列PLC电池电压低导致程序参数丢失,PROG.E报警灯闪烁的解决办法
  10. 一文带你快速上手正则表达式