Какую задачу решает локально чувствительное хеширование документов
Перейти к содержимому

Какую задачу решает локально чувствительное хеширование документов

  • автор:

Методы глубокого хэширования нового поколения

В последние годы наблюдается значительный рост объема данных, которые генерируются и сохраняются в различных форматах и большом масштабе. Одним из ключевых направлений в этой области является глубокое хеширование, которое обещает обеспечить компактное представление данных и быстрый поиск по содержанию. В этом контексте, различные методы глубокого хеширования, такие как Deep Lifelong Cross-modal Hashing, LLSH (Deep Neural Network-based Learned Locality-Sensitive Hashing), Graph-Collaborated Auto-Encoder Hashing, Sparsity-Induced Generative Adversarial Hashing (SiGAH) и CLIP Multi-modal Hashing, были предложены для обеспечения эффективного сопоставления между различными модальностями данных.

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

За последнее время были разработаны новые методы хеширования:

  1. Deep Lifelong Cross-modal Hashing: Этот метод значительно улучшил возможности хеширования в задачах кросс-модального поиска за счет быстрого времени запроса и низких затрат на хранение. Он использует глубокое обучение для улучшения производительности на больших наборах данных благодаря отличной способности извлекать и представлять нелинейные гетерогенные характеристики​ 1 ​.
  2. LLSH (Deep Neural Network-based Learned Locality-Sensitive Hashing): В этом методе предложено использовать глубокие нейронные сети для создания улучшенного варианта локально-чувствительного хеширования, что стало возможным благодаря быстрому развитию технологий GPU и нейронных сетей​ 2 ​.
  3. Graph-Collaborated Auto-Encoder Hashing: Этот метод предложен для бинарной кластеризации с несколькими представлениями и может значительно уменьшить затраты на хранение и вычисления путем изучения компактных бинарных кодов​ 3 ​.
  4. Sparsity-Induced Generative Adversarial Hashing (SiGAH): Этот новый метод не контролируемого хеширования предложен для кодирования крупномасштабных высокоразмерных характеристик в бинарные коды, что решает две проблемы через генеративно-состязательную схему обучения​ 4 ​.
  5. CLIP Multi-modal Hashing: Этот метод широко используется для поиска мультимедиа и может объединять данные из множества источников для создания бинарного хеш-кода​ 5 ​.

Эти методы исследуют различные аспекты хеширования, включая кросс-модальное хеширование, локально-чувствительное хеширование, авто-кодировщик на основе графов и генеративно-состязательное хеширование.

Метод «Deep Lifelong Cross-modal Hashing» (DLCH) представляет собой новый подход к хешированию, предложенный для решения проблем кросс-модального поиска.

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

Метод «Deep Neural Network-based Learned Locality-Sensitive Hashing» (LLSH) представляет собой новый подход к локально-чувствительному хешированию (LSH), используя глубокие нейронные сети (DNN). Этот метод был разработан для эффективного и гибкого отображения данных высокой размерности в пространство низкой размерности​ 1 ​​ 2 ​​ 3 ​.

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

Детальное описание метода, включая алгоритмы и экспериментальные результаты, можно найти в оригинальной научной статье, на которую ссылаются источники. Однако из-за ошибки при попытке доступа к документу напрямую, полное описание метода LLSH недоступно.

Метод «Graph-Collaborated Auto-Encoder Hashing» (GCAE) предназначен для задач многопрофильной бинарной кластеризации и основан на автоэнкодерах. В этом методе динамически изучаются аффинные графы с ограничениями низкого ранга, и применяется совместное обучение между автоэнкодерами и аффинными графами для получения единого бинарного кода​ 1 .

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

Метод Sparsity-Induced Generative Adversarial Hashing (SiGAH) представляет собой новый подход к неуправляемому хешированию, который направлен на кодирование больших масштабных данных высокой размерности в бинарные коды. Это достигается через генеративно-состязательный фреймворк обучения.

Метод SiGAH представляет собой значительный вклад в область неуправляемого хеширования, предлагая новый подход к кодированию и реконструкции данных в бинарных кодах.

Метод CLIP Multi-modal Hashing (CLIPMH) был разработан для решения проблемы низкой точности извлечения в существующих методах мультимодального хеширования

Можно сказать, что различные подходы к хешированию на основе глубокого обучения, такие как Deep Lifelong Cross-modal Hashing, LLSH (Deep Neural Network-based Learned Locality-Sensitive Hashing), Graph-Collaborated Auto-Encoder Hashing, Sparsity-Induced Generative Adversarial Hashing (SiGAH) и CLIP Multi-modal Hashing, являются важными шагами в направлении эффективного и быстрого поиска и анализа данных в больших масштабах. Эти методы обеспечивают мощные инструменты для интеграции и связывания информации из разных модальностей, что позволяет обеспечить более глубокое понимание данных и создать более эффективные системы поиска. Используя структуры глубокого обучения и современные алгоритмы хеширования, эти методы предложили новые возможности для улучшения качества и скорости обработки информации, что открывает новые перспективы для исследований и разработок в этой области.

Дальнейшие исследования необходимы для улучшения их эффективности и точности. Например, некоторые методы могут столкнуться с проблемами масштабируемости или требовать дополнительной оптимизации для работы с разнообразными типами данных.

  • хэширование
  • хэширование паролей
  • хэширования паролей
  • глубокое обучение
  • глубокое хэширвоание

Чудеса хеширования

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

Brian Donohue

  • 10 апреля 2014
  • Криптографические хеш-функции — незаменимый и повсеместно распространенный инструмент, используемый для выполнения целого ряда задач, включая аутентификацию, проверку целостности данных, защиту файлов и даже обнаружение зловредного ПО. Существует масса алгоритмов хеширования, отличающихся криптостойкостью, сложностью, разрядностью и другими свойствами. Считается, что идея хеширования принадлежит сотруднику IBM, появилась около 50 лет назад и с тех пор не претерпела принципиальных изменений. Зато в наши дни хеширование обрело массу новых свойств и используется в очень многих областях информационных технологий.

    Что такое хеш?

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

    Как работает хеш?

    Например, мое имя — Brian — после преобразования хеш-функцией SHA-1 (одной из самых распространенных наряду с MD5 и SHA-2) при помощи онлайн-генератора будет выглядеть так: 75c450c3f963befb912ee79f0b63e563652780f0. Как вам скажет, наверное, любой другой Брайан, данное имя нередко пишут с ошибкой, что в итоге превращает его в слово brain (мозг). Это настолько частая опечатка, что однажды я даже получил настоящие водительские права, на которых вместо моего имени красовалось Brain Donohue. Впрочем, это уже другая история. Так вот, если снова воспользоваться алгоритмом SHA-1, то слово Brain трансформируется в строку 97fb724268c2de1e6432d3816239463a6aaf8450. Как видите, результаты значительно отличаются друг от друга, даже несмотря на то, что разница между моим именем и названием органа центральной нервной системы заключается лишь в последовательности написания двух гласных. Более того, если я преобразую тем же алгоритмом собственное имя, но написанное уже со строчной буквы, то результат все равно не будет иметь ничего общего с двумя предыдущими: 760e7dab2836853c63805033e514668301fa9c47.

    Впрочем, кое-что общее у них все же есть: каждая строка имеет длину ровно 40 символов. Казалось бы, ничего удивительного, ведь все введенные мною слова также имели одинаковую длину — 5 букв. Однако если вы захешируете весь предыдущий абзац целиком, то все равно получите последовательность, состоящую ровно из 40 символов: c5e7346089419bb4ab47aaa61ef3755d122826e2. То есть 1128 символов, включая пробелы, были ужаты до строки той же длины, что и пятибуквенное слово. То же самое произойдет даже с полным собранием сочинений Уильяма Шекспира: на выходе вы получите строку из 40 букв и цифр. При всем этом не может существовать двух разных массивов данных, которые преобразовывались бы в одинаковый хеш.

    Вот как это выглядит, если изобразить все вышесказанное в виде схемы:

    Как работает хеширование

    Для чего используется хеш?

    Отличный вопрос. Однако ответ не так прост, поскольку криптохеши используются для огромного количества вещей.

    Для нас с вами, простых пользователей, наиболее распространенная область применения хеширования — хранение паролей. К примеру, если вы забыли пароль к какому-либо онлайн-сервису, скорее всего, придется воспользоваться функцией восстановления пароля. В этом случае вы, впрочем, не получите свой старый пароль, поскольку онлайн-сервис на самом деле не хранит пользовательские пароли в виде обычного текста. Вместо этого он хранит их в виде хеш-значений. То есть даже сам сервис не может знать, как в действительности выглядит ваш пароль. Исключение составляют только те случаи, когда пароль очень прост и его хеш-значение широко известно в кругах взломщиков. Таким образом, если вы, воспользовавшись функцией восстановления, вдруг получили старый пароль в открытом виде, то можете быть уверены: используемый вами сервис не хеширует пользовательские пароли, что очень плохо.

    Вы даже можете провести простой эксперимент: попробуйте при помощи специального сайта произвести преобразование какого-нибудь простого пароля вроде «123456» или «password» из их хеш-значений (созданных алгоритмом MD5) обратно в текст. Вероятность того, что в базе хешей найдутся данные о введенных вами простых паролях, очень высока. В моем случае хеши слов «brain» (8b373710bcf876edd91f281e50ed58ab) и «Brian» (4d236810821e8e83a025f2a83ea31820) успешно распознались, а вот хеш предыдущего абзаца — нет. Отличный пример, как раз для тех, кто все еще использует простые пароли.

    Еще один пример, покруче. Не так давно по тематическим сайтам прокатилась новость о том, что популярный облачный сервис Dropbox заблокировал одного из своих пользователей за распространение контента, защищенного авторскими правами. Герой истории тут же написал об этом в твиттере, запустив волну негодования среди пользователей сервиса, ринувшихся обвинять Dropbox в том, что он якобы позволяет себе просматривать содержимое клиентских аккаунтов, хотя не имеет права этого делать.

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

    Где еще можно использовать хеш-функции помимо систем хранения паролей и защиты медиафайлов? На самом деле задач, где используется хеширование, гораздо больше, чем я знаю и тем более могу описать в одной статье. Однако есть одна особенная область применения хешей, особо близкая нам как сотрудникам «Лаборатории Касперского»: хеширование широко используется для детектирования зловредных программ защитным ПО, в том числе и тем, что выпускается нашей компанией.

    Как при помощи хеша ловить вирусы?

    Примерно так же, как звукозаписывающие лейблы и кинопрокатные компании защищают свой контент, сообщество создает списки зловредов (многие из них доступны публично), а точнее, списки их хешей. Причем это может быть хеш не всего зловреда целиком, а лишь какого-либо его специфического и хорошо узнаваемого компонента. С одной стороны, это позволяет пользователю, обнаружившему подозрительный файл, тут же внести его хеш-код в одну из подобных открытых баз данных и проверить, не является ли файл вредоносным. С другой — то же самое может сделать и антивирусная программа, чей «движок» использует данный метод детектирования наряду с другими, более сложными.

    Криптографические хеш-функции также могут использоваться для защиты от фальсификации передаваемой информации. Иными словами, вы можете удостовериться в том, что файл по пути куда-либо не претерпел никаких изменений, сравнив его хеши, снятые непосредственно до отправки и сразу после получения. Если данные были изменены даже всего на 1 байт, хеш-коды будут отличаться, как мы уже убедились в самом начале статьи. Недостаток такого подхода лишь в том, что криптографическое хеширование требует больше вычислительных мощностей или времени на вычисление, чем алгоритмы с отсутствием криптостойкости. Зато они в разы надежнее.

    Кстати, в повседневной жизни мы, сами того не подозревая, иногда пользуемся простейшими хешами. Например, представьте, что вы совершаете переезд и упаковали все вещи по коробкам и ящикам. Погрузив их в грузовик, вы фиксируете количество багажных мест (то есть, по сути, количество коробок) и запоминаете это значение. По окончании выгрузки на новом месте, вместо того чтобы проверять наличие каждой коробки по списку, достаточно будет просто пересчитать их и сравнить получившееся значение с тем, что вы запомнили раньше. Если значения совпали, значит, ни одна коробка не потерялась.

    Какую задачу решает локально чувствительное хеширование документов

    Двигинг, чувствительный к местности, алгоритм LSH — это алгоритм, который измеряет текстовое сходство, когда я нахожу его в предыдущее время. Местный чувствительный хэш — самый популярный в ближайшем алгоритме поиска ближайшего соседа, который имеет сплошную теоретическую основу и превосходное в пространстве высокого размера данных. Его главной ролью состоит в том, чтобы выкопать аналогичные данные из массивных данных, которые могут быть применены к обнаружению сходства полей, веб-поисковых и других полей.

    Базовая мысль

    Основная идея локального чувствительного хеширования аналогична идее преобразования пространственного домена. Алгоритм LSH основан на гипотезе. Если два текста аналогичны в исходном пространстве данных, то после преобразования хешей.У них также есть высокое сходство; обратное, если они не похожи, у них все еще есть сходство после перехода.

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

    2. Частичный чувствительный хэш LSH

    Наибольшая особенность местного чувствительного хэша — поддерживать сходство данных, мы представим это через античный пример.

    Предположим, что хеш-функция — это хэш (x) = x% 8, то теперь у нас есть три данных из 255, 257 и 1023, мы знаем, что 255 и 257 сам есть небольшой разрыв в ценностях, то есть они в трех похоже в более чем один. Мы преобразуем три данных, описанные выше через хеш-функцию:

    Hash(255) = 255%8 = 7;

    Hash(257) = 257%8 = 1;

    Hash(1023) = 1023%8 = 7;

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

    Мы говорим, что местные чувствительные хэшиные требования могут поддерживать сходство данных, поэтому многие люди подозревают, что такая функция хэша действительно существует. Давайте подумаем о таком экстремальном состоянии, при условии, что локальная чувствительная хэш-функция имеет 10 различных выходных значений, и теперь у нас есть 11 данных, которые полностью сходятся, тогда они должны иметь как минимум два в этой хеш-функции. Неподобные данные изменяется в аналогичные данные. Отказ Из этого предположения мы должны понимать, что локальный чувствительный хэшотносительноИ сходство данных о техническом обслуживании, которое мы сказали, не сохраняют 100% сходство, ноПоддерживать максимальную вероятность

    Для этого момента местного чувствительного хэша «сохранение самого большого возможного сходства» мы также можем рассмотреть вопрос о перспективе Data Dropwors. Чем выше размер данных, чем больше информации, обратная, если данные уменьшаются, нет никаких сомнений в том, что информация, отраженная в данных неизбежно проиграть. Функция хеша по сути — это роль, которая играла в данные.

    3. Расчет сходства документов

    Используя LSH для реализации сходства документа, мы введем конкретное использование LSH.

    Предположим, что есть 4 веб-страницы, мы используем их поглощение (сопоставление строки, чтобы запрашивать, отображать его в коллекцию, например, «aBCDeeee», сопоставлена ​​на коллекцию «(a, b, c, d, e ) «, Обратите внимание, что элементы в коллекции не являются повторением. Этот шаг называется поглощением, что означает, что коллекция коротких строк в документе, то есть коллекция шаги.), Получите следующую функцию MATRIX:

    «1» представляет черепица в соответствующей позиции «0», «0», не появился.

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

    Наша цель — найти такую ​​хеш-функцию. Если сходство JACCARD в документе высока, то их хеш-значение является той же вероятностью, если сходство Jaccard исходного документа низкая, то их значения хеш-сигнала не одинаковы Вероятность мы называем Min-Hashing (незначительный харц).

    Мин хеширование определяется как: число строки ряда первого значения столбца 1 после случайного расположения выполняется матрицей функции. Например, следующим образом случайное расположение предыдущей матрицы функций выглядит следующим образом:

    Минимальное значение хеша: H (S1) = 3, H (S2) = 5, H (S3) = 1, H (S4) = 2.

    Почему определить минимальный хэш? На самом деле, наименее хэш-ценность двух колонн — это оценка двух столбцов сходства jaccard. Другими словами, вероятность двух столбцов равна их сходству, то есть p (h (Si) = h (Sj )) = SIM (Si, Sj). Почему это равно? Рассмотрим эти два столбца SI и SJ, все возможные результаты их линий можно разделить на следующие три категории:

    (1) Класс A: значение двух столбцов составляет 1;

    (2) Класс B: одно из значений 0, значение другого составляет 1;

    (3) Класс C: значения двух столбцов 0.

    Характерная матрица довольно редкая, что приводит к большинству строк, принадлежащих к классу C, но только SIM-карту A и B (Si, Si), предположим, что категория A, B, B, SIM (SI, SI, SJ) = A / (A + B). Теперь нам нужно только доказать, что матричная строка случайно расположена, вероятность P (h (Si) = h (Sj)) = A / (A + B) удаляется, если мы удаляем класс C Oharid, затем первая строка Разве класс ряд — линия B-класса. Если первая строка представляет собой категорию, h (Si) = h (Sj), таким образом p (h (Si) = h (Sj)) = p (после класса Строка C удалена, первая строка — это класс A) = номер A / Количество строк / количество строк = A / (A + B), это самая маленькая магия хэш.

    Конкретный подход Min-Hashing можно выразить следующим образом:

    Вернуться к нашему экземпляру, мы сначала генерируем кучу случайной замены, замените каждую строку матрицы функций, а затем функция хеша определяется как значение столбца C HASHH: находится на замене Column C, номер строки ряд значения 1. Как показано ниже:

    На рисунке показаны три замены, три из цветных, я теперь объясняю один из них, а остальные два. Например, теперь посмотрите на синюю версию, матрицу подписи после замены:

    Затем посмотрите на первый столбец — первая строка — это первая строка. Это вторая строка. То же самое одинаково, а две или четыре столбца разделены. Они 1, 2, 1, поэтому эти четыре трека (четыре Документы) При этой замене он составляет 2, 1, 2, 1, что является синей частью на правой картинке, которая эквивалентна каждому документу составляет 1 размерность. Затем на два других замены, а затем имеют две строки справа, конечный результат заключается в том, что каждый документ упал с 7 до 3 дней. Давайте посмотрим на сходство после измерения, то есть таблица в правом нижнем углу дает сходство между двумя двумя двумя двумя двумя двумя двумя. Можно увидеть, все еще довольно точны, вспоминая только что говоря: я надеюсь, что JACCard оригинала документов высока, то их значение HASH является той же вероятностью, если JACCard оригинала документов аналогична, то их значения хеш-сигнала разные Высокая вероятность, как сделать вероятность гарантий? Мин-хеширование имеет удивительную природу:

    То есть для двух документов,В методе Min-Hashing их хеш-значения равны сходством Jaccard, прежде чем они упали.

    Примечание. В приведенном выше примере мы также можем предпринять подобные метрики, такие как расстояние в Европе, чтобы заменить сходство JACCARD. В это время соответствующая стратегия LSH необходимо изменить, так что последнее значение хэша равно предыдущему сходству Отказ

    мотивация

    Задача поиска ближайших соседей очень распространена. Вы можете думать о приложениях, таких как поиск дубликатов или аналогичных документов, поиск аудио / видео. Хотя использование грубой силы для проверки всех возможных комбинаций даст вам точного ближайшего соседа, но это не масштабируется вообще. Приближенные алгоритмы для решения этой задачи были областью активных исследований. Хотя эти алгоритмы не гарантируют точного ответа, чаще всего они дают хорошее приближение. Эти алгоритмы быстрее и масштабируемы.

    Локальное хеширование (LSH) является одним из таких алгоритмов. У LSH есть много применений, включая:

    • Обнаружение почти дубликатов: LSH обычно используется для дедупликации большого количества документов, веб-страниц и других файлов.
    • Общегеномное исследование ассоциации: биологи часто используют LSH для идентификации сходных экспрессий генов в базах данных генома.
    • Масштабный поиск изображений: Google использовал LSH вместе с PageRank для создания своей технологии поиска изображений VisualRank,
    • Аудио / видео снятие отпечатков пальцев: в мультимедийных технологиях LSH широко используется в качестве метода снятия отпечатков пальцев аудио / видео данных.

    В этом блоге мы попытаемся понять работу этого алгоритма.

    Главная идея

    LSHотносится к семейству функций (известных как семейства LSH) для хеширования точек данных в сегменты, чтобы точки данныхрядом друг с другом расположены в одинаковых ведрах с большой вероятностью, в то время как данные указываютдалеко друг от друга, скорее всего, будут в разных ведрах, Это облегчает идентификацию наблюдений с различной степенью сходства.

    Поиск похожих документов

    Давайте попробуем понять, как мы можем использовать LSH в решении актуальной проблемы. Проблема, которую мы пытаемся решить:

    Цель:Вам были предоставлены большие коллекции документов. Вы хотите найти «почти одинаковые» пары.

    В контексте этой проблемы мы можем разбить алгоритм LSH на 3 широких этапа:

    Не читайте много на рисунке сейчас. Это просто, чтобы дать вам представление о ходе процесса. Мы обсудим каждый шаг подробно.

    Shingling

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

    Например: один из ваших документов (D): «Надаль». Теперь, если нас интересует 2-черепица, тогда наш набор: . Аналогично набор из 3-х черепиц: .

    • Подобные документы имеют больше шансов
    • Изменение порядка абзацев в документе с изменением слов не сильно влияет на опоясывающий лишай
    • значение k 8–10обычно используется на практике. Небольшое значение приведет к множеству черепицы, которые присутствуют в большинстве документов (плохо для дифференциации документов)

    Жакард Индекс

    У нас есть представление каждого документа в виде черепицы. Теперь нам нужен показатель для измерения сходства между документами. Jaccard Index — хороший выбор для этого. Индекс Жакара между документами A и B можно определить как:

    Это также известно какпересечение над объединением (IOU),

    Предположим, что A: «Надаль» и B: «Надя», тогда представление с двумя черепицами будет:

    Индекс Жакара = 2/6

    Большее количество общих черепиц приведет к увеличению индекса Жакара и, следовательно, более вероятно, что документы похожи.

    Давайте обсудим 2 больших вопроса, которые нам нужно решить:

    Сложность времени

    Теперь вы можете думать, что мы можем остановиться здесь. Но если вы думаете о масштабируемости, выполнение только этого не сработает. Для сбора n документов необходимо сделатьп * (п-1) / 2сравнение, в основномO (N²), Представьте, что у вас есть 1 миллион документов, тогда число сравнений будет 5 * 10¹¹ (не масштабируется вообще!).

    Пространство сложности

    Матрица документа является разреженной матрицей, и ее хранение в том виде, в каком оно есть, потребует больших затрат памяти. Одним из способов решения этой проблемы является хеширование.

    Идея хеширования состоит в том, чтобы преобразовать каждый документ в небольшую подпись, используя функцию хеширования.ЧАС,Предположим, что документ в нашем корпусе обозначается какд.Затем:

    • H (d) — подпись, и она достаточно мала, чтобы уместиться в памяти
    • ЕслиСходство (d1, d2)высокая тогдаВероятность (Н (d1) == Н (d2))в приоритете
    • ЕслиСходство (d1, d2)то низкоВероятность (Н (d1) == Н (d2))низок

    Выбор функции хеширования тесно связан с метрикой подобия, которую мы используем. Для подобия Жакара подходящая хеш-функциямин-хеширование,

    Минимальное перемешивание

    Это критический и самый магический аспект этого алгоритма, поэтому обратите внимание:

    Шаг 1:Случайная перестановка(Π)изиндекс строкиматрицы гальки документа

    Шаг 2:Хеш-функция являетсяиндекс первой (в перестановочном порядке) строки, в которой столбец C имеет значение 1.Сделайте это несколько раз (используйте разные перестановки), чтобы создать подпись столбца.

    Свойство Min-hash

    Сходство сигнатур — это доля мин-хеш-функций (строк), в которых они согласуются. Таким образом, сходство подписи для C1 и C3 составляет 2/3, поскольку 1-я и 3-я строки одинаковы.

    Ожидаемое сходство двух подписей равно схожести столбцов Жакара. Чем длиннее подписи, тем ниже ошибка

    В приведенном ниже примере вы можете увидеть это в некоторой степени. Есть разница, так как у нас есть подписи только длины 3. Но если увеличить длину, 2 сходства будут ближе.

    Таким образом, используя минимальное хеширование, мы решили проблемусложность пространстваустраняя скудность и в то же времясохраняя сходство, В реальной реализации это трюк для создания перестановок индексов, о которых я не буду рассказывать, но вы можете проверить это видео около 15:52. Минимальная реализация

    Локальное хеширование

    Цель: найти документы со сходством Жакара, по крайней мере, t

    Общая идея LSH состоит в том, чтобы найти алгоритм, который, если мы введем подписи двух документов, говорит нам, что эти два документа образуют пару кандидатов или нет, то есть их сходство превышает пороговое значениеT, Помните, что мы берем сходство подписей как прокси для сходства Jaccard между оригинальными документами.

    Специально для минимальной хэш-матрицы подписи:

    • Хеш столбцы матрицы подписиMиспользуя несколько хеш-функций
    • Если 2 документа хэшируются в одно и то же ведро дляхотя бы одиниз хеш-функции мы можем взять 2 документа в качестве пары кандидатов

    Теперь вопрос в том, как создавать разные хеш-функции. Для этого мы делаем групповой раздел.

    Ленточная перегородка

    • Разделите матрицу подписи наб полосыкаждая группа имеетг строк
    • Для каждой полосы, хэшируйте свою часть каждого столбца в хеш-таблицу сk ведер
    • Пары столбцов-кандидатов — это те, которые хэшируют в одно и то же ведро длякак минимум 1 полоса
    • Настройте b и r, чтобы поймать большинство похожих пар, но несколько не похожих пар

    Здесь есть несколько соображений. В идеале для каждой полосы мы хотим принять k равным всем возможным комбинациям значений, которые столбец может принимать в пределах полосы. Это будет эквивалентно сопоставлению идентичности. Но в этом случае k будет огромным числом, которое вычислительно невозможно. Например: если для группы у нас есть 5 строк. Теперь, если элементы в сигнатуре являются 32-битными целыми числами, тогда k в этом случае будет (2³²) ⁵

    1.4615016e + 48. Вы можете увидеть, в чем проблема здесь. Обычно k берется около 1 миллиона.

    Идея состоит в том, что если 2 документа похожи, то они появятся как пара кандидатов, по крайней мере, в одной из полос.

    Выбор B & R

    Если мы возьмем b большое, то есть большее число хеш-функций, мы уменьшим r, так как b * r является константой (количество строк в матрице сигнатур). Интуитивно это означает, что мыувеличение вероятности нахождения пары кандидатов.Этот случай равносилент (порог сходства)

    Допустим, ваша матрица подписи имеет 100 строк. Рассмотрим 2 случая:

    Во 2-м случае выше вероятность того, что 2 документа появятся в одной корзине хотя бы один раз, поскольку они имеютбольше возможностей (20 против 10)а такжесравнивается меньше элементов подписи (5 против 10).

    Чем выше б, тем нижеПорог сходства (выше ложных срабатываний), а более низкий b означает более высокий порог сходства (выше ложных срабатываний)

    Давайте попробуем понять это на примере.

    Настроить:

    • 100к документов хранятся в виде подписи длиной 100
    • Матрица подписи: 100 * 100000
    • Сравнение подписей методом грубой силы приведет к сравнению 100C2 = 5 миллиардов (довольно много!)
    • Давайте возьмем b = 20 → r = 5

    порог сходства (т): 80%

    Мы хотим, чтобы 2 документа (D1 и D2) со схожестью 80% хэшировались в одном и том же сегменте как минимум для одной из 20 полос.

    P (D1 и D2 идентичны в определенной полосе) = (0,8) ⁵ = 0,328

    P (D1 и D2 не одинаковы во всех 20 полосах) = (1–0,328) ^ 20 = 0,00035

    Это означает, что в этом сценарии у нас есть

    0,035% вероятности ложного отрицания на 80% похожих документов.

    Также мы хотим, чтобы 2 документа (D3 и D4) с 30% сходством не хэшировались в одном и том же сегменте ни для одной из 20 полос (порог = 80%).

    P (D3 и D4 идентичны в определенной полосе) = (0,3) ⁵ = 0,00243

    P (D3 и D4 похожи, по крайней мере, в одной из 20 полос) = 1 — (1–0,00243) ^ 20 = 0,0474

    Это означает, что в этом сценарии у нас есть

    4,74% вероятности ложного срабатывания при 30% аналогичных документов.

    Таким образом, мы можем видеть, что у нас есть несколько ложных срабатываний и несколько ложных отрицательных. Эти пропорции будут варьироваться в зависимости от выбора b и r.

    То, что мы хотим здесь, это что-то вроде ниже Если у нас есть 2 документа, сходство которых превышает пороговое значение, то вероятность их совместного использования в одном и том же сегменте хотя бы в одной из полос должна составлять 1, иначе 0.

    Наихудший случай будет, если у насb = количество строк в матрице подписикак показано ниже.

    Обобщенный случай для любых b и r приведен ниже.

    Выберите b и r, чтобы получить лучшую S-кривую, т.е. минимальный уровень ложных отрицательных и ложных положительных результатов.

    Резюме по LSH

    • мелодияМ, б, гполучить почти все пары документов с одинаковыми подписями, но исключить большинство пар, которые не имеют схожих подписей
    • Проверьте в основной памяти, чтопары-кандидатыдействительно естьпохожие подписи

    Вывод

    Я надеюсь, что вы хорошо понимаете этот мощный алгоритм и как он сокращает время поиска. Вы можете себе представить, как LSH может быть применен буквально к любому виду данных и насколько он актуален в современном мире больших данных.

    Хеширование с учетом местоположения — Locality-sensitive hashing

    В информатике хеширование с учетом местоположения (LSH ) является алгоритмический метод, который с высокой вероятностью помещает похожие входные элементы в одни и те же «корзины». (Количество сегментов намного меньше, чем совокупность возможных входных элементов.) Поскольку похожие элементы попадают в одни и те же сегменты, этот метод можно использовать для кластеризации данных и поиска ближайшего соседа. Он отличается от обычных методов хеширования тем, что конфликты хеширования максимизируются, а не минимизируются. В качестве альтернативы, этот метод можно рассматривать как способ уменьшить размерность данных большой размерности; элементы ввода большой размерности могут быть уменьшены до версий низкой размерности, сохраняя при этом относительные расстояния между элементами.

    Основанные на хешировании приблизительные алгоритмы поиска ближайшего соседа обычно используют одну из двух основных категорий методов хеширования: либо методы, не зависящие от данных, такие как хеширование с учетом местоположения (LSH); или методы, зависящие от данных, такие как хеширование с сохранением местоположения (LPH).

    Определения

    Семейство LSH F >> определено для метрического пространства M = (M, d) > = (M, d)> , порог R>0 0> и коэффициент приближения c>1 1> . Это семейство F >> представляет собой семейство функций h: M → S , которые отображают элементы из метрического пространства в корзину s ∈ S . Семейство LSH удовлетворяет следующим условиям для любых двух точек p, q ∈ M , используя функцию h ∈ F >> , который выбирается равномерно случайным образом:

    • если d (p, q) ≤ R , тогда h (p) = h (q) (т. Е. P и q сталкиваются) с вероятностью при минимум п 1 > ,
    • , если d (p, q) ≥ c R , тогда час (p) = час (q) с вероятностью не более P 2 > .

    Семейство интересно, когда P 1>P 2 >P_ > . Такая семья F >> называется (R, c R, P 1, P 2) , P_ )> -чувствительный.

    В качестве альтернативы он определяется по отношению к универсуму элементов U, которые имеют функцию подобия ϕ: U × U → [0, 1] . Схема LSH — это семейство хэш-функций H в сочетании с распределением вероятностей D по функциям таким образом, что функция h ∈ H , выбранный согласно D, удовлетворяет тому свойству, что P rh ∈ H [h (a) = h (b)] = ϕ (a, b) [h (a) = h (b)] = \ phi (a, b)> для любых a, b ∈ U .

    с сохранением местности хеширование

    A хеширование с сохранением местоположения — это хэш-функция f, которая отображает точку или точки в многомерном координатном пространстве на скалярное значение, так что если у нас есть три точки A, B и C такие, что

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

    хэши, сохраняющие локальность связаны с кривыми заполнения пространства.

    Усиление

    Учитывая a (d 1, d 2, p 1, p 2) , d_ , p_ , p_ )> -чувствительное семейство F >> , мы можем создавать новые семейства G >> конструкцией И или конструкцией ИЛИ F >> .

    Для создания построение AND, мы определяем новое семейство G >> хэш-функций g, где каждая функция g построена из k случайных функций h 1. час К . h_ > из F >> . Затем мы говорим, что для хэш-функции g ∈ G >> , g (x) = g (y) тогда и только тогда, когда все hi (x) = hi (y) для i = 1, 2. к . Поскольку члены F >> независимо выбираются для любого g ∈ G >> , G >> равно a (d 1, d 2, p 1 k, p 2 k) , d_ , p_ ^ , p_ ^ )> -чувствительное семейство.

    Чтобы создать конструкцию ИЛИ, мы определяем новое семейство G >> хэш-функций g, где каждая функция g построена из k случайных функций h 1. час К . h_ > из F >> . Затем мы говорим, что для хеш-функции g ∈ G >> , g (x) = g (y) тогда и только тогда, когда hi (x) = hi (y) для одного или нескольких значений i. Поскольку члены F >> независимо выбираются для любого g ∈ G >> , G >> — это (d 1, d 2, 1 — (1 — p 1) k, 1 — (1 — p 2) к) , d_ , 1- (1-p_ ) ^ , 1- (1-p_ ) ^ )> -чувствительная семья.

    Приложения

    LSH был применен к нескольким проблемным областям, в том числе:

    • Обнаружение почти дублированных
    • Идентификация сходства изображений

    Методы

    Битовая выборка для расстояния Хэмминга

    Один из самых простых способов построить семейство LSH — это битовая выборка. Этот подход работает для расстояния Хэмминга над d-мерными векторами d ^ > . Здесь семейство хэш-функций F >> — это просто семейство всех проекций точек на один из d координаты, т. Е. F = d → ∣ h (x) = xi для некоторого i ∈ > > = \ ^ \ to \ \ mid h (x) = x_ > i \ in \ \>> , где xi — это i -я координата x . Случайная функция h из F >> просто выбирает случайный бит из точки ввода. Это семейство имеет следующие параметры: P 1 = 1 — R / d = 1-R / d> , P 2 = 1 — c R / d = 1-cR / d> .

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

    Предположим, что U состоит из подмножеств некоторого основного набора перечислимых элементов S, а интересующая функция подобия — это индекс Жаккара Дж. Если π — перестановка индексов S, для A ⊆ S пусть h (A) = min a ∈ A > . Каждый возможный выбор π определяет одну хэш-функцию h, отображающую входные наборы в элементы S.

    Определите семейство функций H как набор всех таких функций, и пусть D будет равномерным распределением. Даны два набора A, B ⊆ S событие, которое h (A) = h (B) точно соответствует случаю, когда минимизатор π над A ∪ B лежит внутри A ∩ B . Поскольку h был выбран равномерно случайным образом, P r [h (A) = h (B)] = J (A, B) и (H, D) определяют схему LSH для индекса Жаккара.

    Поскольку симметричная группа на n элементах имеет размер n !, выбор истинной случайной перестановки из полной симметричной группы невозможен даже для среднего размера n. Из-за этого факта была проделана значительная работа по поиску семейства перестановок, которое «не зависит от минимума» — семейства перестановок, для которого каждый элемент области имеет равную вероятность быть минимальным при случайно выбранном π. Было установлено, что минимально независимое семейство перестановок имеет размер не менее lcm ⁡ (1, 2, ⋯, n) ≥ en — o (n) (1, 2, \ cdots, n) \ geq e ^ > , и что эта граница жесткая.

    Поскольку минимально независимые семейства слишком велики для практических приложений вводятся два варианта понятий минимальной независимости: ограниченные минимально независимые семейства перестановок и приближенные минимально независимые семейства. Ограниченная минимальная независимость — это свойство минимальной независимости, ограниченное некоторыми наборами мощности не более k. Приблизительная минимальная независимость отличается от свойства не более чем на фиксированное ε.

    Методы с открытым исходным кодом
    Nilsimsa Hash

    Nilsimsa — это алгоритм хеширования, зависящий от местности, используемый в антиспам усилий. Цель Nilsimsa — создать хэш-дайджест сообщения электронной почты, чтобы дайджесты двух похожих сообщений были похожи друг на друга. В документе предполагается, что Nilsimsa удовлетворяет трем требованиям:

    1. Дайджест, идентифицирующий каждое сообщение, не должен существенно отличаться от изменений, которые могут быть произведены автоматически.
    2. Кодировка должна быть устойчивой к преднамеренным атакам.
    3. Кодирование должно поддерживать чрезвычайно низкий риск ложных срабатываний.

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

    Тестирование, проведенное в статье на ряде типов файлов, показало, что хэш Nilsimsa имеет значительно более высокую частоту ложных срабатываний по сравнению с другими схемами дайджеста сходства, такими как TLSH, Ssdeep и Sdhash.

    Случайная проекция

    Случайная проекция Метод LSH из-за Моисея Харикара, называемый SimHash (также иногда называемый arccos), предназначен для аппроксимации косинусного расстояния между векторами. Основная идея этого метода — выбрать случайную гиперплоскость (определенную нормальным единичным вектором r) в самом начале и использовать гиперплоскость для хеширования входных векторов.

    Учитывая входной вектор v и гиперплоскость, определяемую r, мы позволяем h (v) = sgn (v ⋅ r) . То есть h (v) = ± 1 в зависимости от того, с какой стороны лежит гиперплоскость v.

    Каждый возможный выбор r определяет одну функцию. Пусть H — множество всех таких функций, и пусть D — снова равномерное распределение. Нетрудно доказать, что для двух векторов u, v , P r [h (u) = h (v)] = 1 — θ (u, v) π >> , где θ (u, v) — угол между u и v. 1 — θ (u, v) π >> тесно связан с cos ⁡ (θ (u, v)) .

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

    Стабильные распределения

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

    Алгоритм LSH для поиска ближайшего соседа

    Одним из основных приложений LSH является обеспечение метода для эффективных алгоритмов приближенного поиска ближайшего соседа. Рассмотрим семейство LSH F >> . Алгоритм имеет два основных параметра: параметр ширины k и количество хэш-таблиц L.

    На первом этапе мы определяем новое семейство G >> хэш-функций g, где каждая функция g получается объединением k функций h 1. hk . h_ > из F >> , т. е. g (p) = [h 1 (p). час К (п)] (p). h_ (p)]> . Другими словами, случайная хеш-функция g получается объединением k случайно выбранных хэш-функций из F >> . Затем алгоритм создает L хеш-таблиц, каждая из которых соответствует разной случайно выбранной хеш-функции g.

    На этапе предварительной обработки мы хэшируем все n точек из набора данных S в каждую из L хэш-таблиц. Учитывая, что результирующие хеш-таблицы имеют только n ненулевых записей, можно уменьшить объем памяти, используемой для каждой хеш-таблицы, до O (n) , используя стандартные хэш-функции.

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

    Учитывая параметры k и L, алгоритм имеет следующие гарантии производительности:

    • время предварительной обработки: O (n L kt) , где t — время для вычисления функции h ∈ F >> во входной точке p;
    • пробел: O (n L) , плюс пространство для хранения точек данных;
    • время запроса: O (L (kt + dn P 2 k)) ^ ))> ;
    • алгоритму удается найти точку на расстоянии c R от q (если существует точка на расстоянии R) с вероятностью не менее 1 — (1 — P 1 k) L ^ ) ^ > ;

    Для фиксированного коэффициента аппроксимации c = 1 + ϵ и вероятностей P 1 > и P 2 > , можно установить k = ⌈ log ⁡ n log ⁡ 1 / P 2 ⌉ > \ rceil> и L = ⌈ P 1 — k ⌉ = O (n ρ P 1 — 1) ^ \ rceil = O (n ^ P_ ^ )> , где ρ = log ⁡ P 1 журнал ⁡ п 2 \ over \ log P_ >> . Тогда можно получить следующие гарантии производительности:

    Архитектура децентрализованной рекомендующей системы, основанной на применении локально-чувствительного хеширования Текст научной статьи по специальности «Компьютерные и информационные науки»

    Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пономарев Андрей Васильевич

    Постановка проблемы: рекомендующие системы широко используются в современных системах электронной коммерции, помогая пользователям ориентироваться в многообразии предлагаемых товаров и услуг. Наибольшее распространение получили централизованные архитектуры построения таких систем. Однако централизация влечет за собой ряд недостатков, среди которых необходимость передачи пользователем сведений о предпочтениях стороне, осуществляющей эксплуатацию такой системы, и наличие единой точки отказа. Цель: построение децентрализованной рекомендующей системы , в которой для формирования рекомендаций используется сходство предпочтений пользователей ( коллаборативная фильтрация ), но полные сведения о предпочтениях хранятся только на узле, контролируемом самим пользователем, и не передаются другим узлам. Результаты: предложена архитектура децентрализованной рекомендующей системы , включающая структурированную одноранговую сеть , в которой каждый узел соответствует одному пользователю и хранит профиль его предпочтений, и специальный узел для информационного согласования участников сети. В качестве механизма, обеспечивающего, с одной стороны, поиск пользователей со схожими предпочтениями, а с другой стороны, ограниченное раскрытие информации о предпочтениях, используется локально-чувствительное хеширование . Для повышения уровня приватности пользователей в одноранговой сети применяется схема анонимизации. Практическая значимость: предложенный подход является достаточно универсальным и может быть использован для построения систем коллаборативной фильтрации в различных прикладных областях.

    Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Пономарев Андрей Васильевич

    Decentralized Recommendation System Architecture Based on Locality-Sensitive Hashing

    Purpose: Recommendation systems are widely used in modern e-commerce systems to help users make their ways in a vast variety of offered goods and services. Most of the modern recommendation system approaches are centralized. However, centralized recommendation have two primary disadvantages: the necessity for users to share their preferences and a single point of failure. The goal of this work is developing a decentralized recommendation system which employs user similarity ( collaborative filtering ) but holds all the user preferences only on the user’s network node. Results:An architecture is proposed for a decentralized recommendation system. It includes a structured peer-to-peer network in which each node corresponds to one user and stores this user’s preferences, and a special node used for the coordination of peer-to-peer nodes in some scenarios. To find users with similar interests and, in the same time, restrict the sharing of preferences, a locality-sensitive hashing is employed. For a higher level of privacy, the network uses an anonymization scheme. Practical relevance: The proposed approach is universal, as it relies only on ratings, and can be used to build collaborative filtering systems in various domains.

    Текст научной работы на тему «Архитектура децентрализованной рекомендующей системы, основанной на применении локально-чувствительного хеширования»

    АРХИТЕКТУРА ДЕЦЕНТРАЛИЗОВАННОЙ РЕКОМЕНДУЮЩЕЙ СИСТЕМЫ, ОСНОВАННОЙ НА ПРИМЕНЕНИИ ЛОКАЛЬНО-ЧУВСТВИТЕЛЬНОГО ХЕШИРОВАНИЯ

    А. В. Пономарева, канд. техн. наук, старший научный сотрудник

    аСанкт-Петербургский институт информатики и автоматизации РАН, Санкт-Петербург, РФ

    Постановка проблемы: рекомендующие системы широко используются в современных системах электронной коммерции, помогая пользователям ориентироваться в многообразии предлагаемых товаров и услуг. Наибольшее распространение получили централизованные архитектуры построения таких систем. Однако централизация влечет за собой ряд недостатков, среди которых — необходимость передачи пользователем сведений о предпочтениях стороне, осуществляющей эксплуатацию такой системы, и наличие единой точки отказа. Цель: построение децентрализованной рекомендующей системы, в которой для формирования рекомендаций используется сходство предпочтений пользователей (коллаборативная фильтрация), но полные сведения о предпочтениях хранятся только на узле, контролируемом самим пользователем, и не передаются другим узлам. Результаты: предложена архитектура децентрализованной рекомендующей системы, включающая структурированную одноранговую сеть, в которой каждый узел соответствует одному пользователю и хранит профиль его предпочтений, и специальный узел для информационного согласования участников сети. В качестве механизма, обеспечивающего, с одной стороны, поиск пользователей со схожими предпочтениями, а с другой стороны, ограниченное раскрытие информации о предпочтениях, используется локально-чувствительное хеширование. Для повышения уровня приватности пользователей в одноранговой сети применяется схема анонимизации. Практическая значимость: предложенный подход является достаточно универсальным и может быть использован для построения систем коллаборативной фильтрации в различных прикладных областях.

    Ключевые слова — локально-чувствительное хеширование, одноранговые сети, рекомендующие системы, коллаборативная фильтрация.

    Большинство широко распространенных подходов к построению рекомендующих систем предполагают централизованную архитектуру. Важным достоинством централизации является существование широкого спектра техник моделирования предпочтений пользователей, предполагающих доступ к профилям всех пользователей (большинство реализаций метода ближайших соседей, разложение матрицы предпочтений и др.). Кроме того, при централизованном хранении информации о предпочтениях сторона, осуществляющая эксплуатацию рекомендующей системы, может производить всевозможные исследования этой информации, в том числе и не связанные напрямую с формированием рекомендаций.

    Однако централизованная архитектура не свободна и от недостатков. Во-первых, в централизованных рекомендующих системах естественным образом возникает неоднозначная ситуация, касающаяся прав на информацию о предпочтениях. Как правило, пользователь не знает, какая именно информация о его действиях собирается, и не может извлечь (или уничтожить) эту информацию из системы. Более того, в случае прекращения функционирования сервиса, включавшего такую рекомендующую систему, соответ-

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

    Децентрализация рекомендующей системы позволяет добиться двух важных целей:

    — распределения функции формирования рекомендаций между пользователями и, как следствие, снятия необходимости в дорогостоящем сервере и повышения масштабируемости системы;

    — повышения уровня приватности пользователей, поскольку исчезает необходимость в передаче предпочтений центральному серверу.

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

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

    И хотя в данном подходе устраняются все перечисленные недостатки централизованных рекомендующих систем, возникает и ряд трудностей. Главная проблема — ее решению посвящена и эта статья — состоит в реализации рекомендующего алгоритма, не требующего от пользователя передачи профиля своих предпочтений третьим лицам (участникам распределенной сети рекомендаций). Здесь следует сделать небольшое уточнение. Существует два основных класса рекомендующих систем: контентные системы и системы коллаборативной фильтрации. В контент-ных системах для формирования рекомендаций используются свойства самих объектов — система рекомендует объекты, похожие (с точки зрения некоторого формального представления) на те, что были полезны пользователю в прошлом. В системах же коллаборативной фильтрации сами свойства объектов не анализируются, система рекомендует те объекты, которые были высоко оценены пользователями, демонстрирующими схожие предпочтения. Конечно, трудности, связанные с децентрализацией, преимущественно касаются систем коллаборативной фильтрации, в основе которых лежит анализ сходства между пользователями, сопоставление их предпочтений, которое и осложняется распределенной организацией системы. Речь далее пойдет именно о таких системах, и под рекомендующей системой будет, если не оговорено иное, пониматься частный случай — система коллаборативной фильтрации.

    В данной статье предложена архитектура рекомендующей системы, включающая структурированную одноранговую (P2P) сеть, в которой каждый узел соответствует одному пользователю и хранит профиль его предпочтений, и специальный узел для информационного согласования участников сети. Такой подход может быть классифицирован как гибридная одноранговая сеть, в которой часть функций выполняется исключительно посредством взаимодействия между равноправными узлами, а часть функций требует наличия специального узла. Предлагаемая архитектура обеспечивает ограниченное раскрытие предпочтений — не существует способа одновременно получить оценки, которые пользователь присвоил объектам, и сетевой адрес пользователя без глобального контроля над сетью.

    Сама по себе задача построения рекомендующих систем, основанных на одноранговых сетях, не является новой. Существует определенный пласт работ, в которых эта задача ставится и предлагаются различные подходы к ее решению.

    В системе P2Prec [1, 2] для распространения запросов и рекомендаций используется комбинация так называемого «дружеского» подхода к построению структуры сети (friend-of-a-friend), когда связи устанавливаются только между знакомыми пользователями, и лавинных алгоритмов распространения запросов.

    В ряде описанных методов происходит построение оверлейной структуры, соответствующей близости интересов пользователей, поверх одноранговой сети [3, 4]. Рекомендации формируются поиском по оверлейной структуре на определенную глубину. Одним из распространенных алгоритмов такого «выравнивания» структуры сети под отношения между узлами является T-Man [5]. В данной работе сами оценки пользователя не раскрываются узлом сети, поэтому напрямую использовать T-Man или какой-либо схожий алгоритм нельзя из-за невозможности определить сходство узлов.

    Другой подход заключается в применении алгоритмов случайного блуждания для поиска схожих узлов [6]. Для получения рекомендаций достаточно сформировать случайную выборку узлов сети, а затем использовать ближайшие, в соответствии с заданной мерой сходства, узлы из этой выборки [7].

    Есть также работы, в которых авторы исследуют возможность применения структурированных одноранговых сетей для построения рекомендующих систем. Например, в работах [8, 9] оценки, присваиваемые объектам пользователями, сохраняются в распределенной хеш-таблице (Distributed Hash Table — DHT). Отличие предлагаемого в данной статье подхода заключается в том, что в распределенную хеш-таблицу помещаются не оценки, а сами узлы, и механизм быстрого поиска по этой таблице используется для поиска узлов, соответствующих пользователям со схожими интересами.

    Формирование рекомендаций с помощью локально-чувствительного хеширования

    (ЛЧХ) — это широко распространенный метод приближенного решения задачи поиска k ближайших соседей. Идея метода состоит в построении такой хеш-функции многомерных объектов, чтобы схожие объекты с высокой вероятностью получали одинаковое значение хеш-функции. Методы и алгоритмы поиска ближайших соседей находят широкое применение при построении

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

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

    — если d(a, b) > d2, то вероятность того, что f(a) = f(b), не больше p2.

    Важной идеей в теории ЛЧХ является усиление, в основе которого лежат понятия И-конструкции и ИЛИ-конструкции, определенные ниже.

    Пусть задано (d1, d2, p1, р2)-чувствительное семейство функций F, новое семейство функций F’ может быть получено посредством И-кон-струкции или ИЛИ-конструкции.

    И-конструкция F’ определяется следующим образом. Каждый член F’ состоит из r членов F. Если f в F’ и f получена из множества членов F, то f(x) = f(y) тогда и только тогда, когда ft(x) = ft(y) для всех i е . Поскольку члены F’ независимо выбираются из F, F’ является (d1, d2, p[, pr)-чувствительным семейством функций [10].

    ИЛИ-конструкция F’ определяется следующим образом. Каждый член F’ состоит из b членов F. Если f в F’ и f получена из множества членов F, то f(x) = f(y) тогда и только тогда, когда существует i е такой, что fi(x) = fi(y). Аналогично F’ является (d1, d2, 1 — (1 — p1)b, 1 — (1 — p2)b)-чувствительным семейством.

    Как правило, желательно, чтобы p1 было большим, насколько возможно, а p2 маленьким, насколько возможно. Если p1 < 1, то существует вероятность того, что схожие объекты будут иметь различные значения. С другой стороны, если p2 >0, есть вероятность, что значительно различающиеся объекты получат одинаковое значение хеш-функции. Следовательно, семейство F следует выбирать таким образом, чтобы p1 было близко

    к 1, а p2 близко к 0. Существует определенный набор хорошо изученных семейств локально-чувствительных функций, механизм усиления применяется в том случае, если только лишь средствами выбранного семейства не удается достичь желаемых вероятностей. Если семейство FAr получено И-конструкцией r функций из семейства F, а G затем получено ИЛИ-конструкцией b функций из семейства FAr, то G является (d1, d2, 1 — (1 — p1r)b, 1 — (1 — p2r)b)-чувствительным семейством. Неформально И-конструкция снижает изначально невысокую вероятность p2, а последующая ИЛИ-конструкция повышает изначально высокую вероятность p1.

    Идея поиска ближайших соседей с помощью ЛЧХ описана, например, в работах [10, 11]. В первую очередь выбирается семейство F и создаются b обычных хеш-таблиц. Каждая таблица соответствует одной хеш-функции fAr, i = 1, . b, где fAi r — И-конструкция r случайных функций из F. Каждый объект x помещается в каждую из b хеш-таблиц. Ключом является значение функции fiAr(x), а значением — идентификатор объекта x или сам объект, в зависимости от задачи. При поиске ближайших соседей объекта y вычисляются fJAr(y), i = 1, . b; все объекты, извлеченные из хеш-таблиц по полученным ключам, образуют множество кандидатов. Реальная близость оценивается уже с применением строгой меры, и происходит отсев ложно-положительных соседей из множества кандидатов.

    Выбор семейства хеш-функций зависит от представления данных и функции расстояния d. Для хеммингова расстояния, например, часто применяется хеш-функция, осуществляющая выборку отдельных битов [12], для косинусной меры — метод случайных проекций [13].

    В данной работе используется метод случайных проекций, т. е. функция f из семейства F соответствует одной случайной гиперплоскости; функция принимает значение 1, если хешируе-мая точка находится над гиперплоскостью, и 0 в противном случае.

    В системах коллаборативной фильтрации, основанных на сходстве пользователей (user-based collaborative filtering), рекомендации формируются с учетом того, в какой мере совпадают оценки пользователей, присвоенные одним и тем же объектам.

    Формально, пусть ruj — оценка, присвоенная объекту j пользователем u и выражающая степень того, насколько пользователю u интересен объект j или какова субъективная ценность объекта j для пользователя u. Пусть U — множество пользователей; I — множество объектов; Iu — множество объектов, оцененных пользователем u;

    1и1) — множество объектов, оцененных как пользователем и, так и пользователем V. Методы, основанные на сходстве, используют меру близости между пользователями, определяемую посредством сопоставления оценок, присвоенных пользователями одним и тем же объектам: (в1ш(и, V) = ^( )), и пытаются предсказать неизвестную оценку ги на основе известных оценок г^ и сходства между пользователями

    В данной статье используется косинусная мера сходства между пользователями:

    Оценки пользователей нормализуются таким образом, что гиу = 1 соответствует строго положительному отношению пользователя и к объекту у, а гиу = -1 — строго отрицательному.

    Рекомендующая система, использующая ЛЧХ, реализует поиск ближайших соседей. По известному набору значений хеш-функций для некоторого пользователя и система проверяет соответствующие хеш-таблицы и извлекает из них идентификаторы всех пользователей, чьи предпочтения вероятно похожи (в силу свойства хеш-функции) на предпочтения пользователя и. Затем может быть оценено точное сходство между пользователями, и объекты, высоко оцененные пользователями, похожими на и, будут рекомендованы и.

    В предлагаемой системе точное значение сходства не вычисляется, поскольку это привело бы к раскрытию профиля пользователя. Вместо этого вводится приближенная мера сходства в'(и, V), определяемая как количество локально-чувствительных хеш-функций, чьи значения совпали для пользователей и и V. Алгоритм рекомендации, во-первых, осуществляет поиск всех пользователей Qu, которые могут быть соседями пользователя и, и вычисляет в'(и, V) (где V е Qu). Каждому из кандидатов V е Qu посылается запрос на список рекомендаций Яи. Предлагаемый алгоритм и система в целом предсказывают неизвестные оценки г^, вместо этого проводится ранжирование всех объектов, которые были рекомендованы кандидатами в соответствии с оценкой аи1 объекта I для пользователя и, определяемой выражением

    Здесь Р.^ — индикаторная функция, осуществляющая проверку того, есть ли объект I в мно-

    жестве объектов, рекомендованных пользователем V:

    Таким образом, в предлагаемой архитектуре профиль пользователя и представляется множеством пар (¿, ги^), где I — идентификаторы объектов. Каждая из Ь локально-чувствительных хеш-функций представлена г векторами размерности (|/|). После применения всех этих хеш-функций получается Ь г-мерных бинарных векторов. Полученные векторы сохраняются в хеш-таблице. Во время формирования рекомендаций производится Ь операций поиска в хеш-таблице, а затем каждому «кандидату», извлеченному из хеш-таблицы, посылается запрос на формирование рекомендаций. Список рекомендаций упорядочивается по значению аи1 ■

    Значения Ь и г являются параметрами алгоритма формирования рекомендаций. В разделе «Экспериментальное исследование» производится экспериментальная оценка того, как значения этих параметров влияют на качество рекомендаций.

    Предлагаемая гибридная архитектура позволяет осуществлять обмен рекомендациями с ограниченным раскрытием предпочтений пользователя. В этом разделе описаны основные компоненты системы и сценарии их взаимодействия.

    Предлагаемая система рассчитана на обеспечение двух вариантов использования: а) оценка потенциальной привлекательности объекта (или группы объектов) для данного пользователя; б) запрос рекомендаций.

    Оценка потенциальной привлекательности объекта инициируется, когда необходимо проверить, может ли данный неизвестный объект быть интересен пользователю (с точки зрения логики, заложенной в систему). Пользователь передает системе идентификатор объекта, а рекомендующая система в ответ должна сообщить предполагаемую оценку привлекательности этого объекта для пользователя.

    Запрос рекомендаций инициируется, когда необходимо сформировать набор новых, неизвестных пользователю объектов, которые могут оказаться ему интересны.

    В соответствии с предлагаемым подходом рекомендующая система состоит из двух частей: одноранговой (Р2Р) сети рекомендаций и узла

    ■ Рис. 1. Связи между узлами в предлагаемой архитектуре

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

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

    1. Одноранговая сеть рекомендаций. В предлагаемом подходе каждый пользователь соответствует ровно одному узлу сети. На этом узле хранится вся информация о предпочтениях пользователя (в первую очередь, оценки объектов), причем узел не передает эту информацию другим узлам, он может передавать только значения локально-чувствительных хеш-функций, вычисленных от этой информации, для поиска схожих пользователей, к которым можно будет «обращаться» за получением рекомендаций.

    Одноранговая сеть основана на использовании БНТ [14] — распространенном подходе к построению так называемых структурированных одноранговых сетей. БИТ — это класс систем, обеспечивающих хранение коллекции пар ключ — значение, распределенной по различным узлам сети, с учетом миграции фрагментов при выходе узла из состава сети.

    Классические реализации подхода БИТ обладают рядом уязвимостей. Для их преодоления разработано несколько анонимизированных реализаций БИТ. Предлагаемая архитектура основывается на Окорив [15] — одной из таких ано-нимизированных реализаций. В основе таких реализаций, как правило, лежит идея построения цепочек анонимизации вместо непосредственного обращения к другому узлу сети, причем каждый узел, лежащий в такой цепочке, имеет

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

    В предлагаемой системе БИТ используется для хранения хеш-таблиц, применяемых в целях поиска ближайших соседей, как описано в предыдущем разделе. Каждая пара ключ — значение, хранимая в БИТ, содержит информацию об одном значении локально-чувствительной хеш-функции и список узлов, соответствующих этому значению. Как уже указывалось, для поиска ближайших соседей необходимо несколько (Ь) хеш-таблиц. Каждая из Ь таблиц использует свою локально-чувствительную хеш-функцию. В данной системе предлагается хранить все Ь хеш-таблиц в одной БИТ. Для этого ключ должен включать в себя уникальный идентификатор локально-чувствительной хеш-функции и значение этой функции.

    Перед тем как включить записи в БИТ, узел создает анонимизированную цепочку и использует спецификатор окончания этой цепочки как свой адрес, передаваемый другим узлам. Эти анонимизированные пути создаются при каждом очередном подключении узла к сети заново, следовательно, во время каждой новой сессии у узла оказывается новый внешний идентификатор.

    Поскольку предпочтения пользователя, выраженные в оценках, присвоенных этим пользователем различным объектам, достаточно статичны, предполагается хранение ссылок на внешние «публичные» идентификаторы узлов, соответствующих пользователям со схожими интересами. Таким образом, поверх одноранговой сети образуется оверлейная сеть, сформированная ссылками между узлами пользователей со схожими интересами. Следует иметь в виду, что ссылки между вершинами в этой оверлейной сети являются не идентификаторами узлов Р2Р-сети, а «входами» в анонимизированные пути, ведущие к ним.

    2. Узел координации. Распределенный характер предлагаемой системы является причиной следующей технической сложности. Для корректного вычисления локально-чувствительных хеш-функций необходимо, чтобы сами хеш-функции (т. е. гиперплоскости, которыми они представляются) были одинаковы на всех узлах. Для согласования параметров этих функций все узлы сети должны использовать один и тот же порядок следования объектов, поскольку размерность гиперплоскостей совпадает с количеством объектов и с длиной вектора пользовательских оценок. Задача поддержания глобального состояния в одноранговой сети является нетривиальной [16-18]. В предлагаемой системе для ее решения используется подход, схожий с предложенным

    в статье [19] и заключающийся в отказе от чисто однорангового устройства сети. Задачей узла координации является сбор всех объектов (о которых сообщают пользователи), поддержка отношения порядка между их идентификаторами и генерация локально-чувствительных функций. Таким образом, каждый узел должен соединиться с узлом координации для двух целей: во-первых, для регистрации нового, ранее неизвестного объекта; во-вторых, для получения нового набора локально-чувствительных хеш-функций. Следует заметить, что нет необходимости генерировать новый набор хеш-функций после обнаружения каждого нового объекта. При использовании «устаревшего» набора функций получение рекомендаций оказывается возможным, но их качество постепенно ухудшается с ростом расхождения между используемым и актуальным наборами. Таким образом, каждый узел накапливает новые объекты, посылает накопленный пакет объектов узлу координации, а в ответ получает обновленный набор хеш-функций.

    Экспериментальное исследование предлагаемого подхода было произведено с использованием набора данных MovieLens 100k, выложенного в открытый доступ исследовательской лабораторией GroupLens Research [20]. Этот набор содержит 100 000 оценок, присвоенных 943 пользователями 1682 фильмам.

    В ходе экспериментального исследования преследовались две цели. Во-первых, получить практическую информацию о количественных характеристиках подхода и оценить временную и пространственную сложность рекомендующих систем, основанных на ЛЧХ в DHT-сетях. Во-вторых, оценить качество рекомендаций по сравнению с широко распространенными альтернативными алгоритмами.

    Временная и пространственная сложность

    Как уже было отмечено, параметрами предлагаемого алгоритма формирования рекомендаций являются b (количество хеш-функций) и r (количество гиперплоскостей в каждой функции). Значения этих параметров оказывают существенное влияние как на время получения рекомендаций, так и на их качество.

    Каждый узел помещает информацию о себе DHT b раз (по одному значению каждой из хеш-функций), следовательно, размер DHT равен Nb, где N — количество узлов, а это означает, что в среднем в узле размещено b записей DHT.

    Поиск ближайших соседей требует b операций извлечения из хеш-таблицы, а значит, требует O(b log(N)) взаимодействий между узлами.

    Related posts:

    1. Какие карты принимает алиэкспресс к оплате
    2. Как скопировать файл в несколько папок сразу
    3. Как снять лючок бензобака ваз 2107
    4. Как создать новый паттерн в fl studio 20

    Аналитика больших данных

    Аннотация курса: Map-Reduce как инструмент для создания параллельных алгоритмов, эффективных для больших объемов данных; обработка наборов документов, поиск по сходству, методы ключевого хеширования (minhashing) и локально чувствительного хеширования; алгоритмы кластеризации многомерных массивов данных; методы поддержки систем принятия решений (recommendation systems); предложенный Google алгоритм определения значимости веб-страниц PageRank; методы понижения размерности массивов данных.

    Тематическое содержание курса
    1 семестр
    Аналитика больших данных: основные алгоритмы

    Введение в DataMining.
    Технология MapReduce распараллеливания вычислений.
    Алгоритмы, использующие MapReduce.
    Операции реляционной алгебры. Матричные вычисления.
    Алгоритмы обнаружения схожих элементов. Сходство по Жаккару.
    Сходство по Жаккару. Методы сжатия больших файлов.
    Хеширование, подписи больших файлов.
    Локально-чувствительное хеширование документов.
    Техника группировок. Построение семейств функций.
    Метрики на пространствах данных.
    Локально-чувствительные семейства функций хеширования.
    Методы высоких степеней сходства. Индексация.
    Методы высоких степеней сходства. Использование позиции и длины.
    Методы кластеризации в обработке больших данных.
    Кластеризация в различных метрических пространствах.
    In-Memory базы данных как технологическая платформа для обработки больших данных.
    Алгоритмы In-Memory.

    2 семестр
    Аналитика больших данных: дополнительные главы

    Анализ ссылок в Интернет.
    Вычисление PageRank.
    Модифицированные алгоритмы вычисления PageRank.
    Базы данных NoSQL как технологическая платформа для обработки больших данных.
    Управление бизнес-процессами.
    Интеллектуальный анализ процессов.
    Алгоритмы анализа процессов.
    Анализ данных с помощью интеллектуального анализа процессов.
    Анализ данных (продолжение).
    Анализ данных (завершение).
    Моделирование и анализ процессов.
    Сети Петри.
    Сети Петри (продолжение).
    Методы обнаружения бизнес-процессов.
    Альфа-алгоритм.
    Эвристические алгоритмы обнаружения бизнес-процессов.
    Эвристические алгоритмы обнаружения бизнес-процессов (продолжение).

    Типовые контрольные задания

    Матричное представление множеств
    Хеширование
    Хешированные подписи
    Вычисление хешированных подписей
    Локально-чувствительное хеширование документов.
    LSH для хешированных подписей
    Анализ техники группировок (S-кривые)
    Использование методов хешированных подписей и LSH для определения вероятно схожих документов
    Евклидовы метрики
    Расстояние по Жаккару
    Расстояние по косинусу
    Расстояние редактирования
    Расстояние Хемминга
    Теория локально-чувствительных функций
    Локально-чувствительные семейства для расстояния по Жаккару
    Усиление локально-чувствительного семейства (AND-конструкции и OR-конструкции)
    LSH-семейства для расстояния Хемминга
    Случайные гиперплоскости и расстояние по косинусу
    Эскизы векторов
    LSH-семейства для евклидова расстояния (размерность 2)
    Другие LSH-семейства для евклидовых пространств

    Задача 1: Универсальное множество U содержит n элементов. Случайным образом выбираются подмножества S и T, содержащие m элементов каждое. Каково ожидаемое значение коэффициента сходства по Жаккару этих множеств?

    Задача 2: Дана характеристическая матрица множества S1, S2, S3 и S4.

    a. вычислите матрицу подписей, используя следующие три хеш-функции : h1(x) = 2x + 1 (mod 6); h2(x) = 3x + 2 (mod 6); h3(x) = 5x + 2 (mod 6).

    b. какие из этих функция являются реальными перестановками строк характеристической матрицы?

    c. насколько близка оценка сходства по Жаккару этих множеств (с помощью вычисленных подписей) к его истинному значению?

    Задача 3: На пространстве неотрицательных чисел какие их следующих функций задают метрику (доказать справедливость, либо привести пример нарушения свойств).

    b. diff(x, y) = |x − y|;

    Задача 4: Докажите, что расстояние по косинусу между двумя векторами (одной длины), чьи компоненты принимают значения 0 или 1, составляет не более 90º.

    Задача 5: Пусть эскизы вычисляются следующим набором «случайных» векторов:

    Вычислите эскизы следующих векторов:

    Для каждой из пар этих трех векторов какова оценка расстояния по косинусу и каково его истинное значение?

    Задача 6: Есть 100 корзин, пронумерованных числами 1,2, …, 100, и 100 элементов, также являющихся числами от 1 до 100. Элемент i находится в корзине j тогда и только тогда, когда i делит j без остатка. Например, корзина 24 – это набор элементов . Опишите все ассоциативные правила, имеющие достоверность (confidence) = 100%. Какие из следующих правил имеют 100% достоверность (confidence)?

    Задача 7: Пусть – часто встречающийся набор элементов, а – не часто встречающийся набор элементов. Верны ли следующие утверждения:

    – – не часто встречающийся набор элементов.

    – – часто встречающийся набор элементов.

    – может быть как часто встречающимся набором элементов, так и не часто встречающимся набором элементов.

    – – не часто встречающийся набор элементов.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *