Метод коллаборативной фильтрации (collaborative filtering)
Работа алгоритмов этой группы основывается на статистических методах, которые позволяют выявить группу пользователей наиболее близкий к целевому пользователю. Другое название этого метода — метод ближайших соседей (Neighbourhood-based). При работе РС используются предшествующие оценки, сделанные клиентов, и анализируются оценки других клиентов с подобными предпочтениями. Рекомендации для целевого… Читать ещё >
Метод коллаборативной фильтрации (collaborative filtering) (реферат, курсовая, диплом, контрольная)
По мнению некоторых исследователей в области рекомендательных систем, наиболее эффективным методом персонализированного информационного фильтрования является коллаборативная фильтрация.
При использовании этой техники, РС рекомендует пользователю объекты на основании данных о взаимодействии с объектом других пользователей. При построении рекомендаций с помощью этого метода используются известные оценки (мнения) группы пользователей для прогнозирования неизвестных предпочтений другого пользователя. Основной принцип коллаборативной фильтрации состоит в предположении о том, что вероятно те, кто похожим образом оценивали какие-либо объекты в прошлом, будут впоследствии так же оценивать другие объекты (Ролгин, 2016).
На сегодняшний день разработано множество алгоритмов коллаборативной фильтрации, которые можно разделить на две основные группы:
1) Методы, основанные на анализе имеющихся оценок, — анамнестические методы (Memory-based).
Работа алгоритмов этой группы основывается на статистических методах, которые позволяют выявить группу пользователей наиболее близкий к целевому пользователю. Другое название этого метода — метод ближайших соседей (Neighbourhood-based). При работе РС используются предшествующие оценки, сделанные клиентов, и анализируются оценки других клиентов с подобными предпочтениями. Рекомендации для целевого пользователя составляются на основании вычисления меры похожести по всем собранным данным (Пятикоп, 2013(a)).
Рекомендации, получаемые в результате использования данного метода, можно разделить на два вида: основанные на сходстве пользователей (User-based) и основанные на сходстве объектов (Item-based).
Системы, ориентирующиеся на сходство пользователей, такие как «GroupLens», «Bellcore video» и «Ringo» делают выводы об интересе пользователя u к объекту i, используя оценки, которые поставили этому объекту другие пользователи, которые называются соседями, и имеют похожие паттерны оценивания. Соседями пользователя u, как правило, являются пользователи v, оценки которых для объектов, оцененных как пользователем u, так и пользователями v, то есть, наиболее схожи с оценками пользователя u (Desrosiers and Karypis, 2011).
Алгоритм составления рекомендаций, основанных на сходстве пользователей, включает в себя 3 этапа:
- 1. Для каждого пользователя u вычисляется, насколько его предпочтения совпадают с предпочтениями пользователя a.
- 2. Затем, выбирается множество пользователей, наиболее близких к пользователю a.
- 3. Формируется оценка для определённого объекта i на основе оценок этого объекта «соседями», выбранными на прошлом этапе (Гомзин, Коршунов, 2012).
При построении рекомендаций второго типа, то есть основанных на сходстве объектов, предполагается, что если два объекта получили одинаковые оценки от пользователей, то они похожи, и, следовательно, у пользователей будут аналогичные предпочтения по отношению к подобным объектам.
Преимуществом данного подхода по сравнению с предыдущим является возможность вычисления степени близости рассматриваемого объекта ко всем остальным в отложенном режиме. Это означает, что процесс формирования рекомендаций может быть разделен на два этапа: отложенная стадия — вычисление близости объектов по отношению друг к другу, и стадия в реальном времени — вычисление рейтингов рассматриваемых объектов. В связи с этим, данный алгоритм более эффективен с точки зрения времени составления рекомендаций (Пятикоп, 2013(b)).
Алгоритм работы рекомендательной системы, основанной на сходстве объектов, почти такой же, как и в случае со сходством пользователей:
- 1. Для каждого объекта система вычисляет, насколько он похож на объект i, для которого предсказывается пользовательская оценка.
- 2. Происходит выбор объектов, наиболее похожих на i.
- 3. Система предсказывает оценку данному объекту на основе оценок, полученным в результате второго этапа от пользователя a (Гомзин, Коршунов, 2012).
Для выполнения первого пункта из описанных выше алгоритмов, то есть для вычисления степени близости, Гомзин и Коршунов предлагают использовать либо косинус между векторами (вектор — строка пользовательских оценок, либо строка оценок объекту, в зависимости от выбранного метода), либо коэффициент корреляции Пирсона (Гомзин, Коршунов, 2012). Оба эти способа можно использовать как для вычисления близости между пользователями, так и для вычисления близости между объектами.
Однако существуют и другие способы, которые используются в РС для вычисления степени близости пользователей или объектов:
- · расстояние Эвклида, Хемминга;
- · ранговая корреляция Спирмена;
- · коэффициент Жаккара (Пятикоп, 2013).
- 2) Методы, основанные на анализе модели данных, — модельные методы (Model-based).
Разработка моделей (машинного обучения, алгоритмы глубинного анализа данных) позволяет системе научиться распознавать сложные паттерны на основании тренировочных данных, и впоследствии формировать толковые рекомендации для задач коллаборативной фильтрации, работая с тестовыми данными или уже с реальными данными, основываясь на выученных моделях. К алгоритмам, основанным на анализе модели данных, относятся методы Байесовских сетей, методы кластерного анализа, методы, основанные на Марковских моделях (MDP), методы латентного семантического анализа (LSA), метод сингулярного разложения (SVD) и анализ главных компонент (PCA). Эти алгоритмы были предложены для решения проблем, возникающих при использовании анамнестических методов (Su and Khoshgoftaar, 2009).
Во многих случаях идея модельных методов, а также одно из основных преимуществ методов этого типа, заключается в том, что с их помощью можно построить модель, которая будет меньше по объёму занимаемой памяти. Плюс ко всему, использование моделей позволяет учитывать не только похожесть объектов, но и их ценность (Гомзин, Коршунов, 2012).
Однако, несмотря на некоторые преимущества, у методов этого типа есть и существенные недостатки. Во-первых, модель требует значительно большего времени для вычисления, во-вторых, требует повторного вычисления, как только обновляется матрица данных, что происходит каждый раз, когда пользователь снова оценивает какой-либо объект. В основном, незначительные изменения в матрице данных не учитываются, тем не менее, как только их становится больше, модель нужно тренировать по-новому (Levinas, 2014).