Как бы вы взялись за приз netflix? - PullRequest
3 голосов
/ 18 января 2009

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

Но просто ради удовольствия, как бы вы занялись этим?

Это работает примерно так: вы получаете действительно большой набор идентификаторов фильмов и голосов пользователей. Теперь, получив несколько голосов от одного пользователя и фильм, какой рейтинг он даст этому фильму?

РЕДАКТИРОВАТЬ URL указанного приза: http://www.netflixprize.com/

Ответы [ 4 ]

1 голос
/ 18 января 2009

Очевидно, у меня нет достаточно хорошей идеи, иначе я бы работал над этим вместо того, чтобы публиковать его здесь:)

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

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

1 голос
/ 18 января 2009

Хорошо, вот моя идея:

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

Итак, это был бы мой первый шаг, имея такую ​​модель:

оценка фильма пользователем = оценка фильма + предвзятость пользователя.

каждый пользователь имеет одинаковое смещение во всех фильмах.

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

Запустите Weighted Cluster Editing на графике, чтобы определить кластеры фильмов. Настройте определение «лайки» выше, чтобы получить довольно большие кластеры.

Теперь мы улучшаем модель:

оценка фильма пользователем = оценка фильма + смещение пользователя + смещение кластера.

И хорошо, с этим я бы пошел и предсказал.

Edit: Лучше сделай 5 кластеризацию. В одном добавьте ребра только для 5-звездочных голосов. В следующем за 4 и 5-звездочные голоса. И пр.

А теперь модель:

оценка фильма пользователем = оценка фильма + общее смещение + 5-звездное смещение + 4-5-звездное смещение + ... + 5-4-3-2-1-звездное смещение

регрессировать и предсказывать!

0 голосов
/ 14 марта 2009

Вы можете прочитать о том, как команда, которая выиграла приз за прогресс в размере $ 50 000, и как они сделали это здесь: http://www.netflixprize.com/assets/ProgressPrize2008_BellKor.pdf

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

0 голосов
/ 18 января 2009

Итак, возможно, для тех 3 читателей, которые НЕ совсем знакомы с линейной регрессией, таких как я: они требуют улучшить свои прогнозы на 10%. Это сложно. Это сложно, потому что я полагаю, что оценка выбора пользователя просто по среднему выбору, предоставленному другими пользователями, вероятно, уже является хорошей оценкой. Я хочу сказать следующее: для улучшений не так много места.

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