1. 程式人生 > >雜湊學習程式碼

雜湊學習程式碼

雜湊方法

公佈程式碼的:

  1. AGH: Hashing with Graphs [Paper] [Code]
  2. BPBC: Learning Binary Codes for High-Dimensional Data Using Bilinear Projections [Paper] [Code]
  3. BRE: Learning to Hash with Binary Reconstructive Embeddings [Paper] [Code]
  4. DBQ: Double-bit quantization for hashing [Paper] [Code]
  5. E2LSH: Local Sensitive Hash 
    [Project Page]
     read
  6. HDML: Hamming Distance Metric Learning [Paper] [Code]
  7. IMH: Inter-Media Hashing for Large-scale Retrieval from Heterogenous Data Sources [Project Page] [Code]
  8. ISOH: Isotropic Hashing [Paper] [Code]
  9. ITQ: Iterative Quantization: A Procrustean Approach to Learning Binary Codes [Project Page]
     [Paper] [Code]read
  10. KLSH: Kernelized Locality-Sensitive Hashing for Scalable Image Search [Project Page] [Paper] [Code]
  11. KMH: K-means Hashing: an Affinity-Preserving Quantization Method for Learning Binary Compact Codes[Paper] [Code] read
  12. KSH: Supervised Hashing with Kernels [Paper] [Code] read
  13. MDSH: Multidimensional Spectral Hashing 
    [Paper]
     [Code]
  14. MH: Manhattan hashing for large-scale image retrieval [Paper] [Code] read
  15. MinH: Minimal Loss Hashing for Compact Binary Codes [Paper] [Code] [Slide]
  16. OPQ: Optimized Product Quantization for Approximate Nearest Neighbor Search [Paper] [Code]
  17. SH: Spectral Hashing [Paper] [Code] read
  18. IHM: Inductive Hashing on Manifolds (2013 CVPR) ProjectPage read
  19. BSPH: Semi-supervised Nonlinear Hashing Using Bootstrap Sequential Projection Learning (2012 TKDE)ProjectPage read
  20. FastHash: Fast Supervised Hashing with Decision Trees for High-Dimensional Data (2014 CVPR) [Code] read

無程式碼:


常用資料庫

關注的人

注:下面不同的雜湊方法的程式碼可以在他們的主頁上找到

  • Hamming Distance Metric Learning

    Fast Search in Hamming Space with Multi-Index Hashing

    Minimal Loss Hashing for Compact Binary Codes code

  • Spectral Hashing read

    Multidimensional Spectral Hashing

  • A general two-step approach to learning-based hashing (CVPR 2013)code in Bitbucket
    閱讀筆記

    Learning hash functions using column generation (ICML 2013)code in Bitbucket

    Fast Supervised Hashing with Decision Trees (CVPR 2014)Papercode in Bitbucket read

  • Iterative Quantization (CVPR 2011)Project page read

    Angular Quantization-based Binary Codes for Fast Similarity Search (NIPS 2012)Project page

    Learning Binary Codes for High-Dimensional Data Using Bilinear Projections (CVPR 2013)Project page

  • kahe

    Optimized Product Quantization (CVPR 2013)Project page

他人講解papers的一些好博文

非雜湊方法

  • liangzheng
    • Packing and Padding: Coupled Multi-Index for Accurate Image Retrieval
    • Bayes Merging of Multiple Vocabularies for Scalable Image Retrieval
    • Lp-norm IDF for Large Scale Image Search
    • Visual Phraselet: Refining Spatial Constraints for Large Scale Image Search

相關推薦

學習程式碼

雜湊方法 公佈程式碼的: AGH: Hashing with Graphs [Paper] [Code]BPBC: Learning Binary Codes for High-Dimensional Data Using Bilinear Projections [P

學習演算法前序:五個問題

雜湊學習演算法是大資料時代十分重要的一個演算法,本小白即將正式接觸雜湊演算法。當然,第一步,看論文~看了兩週的論文,竟然一上來又呆頭呆腦的從頭讀(呵呵噠…),正面教材請看如何高效讀論文 廢話少說,在沒有接觸learn to hash之前,本小白提出五個問題。一週後,若能以短短几句話回答它,說

學習演算法之三:學習五個要點

瞭解到雜湊學習是在雜湊編碼階段進行的,參考上一節基於hash的ANN框架 雜湊學習的目的是:學習一個複雜的雜湊功能,y=h(x),把一個輸入點x對映成雜湊碼y,且滿足q點的最近鄰儘可能與實際結果相近,並且在編碼空間的查詢也是有效的。要滿足這些要求,需考慮以下5個部分:雜湊函式、編碼空間的相似

學習演算法之二:基於hash的ANN框架

在上一節瞭解了ANN的背景,簡單介紹了hash的演算法,那基於hash的ANN框架是怎樣的呢? 框架圖 框架說明 基於hash的ANN主要有四個步驟,包括特徵提取、hash編碼(學習+編碼)、漢明距離排序、重排序。 1、特徵提取 有查詢影象和影象資料庫,需要對這兩類分別

學習演算法之一:ANN背景介紹

一、由ANN進入Hash NN,即最近鄰(nearest neighbor),定義在一個數據集X中,查詢點q的最近鄰是NN(q)=argmin dist(q,x) 其中x∈X。直接的表示,即為KNN查詢,也就是需要找到K個最近鄰。一個點x和查詢點q的距離取決於具體的查詢問題。例如:d維空

區域性敏感matlab程式碼解讀

個人總結:這篇文章介紹了局部敏感雜湊演算法,區域性敏感雜湊是非監督的雜湊演算法。 演算法的輸入是實數域的特徵向量,輸出為一個binary vector。 利用雜湊函式將資料點對映到不同的桶中是一種保形對映,使得資料點 i 和資料點 j 在原始空間的相似度

幾種常見函式程式碼實現

幾種常見雜湊函式的C程式碼實現 雜湊演算法將任意長度的二進位制值對映為較短的固定長度的二進位制值,這個小的二進位制值稱為雜湊值。雜湊值是一段資料唯一且極其緊湊的數值表示形式。如果雜湊一段明文而且哪怕只更改該段落的一個字母,隨後的雜湊都將產生不同的值。要找

【分散式】一致性 Distributed Hash Table 學習筆記

目錄 一致性雜湊介紹 一致性雜湊原理 一致性雜湊應用 1、一致性雜湊介紹        一致性雜湊,英文:distributed hashtable, 簡稱DHT, 是麻省理工提出的一種演算法,該演算法可以有效解決分散式儲存結

資料結構與演算法之美專欄學習筆記-演算法

雜湊演算法的定義和原理 將任意長度的二進位制串對映為固定長度的二進位制串。 這個對映的規則就是雜湊演算法,而通過原始資料對映之後得到的二進位制串就是雜湊值。 設計一個優秀的雜湊演算法需要滿足: 從雜湊值不能反向推匯出原始資料(所以雜湊演算法也叫單向雜湊演算法); 對輸入資料非常敏感,哪怕原始

hash學習的原理和代價

轉自http://digdeeply.org/archives/10141480.html DigDeeply's Blog | 個人部落格 | 技術部落格 雜湊表和雜湊函式是大學資料結構中的課程,實際開發中我們經常用到Hashtable這種結構,當遇到鍵-值對儲存,採用Hasht

https是如何加密的 (知道了原理之後,希望自己能用程式碼實現一下,還有用於對個人資訊和公鑰進行加密的演算法,有時間也去查一下)

由於http協議是明文傳輸資料,資料的安全性沒有保障。為了改進這種明文傳輸協議,https誕生了。   https是在應用層和傳輸層之間,增加了一層ssl加密。對於加密,請往下看:   1、對稱加密   每次在傳送資料之前,伺服器先生成一把金鑰,

資料結構與演算法學習--

一、雜湊衝突的解放方法? 1.常用的雜湊衝突解決方法有2類:開放定址法(open addressing)和連結串列法(chaining) 2.開放定址法(參考連結) ①核心思想:如果出現雜湊衝突,就重新探測一個空閒位置,將其插入。 ②線性探測法(Linear Probing): 插入資料:

【機器學習】使用Python中的區域性敏感(LSH)構建推薦引擎

學習如何使用LSH在Python中構建推薦引擎; 一種可以處理數十億行的演算法 你會學到: 在本教程結束時,讀者可以學習如何: 通過建立帶狀皰疹來檢查和準備LSH的資料 選擇LSH的引數 為LSH建立Minhash 使用LSH Query推薦會議論文 使用LSH

【程式語言學習 2 】(轉發)表(散列表)原理詳解

什麼是雜湊表?(其實就是把字元通過雜湊函式轉化為索引)    雜湊表(Hash table,也叫散列表),是根據關鍵碼值(Key value)而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中一個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式

表的構造方法、衝突處理方法及拉鍊法的簡單程式碼實現

  由於雜湊表的查詢高效性,在平時的演算法中用的也是比較多。例如:字串、單詞個數的統計,只出現一次字元或者數字的統計,兩個集合相同元素的查詢等等,還有插入刪除的高效(鏈地址法)都可以用雜湊表來解決。所以這裡對其做一個小小的總結。缺點可能是需要佔用額外的記憶體空間。 一、雜湊

Java第十七天學習筆記~(集合框架linkedlist、表)

  LinkedList 內部是連結串列資料結構,是不同步的。增刪元素的速度很快 package day17; import java.util.Iterator; import java.util.LinkedList; public class LinkedList

學習順序 及 個人心得

1.直接定址法 取關鍵字或者關鍵字的某個線性函式為Hash地址,即address(key)=a*key+b;如知道學生的學號從2000開始,最大為4000,則可以將address(key)=key-2000作為Hash地址。 2.平方取中法 對關鍵字進行平方運算,然後取結果的中間幾位作為Hash地址。假如有

散列表查詢(表)的基本操作 (完整程式碼

表和二叉樹的排序,是利用元素之間的關係,逐個查詢,或按一定的規律查詢。 而散列表(雜湊表),元素之間沒有關係,它是利用了元素與儲存地址之間的關係。 說白了,就是利用雜湊函式建立 元素->地址

Java學習筆記15:java中的hashcode碼、hash 演算法

推薦一篇好文章:深入理解 hashcode 和 hash 演算法https://blog.csdn.net/qq_38182963/article/details/78940047 為什麼使用 hashcode ? hashCode 存在的第一重要的原因就是在 HashMap(H

【一週程式設計學習】--1.用思想實現LeetCode的第1題和第202題

1.LeetCode第一題    兩數之和 以一個數為基準,再用目標數減去基準數得到他們的差值,再在陣列中找這個差值。這個時候以陣列存放的數值為key值,數值對應的陣列下標為value值。利用雜湊查詢演算法查詢相應值的下標。 分別用C++和Pyhton做的: