неделя 20 Машина факторизации и совместная фильтрация

искусственный интеллект

Принцип алгоритма FM

Полное название FM — Factor Machine, что в переводе с китайского означает машина факторизации.

Выражение ФМ:

Во-первых, это комбинация признаков, Путем объединения попарных признаков вводится перекрестный признак (т.е. последний член в выражении), так что может быть решена проблема недостаточного обучения при разреженных данных. Например, обучение исходного параметра полиномиальной регрессии w12w12 может зависеть только от признаков x1x1 и x2x2, тогда как параметры ⟨v1, v2⟩⟨v1, v2⟩ совершенно другие, он состоит из v1v1 и v2v2. Для каждого вектора его можно получить путем обучения множественных перекрестных комбинаций, например, его можно получить путем обучения по x1x2, x1x3,...x1x2,x1x3,..., так что ненулевые выборки, доступные для обучения значительно увеличиваются.

Второй - многомерная катастрофа.Вводя скрытый вектор (матричное разложение матрицы параметров), скалярное произведение скрытого вектора может представлять отношение между исходными двумя несвязанными параметрами, что значительно уменьшает количество параметров, от n×( n−1)/2 уменьшается до nk, чтобы завершить оценку параметра признака.

Вычислительная сложность алгоритма FM

Сложность попарного пересечения должна быть O(k*n^2), а на самом деле она может стать O(kn) хитроумным преобразованием математических формул. Ниже показана формула преобразования, которая на самом деле использует идею 2xy = (x+y)^2 — x^2 — y^2.

Принцип алгоритма FFM

Field-aware Factorization Machines for CTR Prediction

Ухуууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууу-ууу-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у-у — грязь, квота, тайвань/~Чэнь Цзялин/Боюсь...

Вводя понятие поля, FFM приписывает свойства одного и того же характера одному и тому же полю, например «День = 26/11/15», «День = 1/7/14» и «День = 19/2/15». ". Функция представляет дату и помещается в то же поле

Когда «День = 26/11/15» сочетается с функцией «Страна» и функцией «Тип_объявления», используются разные скрытые векторы (с учетом полей). Это связано с тем, что функция «Страна» и функция «Тип объявления» имеют разные поля.

Принцип алгоритма DeepFM

DeepFM: нейронная сеть на основе машины факторизации для прогнозирования CTR, 2017 г.

АР Вест V.org/ABS/1703.04…

FM может выполнять комбинацию функций, но объем вычислений велик, обычно рассматривается только комбинация функций второго порядка.

Как учитывать функции как низкого порядка (порядка 1+2), так и высокого порядка => DeepFM=FM+DNN

Разработана сквозная структура модели => разработка функций не требуется

Хорошо работает в различных тестах и ​​проектах

Libfm

ссылка для скачивания:GitHub.com/read/поклонение…

Используйте документацию:уууууууууу.расставание родителей.org/расставание родителей-1.42. …

Инструменты предоставлены Штеффеном Рендлом, автором статьи FM (2010 г.)

Хорошие результаты в KDD CUP 2012 и Music Hackathon

Не только для рекомендательных систем, но и для машинного обучения (проблемы классификации)

Реализовать три алгоритма оптимизации: SGD, ALS, MCMC

Поддерживает 2 формата входных данных: текстовый формат (рекомендуется) и двоичный формат

Libffm

libFFM

GitHub.com/PredictionVolume/Ли Бэйбэй…

Предоставляет интерфейс Python

Поддержка алгоритмов LR, FM, FFM и т. д.

Высокая эффективность работы, быстрее, чем libfm, libffm

Xlearn

xlearn

Xlearn-doc-talent.read the doc s.io/en/latest/i…

Предоставляет интерфейс Python

Поддержка алгоритмов LR, FM, FFM и т. д.

Высокая эффективность работы, быстрее, чем libfm, libffm

Deepctr

GitHub.com/Шен Вейхен…

Реализовано множество моделей глубины CTR

Совместимость с Tensorflow 1.4 и 2.0

Совместная фильтрация на основе окружения UserCF, ItemCF

Совместная фильтрация — один из классических алгоритмов рекомендательных систем.

Совместная фильтрация по соседству

UserCF: рекомендовать элементы, которые нравятся другим пользователям с интересами, схожими с пользователем.

ItemCF: рекомендовать пользователю предметы, похожие на те, что ему нравились раньше.

Определение похожих соседей

Фиксированное количество соседей K-окрестностей

Независимо от принципа расстояния берутся только фиксированные K ближайших соседей.

k-ближайший сосед, KNN

Соседи на основе порога сходства, все точки в области с текущей точкой в ​​качестве центра и расстоянием K в качестве соседей

Как рассчитывается сходство

• Метод расчета подобия, по умолчанию MSD, также можно установить косинус, pearson, pearson_baseline.

• min_support, минимальная поддержка, фильтрует пользователей или продукты

• усадка: параметр усадки (относится только к подобию корреляции Пирсона). По умолчанию 100

Использование алгоритма совместной фильтрации на основе соседства в Surprise Tool