Jump to content

Минхеш

В информатике и анализе данных интеллектуальном MinHash (или минимальная схема хеширования с независимыми перестановками, чувствительной к локальности ) — это метод быстрой оценки того, насколько похожи два набора. Схему придумал Андрей Бродер ( 1997 г. ), [1] и первоначально использовался в поисковой системе AltaVista для обнаружения дубликатов веб-страниц и исключения их из результатов поиска. [2] Он также применялся в крупномасштабных задачах кластеризации , таких как кластеризация документов по сходству их наборов слов. [1]

Сходство Жаккара и минимальные значения хеш-функции [ править ]

Коэффициент сходства Жаккара является широко используемым индикатором сходства между двумя наборами. Пусть U — множество, а A и B — подмножества U , тогда индекс Жаккара определяется как отношение числа элементов их пересечения и числа элементов их объединения :

Это значение равно 0, когда два набора не пересекаются , 1, когда они равны, и строго между 0 и 1 в противном случае. Два набора более похожи (т.е. имеют относительно больше общих элементов), когда их индекс Жаккара близок к 1. Цель MinHash — быстро оценить J ( A , B ) без явного вычисления пересечения и объединения.

Пусть h хеш-функция , которая отображает элементы U в различные целые числа, пусть perm — случайная перестановка элементов множества U , и для любого подмножества S из U определите h min ( S ) как минимальный член S относительно h perm — то есть члена x из S с минимальным значением h ( perm ( x )) . (В тех случаях, когда предполагается, что используемая хеш-функция имеет псевдослучайные свойства, случайная перестановка не будет использоваться.)

Теперь, применяя h min к A и B и предполагая отсутствие коллизий хэшей, мы видим, что значения равны ( h min ( A ) = h min ( B ) ) тогда и только тогда, когда среди всех элементов , элемент с минимальным значением хеш-функции лежит на пересечении . Вероятность того, что это правда, равна в точности индексу Жаккара, поэтому:

Pr[ час мин ( A ) знак равно час мин ( B ) ] знак равно J ( A , B ),

То есть вероятность того, что h min ( A ) = h min ( B ) истинна, равна подобию J ( A , B ) , предполагая получение пермского значения из равномерного распределения. Другими словами, если r случайная величина , которая равна единице, когда min ( A ) = h min ( B ) , и нулю в противном случае, то r является несмещенной оценкой J h ( A , B ) . r имеет слишком большую дисперсию , чтобы быть полезным средством оценки сходства Жаккара само по себе, потому что всегда равен нулю или единице. Идея схемы MinHash состоит в том, чтобы уменьшить эту дисперсию путем усреднения нескольких переменных, построенных одинаковым образом.

Алгоритм [ править ]

Вариант со множеством хэш-функций [ править ]

Самая простая версия схемы минхэша использует k различных хеш-функций, где фиксированный целочисленный параметр, и представляет каждый набор S k h значений ( min k S ) для этих k функций.

Чтобы оценить J ( A , B ) с использованием этой версии схемы, пусть y будет количеством хеш-функций, для которых h min ( A ) = h min ( B ) , и используйте y / k в качестве оценки. Эта оценка представляет собой среднее значение k различных случайных величин 0–1, каждая из которых равна единице, когда h min ( A ) = h min ( B ), и нулю в противном случае, и каждая из которых является несмещенной оценкой J ( A , B ). . Следовательно, их среднее значение также является несмещенной оценкой, и по стандартному отклонению для сумм случайных величин 0–1 его ожидаемая ошибка составляет O(1/ k ) . [3]

Следовательно, для любой константы ε > 0 существует константа k = O(1/ε 2 ) такой, что ожидаемая ошибка оценки не превосходит ε . потребуется 400 хэшей Например, для оценки J ( A , B ) с ожидаемой ошибкой, меньшей или равной 0,05, .

Вариант с одной хеш-функцией [ править ]

Вычисление нескольких хеш-функций может оказаться затратным в вычислительном отношении, но соответствующая версия схемы MinHash позволяет избежать этого штрафа, используя только одну хэш-функцию и использует ее для выбора нескольких значений из каждого набора, а не для выбора только одного минимального значения для каждой хеш-функции. Пусть h — хеш-функция, а k — фиксированное целое число. Если S — любой набор из k или более значений в области h ,определите h ( k ) ( S ) как подмножество k членов S , которые имеют наименьшие значения h . Это подмножество h ( k ) ( S ) используется в качестве сигнатуры множества S , а сходство любых двух наборов оценивается путем сравнения их сигнатур.

В частности, пусть A и B — любые два множества.Тогда X = h ( k ) ( h ( k ) ( A ) ∪ h ( k ) ( B )) = h ( k ) ( A B ) представляет собой набор из k элементов A B , и если h является любое подмножество из k случайная функция, то с равной вероятностью будет выбрано элементов; то есть X случайная выборка A B . простая Подмножество Y = X h ( k ) ( A ) ∩ h ( k ) ( B ) является множеством членов X , которые принадлежат пересечению A B . Следовательно, | Y |/ k — несмещенная оценка J ( A , B ) . Разница между этой оценкой и оценкой, созданной с помощью нескольких хэш-функций, заключается в том, что X всегда имеет ровно k членов, тогда как множественные хеш-функции могут привести к меньшему количеству выборочных элементов из-за возможности того, что две разные хэш-функции могут иметь одинаковые минимумы. . Однако когда k мало по сравнению с размерами множеств, эта разница незначительна.

Согласно стандартным границам Чернова для выборки без замены, эта оценка имеет ожидаемую ошибку O(1/ k ) , что соответствует производительности схемы с несколькими хэш-функциями.

Временной анализ [ править ]

Оценщик | Y |/ k можно вычислить за время O( k ) по двум сигнатурам заданных наборов в любом варианте схемы. Следовательно, когда ε и k являются константами, время вычисления предполагаемого сходства по сигнатурам также является постоянным. Сигнатура каждого набора может быть вычислена за линейное время в зависимости от размера набора, поэтому, когда необходимо оценить множество парных сходств, этот метод может привести к существенной экономии времени выполнения по сравнению с полным сравнением членов каждого набора. . В частности, для размера набора n вариант с множеством хэшей занимает время O( n k ) . Вариант с одним хэшем, как правило, быстрее, и ему требуется время O( n ) для поддержания очереди минимальных значений хеш-функции, предполагая n >> k . [1]

Включение весов [ править ]

Были разработаны различные методы введения весов в вычисление MinHashes. Самый простой расширяет его до целочисленных весов. [4] Расширьте нашу хеш-функцию h, чтобы она могла принимать как член множества, так и целое число, а затем сгенерируйте несколько хэшей для каждого элемента в соответствии с его весом. Если элемент i встречается n раз, сгенерируйте хеши . Запустите исходный алгоритм на этом расширенном наборе хешей. В результате получается взвешенный индекс Жаккара как вероятность столкновения.

Были разработаны дополнительные расширения, которые обеспечивают эту вероятность коллизий для реальных весов с лучшим временем выполнения: одно для плотных данных, [5] и еще один для редких данных. [6]

Другое семейство расширений использует экспоненциально распределенные хэши. Равномерно случайный хеш от 0 до 1 может быть преобразован в экспоненциальное распределение путем инверсии CDF . Этот метод использует множество прекрасных свойств минимума набора экспоненциальных переменных .

В качестве вероятности столкновения это дает вероятность индекса Жаккара. [7]

Независимые по минимуму перестановки [ править ]

Чтобы реализовать схему MinHash, как описано выше, нужна хеш-функция h для определения случайной перестановки на n элементах, где n — общее количество различных элементов в объединении всех сравниваемых наборов. Но поскольку есть n ! различных перестановок, потребовалось бы Ω( n log n ) бит только для того, чтобы указать действительно случайную перестановку, а это невероятно большое число даже для умеренных значений n . Из-за этого факта, по аналогии с теорией универсального хеширования , была проведена значительная работа по поиску семейства перестановок, которое является «минимально независимым», что означает, что для любого подмножества области любой элемент с равной вероятностью будет минимум. Установлено, что минимально независимое семейство подстановок должно включать не менее

требуется Ω( n ) бит. различные перестановки, и, следовательно, для указания одной перестановки, все еще невероятно большой, [2]

Практические независимые хеш-функции по минимуму [ править ]

Из-за вышеуказанной непрактичности были введены два варианта понятия минимальной независимости: ограниченные минимально независимые семейства перестановок и аппроксимированные минимально независимые семейства.Ограниченная минимальная независимость — это свойство минимальной независимости, ограниченное определенными наборами мощности не более k . [8] Приблизительная минимальная независимость имеет не более фиксированной вероятности ε , отличающейся от полной независимости. [9]

В 1999 году Петр Индик проявил себя [10] что любое независимое по k-му семейству хеш-функций также является приблизительно независимым по min-му для достаточно большой.В частности, существуют константы такое, что если , затем

для всех наборов и .(Обратите внимание, здесь означает, что вероятность не более чем фактор слишком большой и максимум слишком маленький.)

Эта гарантия, среди прочего, достаточна для получения оценки Жаккара, требуемой алгоритмом MinHash.То есть, если и являются множествами, то

Поскольку независимые хэш-функции по k можно указать, используя только бит, этот подход гораздо более практичен, чем использование полностью независимых по минимуму перестановок.

Еще одно практичное семейство хэш-функций, которое дает приблизительную независимость по минимуму, — это хеширование табуляций .

Приложения [ править ]

Исходные приложения MinHash включали кластеризацию и устранение почти повторяющихся веб-документов, представленных в виде наборов слов, встречающихся в этих документах. [1] [2] [11] Подобные методы также использовались для кластеризации и устранения почти дубликатов для других типов данных, таких как изображения: в случае данных изображения изображение может быть представлено как набор меньших фрагментов изображений, вырезанных из него, или как наборы более сложные описания функций изображения. [12]

В области анализа данных интеллектуального Коэн и др. (2001) используют MinHash как инструмент для изучения правил ассоциации . Учитывая базу данных, в которой каждая запись имеет несколько атрибутов (рассматриваемых как матрица 0–1 со строкой на запись базы данных и столбцом на атрибут), они используют аппроксимации индекса Жаккара на основе MinHash для идентификации пар-кандидатов атрибутов, которые часто совпадают. происходят, а затем вычислить точное значение индекса только для тех пар, чтобы определить те, частота совместного появления которых ниже заданного строгого порога. [13]

Алгоритм MinHash был адаптирован для биоинформатики, где проблема сравнения последовательностей генома имеет теоретическую основу, аналогичную проблеме сравнения документов в сети. Инструменты на основе MinHash [14] [15] позволяют быстро сравнивать данные полногеномного секвенирования с эталонными геномами (около 3 минут для сравнения одного генома с 90 000 эталонными геномами в RefSeq ) и подходят для видообразования и, возможно, в ограниченной степени микробного подтипирования. Есть также приложения для метагеномики. [14] и использование алгоритмов, основанных на MinHash, для выравнивания и сборки генома. [16] Точные значения средней идентичности нуклеотидов (ANI) можно очень эффективно генерировать с помощью алгоритмов на основе MinHash. [17]

Другое использование [ править ]

Схему MinHash можно рассматривать как пример хеширования с учетом местоположения — набора методов использования хеш-функций для сопоставления больших наборов объектов с меньшими значениями хеш-функции таким образом, что, когда два объекта находятся на небольшом расстоянии друг от друга , их хеш-значения, скорее всего, будут одинаковыми. В этом случае подпись набора можно рассматривать как его хеш-значение. Существуют и другие методы хеширования, чувствительные к местонахождению, для расстояния Хэмминга между наборами и косинусного расстояния между векторами ; Хэширование с учетом локальности имеет важные применения в алгоритмах поиска ближайших соседей . [18] Для больших распределенных систем, в частности MapReduce , существуют модифицированные версии MinHash, помогающие вычислять сходства без зависимости от размерности точки. [19]

Оценка и критерии [ править ]

Крупномасштабная оценка была проведена Google в 2006 году. [20] сравнить производительность Minhash и SimHash [21] алгоритмы. В 2007 году Google сообщил об использовании Simhash для обнаружения дубликатов при сканировании веб-страниц. [22] и использование Minhash и LSH для персонализации Новостей Google . [23]

См. также [ править ]

