雜湊學習演算法之三:雜湊學習五個要點
瞭解到雜湊學習是在雜湊編碼階段進行的,參考上一節基於hash的ANN框架
雜湊學習的目的是:學習一個複雜的雜湊功能,y=h(x),把一個輸入點x對映成雜湊碼y,且滿足q點的最近鄰儘可能與實際結果相近,並且在編碼空間的查詢也是有效的。要滿足這些要求,需考慮以下5個部分:雜湊函式、編碼空間的相似性、輸入空間的相似性、損失函式、優化技術。
一、雜湊函式
雜湊函式可以是基於線性的、核函式、球面函式、深度神經網路、無參函式。
1.線性雜湊函式
當z>=0時,sgn(z)=1,當z<0時,sgn(z)=-1(或0)。w是映射向量,b是偏移量。
2.核雜湊函式
st表示從資料集中隨意獲得的代表樣本或者是資料集的聚類中心,wt表示權重。
3.無參雜湊函式
常用於基於量化的方案,其中c1,c2…ck表示中心點,可由k-means等得到,y是正整數。距離(例如漢明距離)直接從雜湊碼中計算得到,且使用對應中心的雜湊碼計算距離。
總結:線性函式可以被有效評估,核函式和無參雜湊由於可擴充套件性,他們的查詢準確性較高。雜湊函式一般不用做雜湊學習的分類標準,是因為線性雜湊函式都能被擴充套件為非線性雜湊函式。
二、相似性
相似性包括編碼空間相似性、輸入空間相似性。
2.1 輸入空間相似性
在輸入空間中,任意一對點(xi,xj)之間的距離d主要是歐式距離,||xi-xj||2,相似性s被定義為關於距離d的函式,典型函式是高斯相似性、餘弦相似性、語義相似性(按順序)
語義相似性是二值化的,如果兩個點屬於同一類,則s=0,反之為1.
2.2 編碼空間相似性
在編碼空間中,兩個點(yi,yj)之間的距離主要是漢明距離,定義是不同點的數量,公式如下:
三、損失函式
損失函式的設計規則是保持相似性順序,例如,使從雜湊碼得到的最近鄰查詢結果和從輸入空間獲得的真實查詢結果最小化。主要研究的有成對相似性保持、多相似性保持、隱式相似性保持、基於量化的方法。
四、優化技術
雜湊函式引數優化來自兩方面:1.sgn函式 2.時間複雜性很高
五、分類
根據以上五個方面,現有雜湊學習函式分類可分為:成對相似性保持、多相似性保持、隱式相似性保持、和量化方法。
注:本文內容來源:A Survey on Learning to Hash如果是入門級同學,不建議看此篇論文