stringtranslate.com

СимРанк

SimRank — это общая мера сходства , основанная на простой и интуитивно понятной модели теории графов . SimRank применим в любом домене с отношениями «объект-к-объекту» , который измеряет сходство структурного контекста, в котором встречаются объекты, на основе их отношений с другими объектами. По сути, SimRank — это показатель, который говорит, что « два объекта считаются похожими, если на них ссылаются похожие объекты ». Хотя SimRank широко распространен, он может выдавать необоснованные оценки сходства, на которые влияют различные факторы, и это можно решить несколькими способами, например, введением весового коэффициента доказательств, [1] вставкой дополнительных терминов, которые игнорируются SimRank [2] или используя альтернативы на основе PageRank. [3]

Введение

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

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

Интуиция алгоритма SimRank заключается в том, что во многих доменах на похожие объекты ссылаются похожие объекты . Точнее, объекты и считаются подобными, если они указываются из объектов и соответственно, и и сами подобны. Базовый случай — объекты максимально похожи сами на себя. [4]

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

Основное уравнение SimRank

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

Обозначим сходство между объектами и через . Следуя предыдущей мотивации, для . Если то определяется как . В противном случае,

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

Матричное представление SimRank

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

где – единичная матрица.

Вычисление SimRank

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

Для вычисления from мы используем базовое уравнение SimRank, чтобы получить:

для и для . То есть на каждой итерации мы обновляем сходство, используя оценки сходства соседей из предыдущей итерации в соответствии с основным уравнением SimRank. Значения не уменьшаются по мере увеличения. В [4] было показано , что значения сходятся к пределам , удовлетворяющим основному уравнению SimRank, баллам SimRank , т.е. для всех , .

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

CoSimRank

CoSimRank — это вариант SimRank, преимущество которого состоит в том, что он также имеет локальную формулировку, т. е. CoSimRank может быть вычислен для одной пары узлов. [6] Пусть – матрица сходства, запись которой обозначает оценку сходства , и – нормализованная по столбцам матрица смежности. Тогда в матричных обозначениях CoSimRank можно сформулировать как:

где – единичная матрица. Чтобы вычислить показатель сходства только для одной пары узлов, пусть , будучи вектором стандартного базиса, т. е. -я запись равна 1, а все остальные записи равны 0. Затем CoSimRank можно вычислить в два этапа:

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

Дальнейшие исследования SimRank

Мемоизация частичных сумм

Лизоркин и др. [5] предложили три метода оптимизации для ускорения расчета SimRank:

  1. Выбор существенных узлов может исключить вычисление части пар узлов с априорно нулевыми баллами.
  2. Запоминание частичных сумм может эффективно сократить повторные вычисления сходства между различными парами узлов за счет кэширования части суммирования сходства для последующего повторного использования.
  3. Установка порога сходства позволяет дополнительно сократить количество вычисляемых пар узлов.

В частности, второе наблюдение запоминания частичных сумм играет первостепенную роль в значительном ускорении вычисления SimRank от до , где – количество итераций, – средняя степень графа, – количество узлов в графе. Основная идея мемоизации частичных сумм состоит из двух этапов:

Во-первых, частичные суммы запоминаются как

а затем итеративно вычисляется по формуле

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

Смотрите также

Цитаты

  1. ^ И. Антонеллис, Х. Гарсиа-Молина и К.-К. Чанг. Simrank++: переписывание запросов посредством анализа ссылок графа кликов. В VLDB '08 : Материалы 34-й Международной конференции по очень большим базам данных, страницы 408–421. [1]
  2. ^ В. Ю, С. Линь, В. Чжан, Л. Чанг и Дж. Пей. Больше – проще: эффективная и действенная оценка сходства пар узлов на основе гиперссылок. В VLDB '13 : Материалы 39-й Международной конференции по очень большим базам данных, страницы 13–24. [2]
  3. ^ аб Х. Чен и CL Джайлз. «ASCOS++: мера асимметричного сходства для взвешенных сетей для решения проблемы SimRank». Транзакции ACM по обнаружению знаний из данных (TKDD) 10.2 2015 г. [3]
  4. ^ аб Г. Джех и Дж. Видом. SimRank: мера структурно-контекстного сходства. В KDD'02 : Материалы восьмой международной конференции ACM SIGKDD по обнаружению знаний и интеллектуальному анализу данных, страницы 538-543. ACM Press , 2002. «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 12 мая 2008 г. Проверено 2 октября 2008 г.{{cite web}}: CS1 maint: archived copy as title (link)
  5. ^ аб Д. Лизоркин, П. Велихов, М. Гринев и Д. Турдаков. Методы оценки точности и оптимизации расчета SimRank. В VLDB '08 : Материалы 34-й Международной конференции по очень большим базам данных, страницы 422–433. «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 7 апреля 2009 г. Проверено 25 октября 2008 г.{{cite web}}: CS1 maint: archived copy as title (link)
  6. ^ С. Роте и Х. Шютце. CoSimRank: гибкая и эффективная мера сходства на основе теории графов. В ACL '14 : Материалы 52-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 1: Длинные статьи), страницы 1392-1402. [4]
  7. ^ Д. Фогарас и Б. Рач. Масштабирование поиска по сходству на основе ссылок. В WWW '05 : Материалы 14-й международной конференции по Всемирной паутине, страницы 641–650, Нью-Йорк, Нью-Йорк, США, 2005. ACM . [5]
  8. ^ Антонеллис, Иоаннис, Гектор Гарсия Молина и Чи Чао Чанг. «Simrank++: переписывание запроса посредством анализа ссылок графа кликов». Труды Фонда VLDB 1.1 (2008): 408-421. arXiv : 0712.0499
  9. ^ В. Ю, С. Линь, В. Чжан. На пути к эффективному вычислению SimRank в больших сетях. В ICDE '13: Материалы 29-й Международной конференции IEEE по инженерии данных, страницы 601–612. «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 12 мая 2014 г. Проверено 9 мая 2014 г.{{cite web}}: CS1 maint: archived copy as title (link)

Источники