Locality Sensitive Hashing(LSH)とは、ベクトルとして表現されたデーターの集合を入力として、それらの2点間の距離を保存したまま、ハミング距離に基づく文字列の集合に射影する技術です。コサイン距離[1]、ユーグリッド距離[2]に基づくものや、機械学習法を応用した、semantic hashing[3], spectral hashing[4], kernelized LSH[5], その他[6][7][8]、現在までに多くの手法が提案されています。この背景には、Googleが、昔に提案されたLSHが、ニュース記事の推薦システムで使えることを示した[9]のきっかけに、現在、推薦システム、画像検索、文章のクラスタリング[10]など、色々なシステムや研究の場面で利用されています。 理論的な収束の保証があるという意味で、オリジナルのコサイン距離ベース[1]の手法が良いのです
![Locality Sensitive Binary Codes for Shift Invaliant KernelsとSpectral Hashingの比較 - Yasuo Tabeiの日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/5f341fb167215fa91d54ad9a20ef3187e87597b5/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftb_yasu%2F20100513%2F20100513004932.jpg)