Как обычно работают алгоритмы автоматической рекомендации? - PullRequest
18 голосов
/ 28 июня 2009

Я только что прочитал, как команда Prakmatic Chaos от BellKor выиграла Netflix Challenge на Wired, и мне интересно, как обычно работают алгоритмы такого типа. Я знаю, что решение Bellkor команды должно быть инновационным на месторождении ... но как обычно это работает? Это просто очень подробная база данных с цепями Маркова, перебираемыми снова и снова или как?

Ответы [ 4 ]

11 голосов
/ 29 июня 2009

а как обычно работает поле?

Это техника интеллектуального анализа данных. Data Mining используется как часть Business Intelligence (хранилища данных и т. Д.), Пытающегося найти связи и информацию в огромных объемах данных. Это область компьютерных наук, которая занимается также машинным обучением в целом, например, распознавание образов. Автоматические рекомендации получает Association Mining . Ассоциация с высокой поддержкой показана как рекомендация. Алгоритм k-ближайшего соседа является лишь одним из многих алгоритмов, используемых людьми, обучающимися машинному обучению / интеллектуальному анализу данных.

Если вас интересует базовая теория, я рекомендую Data Mining: практические инструменты и методы машинного обучения от Ian H. Witten.

Для Java существует отличный пакет машинного обучения, WEKA , который может анализировать ассоциации . Ян Виттен также является одним из авторов WEKA.

11 голосов
/ 28 июня 2009

Взгляните на эту статью в Википедии: Евклидово расстояние .

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

Новая книга О'Рейли, Программирование Коллективного Разума: Создание приложений Smart Web 2.0 имеет большую главу на эту тему.

5 голосов
/ 05 июля 2009

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

Итак, в случае Netflix вы можете создать матрицу с фильмамиэто столбцы, а пользователи - строки, где любое значение [i, j] - это оценка, которую пользователь i дал фильму j.Это очень большая матрица, к которой затем может быть применен SVD, чтобы сгенерировать двумерную матрицу, которая служит приближением большей матрицы.Пользователи, которые находятся рядом друг с другом при построении графика в этой плоскости, имеют одинаковые оценки, поэтому, если один пользователь не видел фильм, который видел другой пользователь, который находится рядом с ним в этой плоскости, это может быть рекомендацией для нового пользователя.

Победившее решение разработало вариант прямого алгоритма SVD, называемого SVD ++, и смешало его с другими крайними случаями, чтобы попытаться создать алгоритм, который превысил бы 10% улучшения, необходимого для получения приза.

2 голосов
/ 28 июня 2009

Я нашел эту предыдущую статью о проводной сети, в которой кратко упоминается алгоритм k-ближайшего соседа , используемый в прошлом Bellkor и Cinematch.

Интересны также наблюдения психолога о том, как найти предвзятость.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...