Открыть сервис

Коллаборативная фильтрация

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

История

Идея использования коллективного поведения для предсказания предпочтений восходит к середине XX века. В 1950-х годах в психологии и социологии изучались механизмы «социального влияния» и «эффекта большинства». Однако практическое применение стало возможным только с развитием вычислительной техники и появлением цифровых платформ.

Одним из первых программных воплощений коллаборативной фильтрации стала система Tapestry, разработанная в 1992 году в исследовательском центре Xerox PARC. Она предназначалась для фильтрации электронной почты и позволяла пользователям вручную ставить пометки о важности писем, после чего система находила корреляции между оценками разных людей. Термин «collaborative filtering» впервые был введён именно в контексте Tapestry.

В 1994 году на конференции AAAI была представлена система GroupLens, созданная в Миннесотском университете. Она автоматизировала процесс сбора оценок и использовала статистические методы для предсказания рейтингов новостных статей. Этот проект стал основой для многих последующих разработок, включая рекомендательные системы Amazon, Netflix и YouTube.

В 2006 году компания Netflix объявила конкурс Netflix Prize с призовым фондом в 1 миллион долларов за улучшение точности собственного алгоритма коллаборативной фильтрации на 10 %. Победившая команда BellKor’s Pragmatic Chaos в 2009 году применила ансамбль из более чем 100 моделей, что значительно продвинуло теорию и практику метода.

Классификация

Методы коллаборативной фильтрации делятся на два основных класса: основанные на памяти (memory-based) и основанные на модели (model-based).

Методы, основанные на памяти

Эти методы работают непосредственно с матрицей взаимодействий «пользователь—объект» (например, таблица оценок от 1 до 5). Предсказание для конкретного пользователя строится путём поиска похожих на него пользователей или похожих на целевой объект.

Методы, основанные на модели

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

Устройство и характеристики

Матрица взаимодействий

Исходные данные представляют собой разрежённую матрицу R размером M×N, где M — число пользователей, N — число объектов. Элемент r<sub>ij</sub> — это оценка i-го пользователя j-му объекту (если она есть). Разреженность (sparsity) — доля отсутствующих значений — может достигать 99 % и более в реальных системах (например, Netflix Prize). Высокая разреженность является ключевой проблемой, так как снижает точность поиска соседей.

Метрики сходства

Для user-based и item-based методов используются следующие меры:

Проблемы и ограничения

Применение

Коллаборативная фильтрация является основой многих крупных рекомендательных систем:

Примеры

Рекомендация фильмов

Допустим, есть три пользователя: Алиса, Боб и Чарли. Алиса и Боб высоко оценили «Звёздные войны» и «Властелин колец», а Чарли — только «Звёздные войны». Если Алиса поставила 5 фильму «Матрица», а Боб его не смотрел, то коллаборативная фильтрация (user-based) предскажет, что Боб также оценит «Матрицу» высоко, так как его вкус похож на вкус Алисы.

Netflix Prize

В 2006 году Netflix предоставил набор данных из 100 миллионов оценок (от 1 до 5) от 480 000 пользователей на 17 770 фильмов. Задача — предсказать оценки для тестового набора. Победивший алгоритм BellKor’s Pragmatic Chaos использовал ансамбль из 107 моделей, включая матричную факторизацию, рестриктивные машины Больцмана и линейные регрессии. Улучшение RMSE составило 10,06 % относительно базового алгоритма Cinematch.

Критика

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →