Биология - Slope One - Коллаборативная фильтрация Slope One для предметов с оценками

19 мая 2011


Оглавление:
1. Slope One
2. Фильтрация по схожести предметов и переобучение
3. Коллаборативная фильтрация по предметам на основании статистики покупок
4. Коллаборативная фильтрация Slope One для предметов с оценками
5. Рекомендательные системы, использующие Slope One



Для существенного уменьшения эффекта переобучения, увеличения производительности и облегчения внедрения было предложено семейство алгоритмов Slope One. Основное отличие от регрессионного анализа отношения рейтингов двух предметов = ax + b) состоит в использовании упрощённой формы регрессии всего с одним предиктором = x + b). Таким образом, предиктор - это просто средняя разница между оценками обоих предметов. Авторы продемонстрировали, что такой подход в некоторых случаях более точный, чем линейная регрессия и требует в 2 раза меньше памяти.

Simplicity diagram.png

Пример:

  1. Джо выставил оценку 1 для Селин Дион и 1.5 для Линдсей Лохан.
  2. Джил оценила Селин Дион на 2 балла.
  3. Какую оценку выставит Джил для Линдсей Лохан?
  4. Ответ алгоритма Slope One: 2.5.

Рассмотрим более сложный пример:

Таблица оценок
Посетитель Предмет 1 Предмет 2 Предмет 3
Джон 5 3 2
Марк 3 4 -
Люси - 2 5

Согласно этой таблице, средняя разница в оценках предмета 1 и 2 равна)/2=0.5. Таким образом, в среднем предмет 1 оценивается на 0.5 балла выше, чем предмет 2. Аналогично и для предметов 3 и 1: средняя разница в оценках 3.

Если сейчас мы попробуем предсказать оценку Люси для предмета 1, используя её оценку для предмета 2, мы получим 2+0.5 = 2.5. Аналогично предсказываем её оценку для предмета 1, используя оценку, данную предмету 3: 5+3=8. Поскольку у нас есть несколько предполагаемых оценок, итоговую оценку мы получим как взвешенное среднее. Для весовых коэффициентов будем использовать количество пользователей, давших оценку предмету:

\frac{2 \times 2.5 + 1 \times 8 }{2+1} = \frac{13 }{3} = 4.33

Чтобы применить алгоритм Slope One для заданных n предметов, надо рассчитать и сохранить среднюю разницу и количество голосов для каждой из n² пар предметов.




Просмотров: 12390


<<< Birds of a Feather (информатика)
User-generated content >>>