УДК 004.852
Информационные технологии
Ерёмин Олег Юрьевич, кандидат технических наук, доцент кафедры «Компьютерные системы и сети», Московский государственный технический
университет им Н.Э. Баумана, г. Москва Моркулев Дмитрий Викторович, магистрант, Московский государственный технический университет им Н.Э. Баумана, г. Москва e-mail: morkulevdim@yandex.ru Комиссаров Владимир Викторович, магистрант, Московский государственный технический университет им Н.Э. Баумана, г. Москва
ПРИМЕНЕНИЕ ПРИЗНАКО - ВЗВЕШЕННОГО ЛИНЕЙНОГО СОЧЕТАНИЯ ДЛЯ ГИБРИДНЫХ РЕКОМЕНДАТЕЛЬНЫХ СИСТЕМ
Аннотация: В статье рассматривается применение признако-взвешенного линейного сочетания FWLS в гибридных рекомендательных системах, описано как FWLS позволяет повысить точности прогнозов за счет смешивания прогнозов нескольких моделей рекомендательных систем, показано, как использование функций в качестве весов, дополнительных входных данных, описывающих каждый пример в наборе данных, может повысить производительность взвешенных ансамблевых методов и сделать рекомендательную систему значительно более гибкой. Представлена модель реализации признако-взвешенного ансамбля рекомендаторов, включающая в себя рекомендатор совместной фильтрации и рекомендатор на основе контента, использующий мета-признаки для повышения точности, сохраняя при этом хорошо известные достоинства линейной регрессии в отношении скорости, стабильности и интерпретируемости.
Ключевые слова: рекомендательная система, гибридная рекомендательная система, признако-взвешенное линейное сочетание, линейная регрессия, функция потерь, методы оптимизации, совместная
фильтрация, рекомендация на основе контента.
Annotation: The article discusses the use of a feature-weighted linear stacking FWLS in hybrid recommender systems, describes how FWLS can improve the accuracy of predictions by mixing the predictions of several models of recommender systems, shows how the use of meta-functions, additional inputs that describe each example in a dataset, can improve the performance of weighted ensemble methods and make the recommender system much more flexible. An implementation model of a feature-weighted ensemble of recommenders is presented that includes a collaborative filtering recommender and a content-based recommender that uses meta-features to improve accuracy while maintaining the well-known advantages of linear regression in terms of speed, stability, and interpretability.
Keywords: recommender system, hybrid recommender system, feature-weighted linear stacking, linear regression, loss function, optimization methods, collaborative filtering, content-based recommendation.
Введение
«Стекинг» — это метод, в котором прогнозы набора моделей предоставляются в качестве входных данных для алгоритма обучения второго уровня. Этот алгоритм второго уровня обучен оптимально сочетать прогнозы модели для формирования окончательного набора прогнозов. С момента его появления [1] многие специалисты по машинному обучению добились успеха, используя «стекинг» и связанные с ним методы, чтобы повысить точность прогнозирования относительно уровня, полученного любой из отдельных моделей. В некоторых контекстах «стекинг» также называют смешиванием или сочетанием, можно использовать эти термины взаимозаменяемо. FWLS в рамках рекомендательных систем является следующим этапом развития взвешенного ансамбля рекомендаторов и линейно комбинирует модельные предсказания, используя коэффициенты, которые сами по себе являются
линейными функциями мета-признаков. Этот метод был ключевым аспектом решения команды, занявшей второе место на конкурсе рекомендательных систем (РС) Netflix Prize в 2012 году, где Команда BellKor's Pragmatic Chaos выиграла приз в 1 миллион долларов, используя сочетание сотен различных моделей [2].
1 Взвешенный ансамбль рекомендаторов
Фильтрация на основе контента эффективна при обнаружении подобных элементов. Проблема заключается в том, что фильтрация на основе контента оценивает элемент лишь на основе метаданных. Совместная фильтрация, в свою очередь, не использует метаданные элементов, а берет в расчет только оценки других пользователей, что делает такой способ фильтрации более качественным и дает возможность рекомендовать не только схожий по определенной тематике контент, но и что-то иное, что могло бы понравиться пользователю, устраняя проблему излишней специализации.
Система может использовать методы совместной фильтрации и фильтрации на основе контента совместно, взвешивая выходы каждой из моделей и суммируя - в этом состоит идея взвешенного гибридного рекомендатора. В контексте взвешенного ансамбля два или более рекомендаторов объединяющихся таким образом, называются функциональными рекомендаторами. Пример взвешенного ансмабля
рекомендаторов представлен на рисунке 1.
Рисунок 1 - взвешенный гибрид, сочетающий в себе результаты совместной фильтрации и
фильтрации на основе контента
Здесь шсф и Wфн0к представляют собой веса соответствующих рекомендательных моделей. Их можно устанавливать вручную, но эффективнее вычислять их из задач машинного обучения, в частности, веса можно вычислить, вычислив коэффициенты в функции линейной регрессии. Линейная регрессия задается функцией f(u, V), которая при известном выходе двух рекомендательных моделей лучше всего описывает исходные оценки пользователя. Имея оценки, прогнозируемые каждым функциональным рекомендатором и действительные оценки из исходных данных, представляется возможным рассчитать необходимые веса через функцию для минимизации. В качестве функции для минимизации можно выбрать любую метрику ошибки, например, среднеквадратичную ошибку, вычисляемую по формуле (1).
ЯМБЕ =
Ч
6
|Я| 1)
Здесь |R| - количество точек данных в матрице рейтингов (матрице пользователь-элемент), г^ - действительное значение рейтинга, т.е. рейтинг, который пользователь поставил элементу, Гц^ - рейтинг, прогнозируемый моделью, как упоминалось ранее Гц^ следует представить в виде линейной регрессии функцией, принимающей вид, показанный выражением (2).
/(и, 0 = ^сф * тсф(и, 0 + ^фнок * гфнок(и, О I
2)
Здесь гсф(и,1) - прогноз рекомендатора совместной фильтрации, Гфн0к(и, 1) - прогноз рекомендатора на основе контента. Веса шсф и Wфн0к подбираются так, чтобы функция линейной регрессии максимально близко описывала данные. Минимизация функции для минимизации (функции ошибки) (1) выполняется с применением методов оптимизации, таких как метод наименьших квадратов ОЬБ, градиентный спуск ОЭ, стохастический градиентный спуск БОЭ. Для каждого из них существует множество программных пакетов, легко позволяющих решить подобную задачу.
Такой способ объединения дает результат лучше, чем результаты функциональных рекомендаторов по отдельности, но его можно улучшить еще, заменив статичные значения весов на значения, изменяющиеся в зависимости от пользователя или элемента, тем самым трансформировав взвешенный гибрид в признако-взвешенный гибрид.
2 Признако-взвешенный ансамбль рекомендаторов
В контексте рекомендательных систем, когда необходимо предсказать предпочтения клиентов в отношении различных элементов, объем собираемых данных может значительно различаться в зависимости от того, какой клиент или какой элемент рассматривается. Модель A может быть более надежной, чем модель Б, для пользователей, которые оценили множество элементов, но модель Б может превзойти модель A для пользователей, которые оценили лишь несколько элементов. Имея такую ситуацию в системе, следует использовать подход, которые повышает точность регрессионной модели путем примешивания дополнительной информации в веса линейной функции, что называется признако-взвешенным линейным сочетанием (стекингом) FWLS [3]. Такой дополнительный источник информации, как количество элементов, оцененных пользователем, или количество пользователей, оценивших элемент, часто называют мета-функцией [4].
2.1 Представление веса в виде функций
Исходя из вышеописанного, необходимо представить статичные веса в функции, показанной в (2) в виде функций. Так, выражение (2) расширяется в выражение (3): веса заменяются функциями [4].
/(и, 0 = шСф(и, 0 * гСф(и, 0 + WфH0K(u, 0 * ГфН0К(и, 0 |
3)
Такой функционально-взвешенный гибрид показан на рисунке 2.
Рисунок 2 - признако-взвешенный (FWLS) рекомендатор
2.2 Алгоритм вычисления весов в общем виде
Пусть есть ряд рекомендаторов дъ д2, ..., дь. Каждый ^ принимает на вход пользователя и элемент и возвращает прогноз оценки. Стандартное линейное сочетание [5] характеризует смешанную функцию прогнозирования Ь в виде выражения (4).
ЬРШ(и, I) = ш1д1(и, I) + Ш2д2(ц, 1) + - + ™ьдь(и, I) (
4)
В рамках рекомендательных систем это представляет под собой взвешенный ансамбль рекомендаторов. Выражение (5) является более простой формой записи выражения (4).
ЬРШ(и,1) = ^wjgj(u,i) (6)
}=1
5)
Если представить каждый вес в виде функции, то будут получено выражение (6) для признако-взвешенной функции.
и
Ьм(и,С)= ^^(и, рд] (и, С)
}=1
6)
Взвешенные функции могут быть определены выражением (7): каждый Wj определяется как сумма мета-функций с весом .
м
(и,1) =
к=1
Имея два рекомендатора для совместной фильтрации и для фильтрации на основе контента, можно задать смешанную функцию выражением (8).
Ь(и, 1) = (Уц^(и, 1) + У^2(и, 0)Гсф(и, 1) + + (^21/1(и, О + У22/2(и, 0) Гфнок(и, О (11) 8)
Рекомендатор FWLS работает по схеме, пример которой показан на рисунке 3. Он используется чтобы смешать результаты рекомендаторов, используя веса, которые являются функциями [4].
Рисунок 3 - пример рекомендатора FWLS, содержащего рекомендаторы с совместной
фильтрацией и на основе контента
Функции ^ (и, I) задаются извне в соответствии с требованиями реализации. Поиск значений является задачей оптимизации, их можно вычислить с применением метода градиентного спуска [3]. Для этого, аналогично описанному ранее, требуется получить функцию для минимизации. Исходя из описанного выше, используя формулы (7) и (8) рейтинг элемента в рекомендаторе FWLS представляется выражением (9).
ь м
(и, 0 = XX (и, 0 д]- (и, 0 (
]=г к=1 9)
В качестве функции для минимизации можно использовать метрику среднеквадратической ошибки MSE или RSS, как это сделано в [4], выражение для вычисления которого представлено формулой (10).
X X (^ьб^О-Г^)2 (
и Е пользователей Ь бэлементов
Подставив в (10) выражение (9) функция для минимизации примет вид
(11).
L М
ru,j)2 1
X X ^^(ук]/к(и,1)д](и,1) -гиЛ):
и Е пользователей Ь Еэлементов ] = 1к=1 Ц)
Заключение
FWLS позволяет извлечь выгоду из мета-функций, в то же время адаптируясь с помощью методов линейной регрессии. Этот метод не просто добавляет мета-функции в качестве дополнительных входных данных, по которым будет производиться регрессия, он параметризует коэффициенты, связанные с моделями, как линейные признаки (функции) мета-функций. Таким образом, этот метод обладает всеми известными преимуществами скорости, стабильности и интерпретируемости, присущими линейной регрессии, и в то же время дает значительный прирост точности прогнозирования.
Библиографический список:
1. Дэвид Вулперт Х. Обобщение с накоплением // Нейронные сети: официальный журнал Международного общества нейронных сетей. 1992. Том. 5, № 2. С. 241-259.
2. Корен У. Решение Bellkor-а на главный приз netflix [Электронный ресурс] // Seas GWU: Школа инженерии и прикладных наук Университета Джорджа Вашингтона в Вашингтоне, округ Колумбия. URL:
https://www2.seas.gwu.edu/~simhaweb/champalg/cf/papers/KorenBellKor2009.pdf (дата обращения: 12.10.22).
3. Силл Дж., Такач Г., Лин Д. Признако-взвешенное линейное сочетание // arXiv. Ноябрь 2009. С. 1-17.
4. Фальк К. Рекомендательные системы на практике. Москва: ДМК-Пресс, 2020. 448 с.
5. Брейман Л. Регрессия с суммированием. Машинное обучение. Нью-Йорк: Springer, 1996. 264 с.