Несколько часто используемых алгоритмов в рекомендательных системах
• Рекомендации на основе контента
ü Представление функций контента, изучение функций, список рекомендаций
• Рекомендации на основе совместной фильтрации
ü Аналитика толпы, поведение пользователей в истории
• Рекомендация на основе правил ассоциации
ü Транзакции, частые наборы элементов и анализ правил ассоциации
• Рекомендации на основе полезности
ü Определение функции полезности
• Рекомендации, основанные на знаниях
ü Создание графа знаний
• Рекомендация по сочетанию
ü Часто используется в практической работе
ü Каждый рекомендательный алгоритм имеет свои сценарии использования, которые можно рассмотреть комплексно
Алгоритм рекомендации на основе правил ассоциации:
Априорный алгоритм
Алгоритм роста FPG
Алгоритм PrefixSpan
Что такое правила ассоциации
Правила ассоциации: правила ассоциации или анализ корзины
Объяснение: если потребитель покупает товар А, каковы шансы, что он купит товар Б?
Правила ассоциации основаны на транзакциях, а совместная фильтрация основана на пользовательских предпочтениях (рейтингах).
Комбинация продуктов использует анализ покупательской корзины, то есть априорный алгоритм, а совместная фильтрация вычисляет сходство.
Правила ассоциации не используют «пользовательские настройки», а часто извлекают наборы элементов на основе заказов на покупки.
Каков процесс априорного алгоритма?
Процесс априорного алгоритма:
Step1, K=1, рассчитать поддержку K наборов элементов;
Шаг 2, отфильтруйте наборы элементов, которые меньше минимальной поддержки;
Шаг 3, если набор элементов пуст, результатом, соответствующим набору элементов K-1, является окончательный результат.
В противном случае K=K+1, повторите шаги 1-3.
Каковы недостатки априорного алгоритма?
Недостатки априори в процессе расчета:
Может быть сгенерировано большое количество наборов кандидатов. Из-за способа перестановки и комбинирования объединяются все возможные наборы элементов.
Каждый расчет должен повторно сканировать набор данных и рассчитывать поддержку для каждого набора элементов: пустая трата вычислительного пространства и времени.
Корреляционный анализ и регрессионный анализ
Корреляционный анализ:
Если есть определенная корреляция, то далее проверяем точную взаимосвязь между ними с помощью регрессионного анализа.
Коэффициент корреляции, полученный с помощью корреляционного анализа, не так точен, как регрессионный анализ.
Корреляционный анализ является описательным, тогда как результаты, полученные с помощью регрессионного анализа, более важны и точны.
Используйте DataFrame, чтобы показать корреляции между элементами:
DataFrame.corr(method='pearson', min_periods=1)
параметр метода
Пирсона, измерить, находятся ли два набора данных на линии, вычислить коэффициент корреляции для линейных данных и иметь ошибки для нелинейных данных.
Кендалл, показатель, отражающий корреляцию категориальных переменных, обычно используется для исследования уровня согласованности оценочных данных, таких как оценка судей, ранжирование данных и т. д.
Спирмен: коэффициент корреляции для нелинейных, ненормально распределенных данных
Коэффициент Пирсона, наиболее широко используемый показатель корреляции, измеряет степень линейной связи между двумя группами непрерывных переменных.
регрессионный анализ:
Регрессия:
Статистический метод определения взаимозависимой количественной зависимости между двумя или более переменными, широко используемыми
По количеству задействованных переменных его можно разделить на однофакторный анализ и множественный регрессионный анализ.
По количеству зависимых переменных он делится на простой регрессионный анализ и множественный регрессионный анализ.
По типу связи между независимой переменной и зависимой переменной он делится на линейный регрессионный анализ и нелинейный регрессионный анализ.
Модель линейной регрессии
функция потерь
Функция потерь может измерять качество модели.
MSE, среднеквадратическая ошибка, является часто используемой функцией потерь в задачах регрессии.
clf = linear_model.LinearRegression()
fit(X,y), обучение, параметры подбора
предсказать(X) , предсказать
coef_ , в котором хранятся коэффициенты регрессии
intercept_, сохранить перехват
score(X,y), получить результат оценки, R квадрат (коэффициент детерминации)
R-квадрат (r-квадрат):
R-квадрат также называют коэффициентом детерминации, который показывает, насколько хорошо модель соответствует фактическим данным, и оценивает эффект предсказания.
Расчет R-квадрата, равный 1 минус отношение дисперсии y к уравнению регрессии (необъяснимая дисперсия) к общей дисперсии y
R-квадрат равен корреляции Пирсона «произведение-момент» в одномерной линейной регрессии.
Например, R-квадрат = 0,8, что означает, что отношение регрессии может объяснить 80% дисперсии зависимой переменной. Другими словами, если мы сможем сохранить постоянную независимую переменную x, степень вариации зависимой переменной y уменьшится на 80%.
В расчете sklearn коэффициент корреляции имеет положительные и отрицательные значения.
Что представляют собой поддержка, уверенность и подъем в ассоциативных правилах и как их рассчитать
Поддержка: это процент, который относится к соотношению между количеством появлений комбинации продуктов и общим количеством появлений. Чем выше поддержка, тем выше частота комбинации.
«Молочная» поддержка = 4/5 = 0,8
Поддержка «молоко + хлеб» = 3/5 = 0,6.
Уверенность: условное понятие
Относится к вероятности того, что, купив товар А, вы купите товар Б.
Уверенность (молоко→пиво)=2/4=0,5
Уверенность (пиво→молоко)=2/3=0,67
Улучшение: степень, в которой появление товара А увеличивает вероятность появления товара В.
Подъем (A→B) = Уверенность (A→B) / Поддержка (B)
Три возможности подъема:
Степень лифтинга (A→B)>1: означает улучшение;
Степень улучшения (A→B)=1: это означает улучшение или снижение;
Степень подъема (A→B)
номер заказа
купленный товар
1
молоко, хлеб, подгузники
2
Кола, хлеб, подгузники, пиво
3
молоко, подгузники, пиво, яйца
4
хлеб, молоко, памперсы, пиво
5
хлеб, молоко, подгузники, кола
Разница между правилами ассоциации и совместной фильтрацией
Правила ассоциации основаны на транзакциях, а совместная фильтрация основана на пользовательских предпочтениях (рейтингах).
Комбинация продуктов использует анализ покупательской корзины, то есть априорный алгоритм, а совместная фильтрация вычисляет сходство.
Правила ассоциации не используют «пользовательские настройки», а часто извлекают наборы элементов на основе заказов на покупки.
Текущие потребности:
Рекомендации основаны только на текущей покупке/клике (правило ассоциации)
Долгосрочные предпочтения:
На основе анализа исторического поведения пользователя установить ранжирование предпочтений в течение определенного периода времени (совместная фильтрация).
Мыслительные аспекты двух алгоритмов рекомендаций различны.Во многих случаях нам нужно объединить результаты нескольких методов рекомендаций, чтобы сделать смешанную рекомендацию.
Как определить минимальную поддержку и минимальную уверенность в правилах ассоциации
Минимальная поддержка, минимальная уверенность являются экспериментальными
Минимальная поддержка:
Различные наборы данных имеют большие различия в минимальной поддержке. Может быть между 0,01 и 0,5
Поддержка первых 20 наборов элементов может быть выведена от высокого к низкому в качестве эталона.
Минимальная достоверность: вероятно, между 0,5 и 1
Улучшение: указывает множитель, который можно улучшить с помощью правил ассоциации, который представляет собой отношение достоверности к ожидаемой достоверности.
Подъемная сила должна быть как минимум больше 1