В предыдущей статье мы говорили оРекомендуемая системаКонтентная фильтрация, ее плюсы и минусы, давайте сегодня рассмотрим совместную фильтрацию.
В отличие от фильтрации на основе содержимого (CBF), методы совместной фильтрации (Collaborative Filtering) не зависят от предметной области и подходят для элементов, которые не могут быть адекватно описаны с помощью метаданных, таких как фильмы, музыка и т. д.
Технология совместной фильтрации (CF) сначала создает базу данных пользовательских предпочтений, то есть матрицу пользовательских элементов, а затем вычисляет сходство между портретами пользователей, сопоставляет пользователей со схожими интересами и завершает всю рекомендацию. Рекомендованные предметы, полученные этими пользователями, — это предметы, которые он ранее не оценивал, но которые были оценены другими подобными пользователями.
Результаты, генерируемые CF, могут быть прогнозами или рекомендациями. Прогноз — это числовое значение Rij, представляющее прогнозируемый балл элемента j для пользователя i, а рекомендация — это список первых N элементов, которые больше всего нравятся пользователю, как показано ниже.
Совместную фильтрацию можно разделить на две категории: 1) на основе памяти и 2) на основе модели.
на основе памяти
Элементы, ранее оцененные пользователями со схожими интересами и увлечениями, играют важную роль в процессе поиска пользователя. После сопоставления других пользователей со схожими интересами и увлечениями с пользователем можно использовать различные алгоритмы для создания результатов рекомендаций путем объединения интересов пользователя и других пользователей.
CF на основе памяти может быть реализован как с помощью методов, основанных на пользователях, так и на основе элементов.
CF на основе пользователей вычисляет сходство между пользователями, сравнивая оценки пользователей для одного и того же элемента, затем вычисляет прогнозируемый рейтинг элемента активными пользователями и принимает этот прогноз как средневзвешенное значение аналогичных оценок других пользователей для элемента.
CF на основе элементов использует сходство между элементами для прогнозирования результатов: извлекает все элементы, оцененные активными пользователями, из матрицы пользовательских элементов, строит модель сходства элементов, вычисляет сходство между элементами, а затем выбирает K наиболее похожих элементов. , вычислить средневзвешенное значение K лучших элементов, сгенерировать прогноз.
Есть много способов вычислить сходство между элементами/пользователями:
Вычислить евклидово расстояние:
При вычислении сходства с использованием евклидова расстояния сходство определяется следующим образом:
Коэффициент корреляции Пирсона:
где sx,sy представляет собой стандартное отклонение x и y.
Косинусное сходство:
Коэффициент Танимото, также известный как коэффициент Жаккара:
модель на основе
CF на основе моделей использует предыдущие оценки пользователей для моделирования, повышая производительность совместной фильтрации. Процесс моделирования может осуществляться с помощью машинного обучения или интеллектуального анализа данных. Эти методы включают разложение по сингулярным значениям (SVD), латентный семантический анализ, регрессионный анализ, кластерный анализ и т. д.
Правило ассоциации
Алгоритм общих рекомендаций в буквальном смысле находит сильные правила корреляции из большого количества данных о поведении пользователей и повышает эффективность и производительность хранилища. Преимущество состоит в том, что правила, которые нельзя непосредственно почувствовать, можно извлечь из большого количества данных о поведении, и часто можно давать неожиданные комбинации правил. Недостатком является то, что трудно провести оценку модели и, как правило, судить о том, являются ли результаты разумными, исходя из отраслевого опыта.
Самое классическое ассоциативное правило — анализ покупательской корзины, пиво и подгузники — классический случай. Используемый в ранних сценариях рекомендаций по покупкам, таких как Amazon, Jingdong, Taobao и т. д., он часто выражается как «люди, которые купили эту книгу, также купили XXX», «люди, которые смотрели этот фильм, также хотят смотреть XXX», и результаты рекомендаций включают Персонализированная информация низкая, относительно простая и грубая.
Кластерный анализ
Методы кластеризации применялись в различных областях, таких как распознавание образов, обработка изображений, статистический анализ данных и т. д. Кластеризация заключается в группировании объектов данных в несколько классов или кластеров, так что объекты в одном кластере имеют высокую степень сходства, в то время как объекты в разных кластерах сильно различаются. Поэтому во многих приложениях объекты данных в кластере можно рассматривать как единое целое, тем самым уменьшая объем вычислений или улучшая качество вычислений. В повседневной жизни людей «вещи группируются вместе, а люди делятся на группы», и основной идеей является кластеризация. Благодаря кластеризации можно узнать о плотных и разреженных регионах, обнаружить глобальные закономерности распределения и интересные взаимосвязи между атрибутами данных. В CF кластерный анализ можно использовать в качестве этапа предварительной обработки для других алгоритмов, упрощая объем вычислений и повышая эффективность анализа.
Древо решений
В машинном обучении дерево решений — это прогностическая модель, представляющая отношение сопоставления между атрибутами объекта и значениями объекта. Каждый узел в дереве представляет объект, и каждый путь бифуркации представляет возможное значение атрибута, и каждый конечный узел соответствует объекту, представленному путем от корневого узла к конечному узлу. Деревья решений имеют только один выход.Если вы хотите иметь несколько выходов, вы можете построить отдельные деревья решений для обработки разных выходов. Метод машинного обучения, который генерирует деревья решений из данных, называется обучением дерева решений, которое обычно называют деревьями решений. Простая стратегия дерева решений похожа на собеседование при приеме на работу в компанию. Интервьюер просматривает резюме человека. Если различные условия кандидата соблюдены, то проходит первое собеседование, а затем переходит к следующему раунду собеседований после прохождения первого собеседования.
Искусственная нейронная сеть
Искусственная нейронная сеть абстрагирует нейронную сеть человеческого мозга с точки зрения обработки информации, устанавливает определенную простую модель и формирует различные сети в соответствии с различными методами соединения. Его также часто называют просто «нейронной сетью» или «нейроподобной сетью» в инженерных и академических кругах. Нейронная сеть — это операционная модель, состоящая из взаимосвязанных связей между большим количеством узлов (или нейронов). Каждый узел представляет определенную выходную функцию, называемую функцией активации. Соединение между каждыми двумя узлами представляет собой взвешенное значение сигнала, проходящего через соединение, называемое весом, которое эквивалентно памяти искусственной нейронной сети. Выход сети варьируется в зависимости от режима подключения сети, значения веса и функции возбуждения. Сама сеть обычно является приближением определенного алгоритма или функции в природе, а также может быть выражением логической стратегии.
Регрессионный анализ
Используя принцип статистики данных, математически обработайте большое количество статистических данных и определите корреляцию между зависимой переменной и некоторыми независимыми переменными, установите уравнение регрессии (функциональное выражение) с хорошей корреляцией и добавьте экстраполяцию для прогнозирования будущего. Метод Анализ изменения зависимой переменной называется регрессионным анализом. Регрессионный анализ можно разделить на две категории: по количеству зависимых и независимых переменных его можно разделить на одномерный регрессионный анализ и множественный регрессионный анализ, по функциональному выражению зависимых переменных и независимых переменных его можно разделить на Для линейного регрессионного анализа и нелинейного регрессионного анализа.
Байесовские классификаторы
Поскольку проблему рекомендаций можно рассматривать как проблему классификации, ее можно решить с помощью алгоритмов классификации в области машинного обучения. Алгоритм наивной байесовской классификации представляет собой относительно простой алгоритм байесовской классификации.Его основная идея заключается в следующем: для данного элемента, подлежащего классификации, и данной категории вычислить частоту появления элемента в каждой категории, какую категорию Рассчитанная вероятность высока для присвоения элемент в этот класс. В рекомендательных системах наивная байесовская классификация может предсказывать неизвестные оценки путем вычисления вероятностей при известных определенных оценках.
Основными преимуществами наивных байесовских классификаторов являются устойчивость к изолированным шумовым точкам и нерелевантным атрибутам, а также обработка пропущенных значений путем игнорирования экземпляров при оценке вероятности. Первичная байесовская классификация относительно проста в реализации и имеет высокую точность, но при классификации необходимо изучить информацию обо всех выборках. Поэтому наивная байесовская классификация подходит для задач классификации с небольшим объемом данных и несколькими категориями.
Преимущества и недостатки технологии совместной фильтрации
По сравнению с CBF совместная фильтрация имеет то преимущество, что она может рекомендовать элементы на основе исторической информации о каждом пользователе, независимо от атрибутов содержимого самого элемента. Хотя технология CF добилась определенных успехов, все еще есть некоторые проблемы:
1. Проблема с холодным запуском
Когда продукт только запущен и приходят новые пользователи, невозможно предугадать их интересы и увлечения, если в приложении нет данных о поведении пользователей. Кроме того, когда новый продукт размещается на полках, он также столкнется с проблемой холодного запуска: никакие просмотры, клики или покупательское поведение пользователя не собираются, и нет возможности рекомендовать продукт.
2. Проблема разреженности данных
Эта проблема возникает, когда пользователи оценивают только часть элементов, доступных в базе данных.Чем больше размер данных, тем они в целом разрежены.
3. Проблемы масштабируемости
Это еще одна проблема, связанная с алгоритмами рекомендаций, поскольку объем вычислений обычно растет линейно с количеством пользователей и элементов. Методы рекомендаций эффективны и выполнимы, когда количество наборов данных ограничено, но когда количество наборов данных увеличивается, количество генерируемых рекомендаций становится не таким хорошим. В этом случае методы, используемые для решения проблем масштабируемости и ускорения генерации рекомендаций, основаны на методах уменьшения размерности, таких как разложение по сингулярным числам (SVD).
4. проблема синонимии
Синонимы относятся к предметам с разными, но очень похожими названиями. Большинству рекомендательных систем трудно провести различие между такими предметами, как детская одежда и детская одежда. Совместная фильтрация часто не может ни найти соответствие между двумя терминами, ни вычислить сходство между ними. Автоматическое расширение терминов, построение тезауруса, декомпозиция по сингулярным значениям (SVD) и особенно латентное семантическое индексирование способны решить проблему синонимии, но недостатком является то, что некоторые добавленные термины могут иметь значения, отличные от ожидаемых, что приводит к быстрому падению выполнение рекомендаций.
Связанное чтение:
Рабочий процесс системы рекомендаций
Хотите узнать о рекомендательных системах? Смотри сюда! (2) - Метод нейронной сети
Как AutoML реализует автоматический онлайн и O&M интеллектуальной системы рекомендаций?
Начало работы с рекомендательными системами, список знаний, которые вы не должны пропустить
Если вы хотите узнать больше, выполните поиск и подпишитесь на общедоступную учетную запись WeChat Xianjian (ID: dsfsxj).
Эта учетная запись является официальной учетной записью для первой рекомендации интеллектуальных рекомендательных продуктов 4Paradigm. Аккаунт основан на компьютерной сфере, особенно на передовых исследованиях, связанных с искусственным интеллектом. Он направлен на то, чтобы поделиться с общественностью большим количеством знаний, связанных с искусственным интеллектом, и способствовать пониманию общественностью искусственного интеллекта с профессиональной точки зрения. Предоставить открытую платформу. для обсуждения, общения и обучения, чтобы каждый мог как можно скорее насладиться ценностью, созданной искусственным интеллектом.