Ссылки [ править ]

  1. Перейти обратно: Перейти обратно: а б с д Бродер, Андрей З. (1998), «О сходстве и содержании документов», Труды. Сжатие и сложность ПОСЛЕДОВАТЕЛЬНОСТЕЙ 1997 (Кат. № 97TB100171) (PDF) , IEEE , стр. 21–29, CiteSeerX   10.1.1.24.779 , doi : 10.1109/SEQUEN.1997.666900 , ISBN  978-0-8186-8132-5 , S2CID   11748509 , заархивировано из оригинала (PDF) 31 января 2015 г. , получено 18 января 2014 г.
  2. Перейти обратно: Перейти обратно: а б с Бродер, Андрей З .; Чарикар, Моисей; Фриз, Алан М .; Митценмахер, Майкл (1998), «Независимые по минимуму перестановки», Proc. 30-й симпозиум ACM по теории вычислений (STOC '98) , Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники , стр. 327–336, CiteSeerX   10.1.1.409.9220 , doi : 10.1145/276698.276781 , ISBN  978-0897919623 , S2CID   465847 .
  3. ^ Васильвицкий, Сергей (2011), COMS 6998-12: Работа с огромными данными (конспекты лекций, Колумбийский университет) (PDF) , заархивировано из оригинала (PDF) 24 октября 2018 г.
  4. ^ Чум, Ондрей; Филбин, Джеймс; Зиссерман, Эндрю (2008), «Обнаружение почти повторяющихся изображений: взвешивание min-Hash и tf-idf». (PDF) , BMVC , 810 : 812–815
  5. ^ Шривастава, Аншумали (2016), «Точное взвешенное минимальное хеширование за постоянное время», arXiv : 1602.08393 [ cs.DS ]
  6. ^ Иоффе, Сергей (2010). «Улучшенная последовательная выборка, взвешенный минхеш и эскизы L1». Международная конференция IEEE по интеллектуальному анализу данных 2010 г. (PDF) . стр. 246–255. CiteSeerX   10.1.1.227.9749 . дои : 10.1109/ICDM.2010.80 . ISBN  978-1-4244-9131-5 . S2CID   9970906 .
  7. ^ Моултон, Райан; Цзян, Юньцзян (2018), «Максимально согласованная выборка и индекс Жаккара распределения вероятностей», Международная конференция IEEE по интеллектуальному анализу данных (ICDM), 2018 г. , стр. 347–356, arXiv : 1809.04052 , doi : 10.1109/ICDM.2018.00050 , ISBN  978-1-5386-9159-5 , S2CID   49746072
  8. ^ Матушек, Иржи ; Стоякович, Милош (2003), «Об ограниченной минимальной независимости перестановок», Случайные структуры и алгоритмы , 23 (4): 397–408, CiteSeerX   10.1.1.400.6757 , doi : 10.1002/rsa.10101 , S2CID   1483449 .
  9. ^ Сакс, М .; Шринивасан, А.; Чжоу, С.; Цукерман, Д. (2000), «Наборы с низким расхождением дают приблизительные по минимуму независимые семейства перестановок», Information Processing Letters , 73 (1–2): 29–32, CiteSeerX   10.1.1.20.8264 , doi : 10.1016/S0020- 0190(99)00163-5 .
  10. ^ Индик, Петр. «Небольшое приблизительно минимальное независимое семейство хеш-функций». Журнал алгоритмов 38.1 (2001): 84-90.
  11. ^ Манасс, Марк (2012). Об эффективном определении наиболее близких соседей: подковы, ручные гранаты, веб-поиск и другие ситуации, когда «близость» значит «достаточно близко» . Морган и Клейпул. п. 72. ИСБН  9781608450886 .
  12. ^ Чум, Ондржей; Филбин, Джеймс; Айсард, Майкл; Зиссерман, Эндрю (2007), «Масштабируемое почти идентичное обнаружение изображений и кадров», Труды 6-й Международной конференции ACM по поиску изображений и видео (CIVR'07) , стр. 549–556, doi : 10.1145/1282280.1282359 , ISBN  9781595937339 , S2CID   3330908 ; Чум, Ондржей; Филбин, Джеймс; Зиссерман, Эндрю (2008), «Обнаружение почти повторяющихся изображений: взвешивание min-hash и tf-idf», Proceedings of the British Machine Vision Conference (PDF) , vol. 3, с. 4 .
  13. ^ Коэн, Э .; Датар, М.; Фудзивара, С.; Гионис, А.; Индик, П. ; Мотвани, Р. ; Ульман, JD ; Ян, К. (2001), «Нахождение интересных ассоциаций без сокращения поддержки», IEEE Transactions on Knowledge and Data Engineering , 13 (1): 64–78, CiteSeerX   10.1.1.192.7385 , doi : 10.1109/69.908981 .
  14. Перейти обратно: Перейти обратно: а б Ондов, Брайан Д.; Треанген, Тодд Дж.; Мельстед, Палл; Мэллони, Адам Б.; Бергман, Николас Х.; Корень, Сергей; Филлиппи, Адам М. (20 июня 2016 г.). «Mash: быстрая оценка расстояния до генома и метагенома с использованием MinHash» . Геномная биология . 17 (1): 132. дои : 10.1186/s13059-016-0997-x . ISSN   1474-760X . ПМЦ   4915045 . ПМИД   27323842 .
  15. ^ «Добро пожаловать в sourmash! — документация sourmash 1.0» . sourmash.readthedocs.io . Проверено 13 ноября 2017 г.
  16. ^ Берлин, Константин; Корень, Сергей; Чин, Чэнь-Шань; Дрейк, Джеймс П.; Ландолин, Джейн М; Филлиппи, Адам М. (25 мая 2015 г.). «Сборка больших геномов с помощью секвенирования одиночных молекул и хеширования с учетом местоположения». Природная биотехнология . 33 (6): 623–630. дои : 10.1038/nbt.3238 . ISSN   1546-1696 . ПМИД   26006009 . S2CID   17246729 .
  17. ^ Джайн, Чираг; Родригес-Р, Луис М.; Филиппи, Адам М.; Константинидис, Константинос Т.; Алуру, Шринивас (декабрь 2018 г.). «Высокопроизводительный ANI-анализ 90 тысяч геномов прокариот выявляет четкие границы видов» . Природные коммуникации . 9 (1): 5114. Бибкод : 2018NatCo...9.5114J . дои : 10.1038/s41467-018-07641-9 . ПМК   6269478 . ПМИД   30504855 .
  18. ^ Андони, Александр; Индик, Петр (2008), «Почти оптимальные алгоритмы хеширования для приближенного ближайшего соседа в больших измерениях», Communications of the ACM , 51 (1): 117–122, CiteSeerX   10.1.1.226.6905 , doi : 10.1145/1327452.1327494 , S2CID   6468963 .
  19. ^ Заде, Реза; Гоэл, Ашиш (2012), «Вычисление подобия, независимое от размерности», arXiv : 1206.2082 [ cs.DS ] .
  20. ^ Хенцингер, Моника (2006), «Поиск почти повторяющихся веб-страниц: крупномасштабная оценка алгоритмов», Труды 29-й ежегодной международной конференции ACM SIGIR по исследованиям и разработкам в области поиска информации , стр. 284 , doi : 10.1145/1148170.1148222 , ISBN  978-1595933690 , S2CID   207160068 .
  21. ^ Чарикар, Мозес С. (2002), «Методы оценки сходства на основе алгоритмов округления», Труды 34-го ежегодного симпозиума ACM по теории вычислений , стр. 380, номер домена : 10.1145/509907.509965 , ISBN  978-1581134957 , S2CID   4229473 .
  22. ^ Гурмит Сингх, Манку; Джайн, Арвинд; Дас Сарма, Аниш (2007), «Обнаружение почти дубликатов при сканировании в Интернете», Материалы 16-й Международной конференции по Всемирной паутине (PDF) , стр. 141, номер домена : 10.1145/1242572.1242592 , ISBN  9781595936547 , S2CID   1414324 .
  23. ^ Дас, Абхинандан С.; Датар, Маюр; Гарг, Ашутош; Раджарам, Шьям; и др. (2007), «Персонализация новостей Google: масштабируемая совместная онлайн-фильтрация», Материалы 16-й Международной конференции по Всемирной паутине , стр. 271, номер домена : 10.1145/1242572.1242610 , ISBN  9781595936547 , S2CID   207163129 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ac0a219f3d7c0a92cf13d517704216a4__1701721200
URL1:https://arc.ask3.ru/arc/aa/ac/a4/ac0a219f3d7c0a92cf13d517704216a4.html
Заголовок, (Title) документа по адресу, URL1:
MinHash - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)