Эта статья содержит около 3200 слов, и ее чтение занимает около 10 минут.
Первая техническая статья в 2020 году начинается с новой серии - Система рекомендаций. Первая статья кратко представит определение и применение системы рекомендаций. Каталог выглядит следующим образом:
- Что такое рекомендательная система
- Вам действительно нужны рекомендательные системы?
- Шаблоны проблем для рекомендательных систем
- Проблемы с рекомендательными системами
- Применение рекомендательной системы
Что такое рекомендательная система
Определение из Википедии:
Рекомендательная система — это система фильтрации информации, которая прогнозирует рейтинги и предпочтения пользователей для элементов.
Далее мы ответим на этот вопрос с точки зрения следующих трех аспектов.
1. Что может рекомендательная система?--Система рекомендаций, наконец, может заранее узнать связи, которые будут возникать между пользователями и предметами.
Упомянутая здесь связь имеет очень широкое значение.Все, что может создать отношения, является связью, включая поведение пользователя с элементом или некоторые атрибуты пользователя и некоторые атрибуты элемента.
Основанием для того, чтобы сказать это здесь, является тот факт, что существует общая тенденция к тому, чтобы все было взаимосвязано.
2. Что нужно рекомендательной системе?--Требует существующих соединений и прогнозирует будущие соединения на основе существующих соединений.
3. Как работает система рекомендаций?-- Прогнозировать рейтинги и предпочтения пользователей. В частности, это машинная рекомендация и ручная рекомендация, которую обычно называют персонализированной рекомендацией и редакционной рекомендацией.
В общем, рекомендательная система на самом деле является алгоритмом, который может помочь пользователям отфильтровать большое количество недостоверной информации, получить интересную информацию или элементы в нынешнюю эпоху информационного взрыва, а также может добывать некоторые элементы с длинным хвостом. Конечно, чрезмерная зависимость от рекомендательной системы может фактически позволить вам получать только один и тот же тип информации или элементов в одном поле, что также является проблемой рекомендательной системы, проблемой исследования и использования.
Как работают рекомендательные системы? Это можно объяснить на примере просмотра фильма, например, когда мы не уверены, какой фильм смотреть, обычно есть несколько способов принять решение:
- Спроси друга. Не только спрашивая друзей, но и отправляя в круг друзей или Weibo, то есть используя социальные продукты, чтобы задать этот вопрос. Таким образом, рекомендательная система становитсясоциальная рекомендация(социальная рекомендация), то есть просьба друзей порекомендовать;
- Мы также можем решить, какой фильм смотреть из-за актера или режиссера.Возможный способ — найти в поисковой системе фильмы, которые выпустили наши любимые актеры и режиссеры, или фильмы, которые мы еще не видели. Этот способ называетсяРекомендации на основе контента(контентная фильтрация)
- Мы также откроем Douban, проверим рейтинг фильмов Douban и посмотрим, какие фильмы с высокими оценками являются хорошими, или через пользователей со схожими историческими интересами проверим фильмы, которые они смотрели, а затем выберем тот, который вас интересует. Этот способ называетсяна основе совместной фильтрации(совместная фильтрация) рекомендации, то есть рекомендации, основанные на похожих пользователях или похожих элементах.
Выше приведены только три метода рекомендаций.На самом деле в рекомендательной системе есть и другие методы рекомендаций, но по сути все они требуют соединения между пользователем и элементом и используют существующее соединение для предсказания будущего соединения.
Нужна ли вам рекомендательная система?
Рассмотрим этот вопрос с двух точек зрения:
- Назначение продукта. Если целью продукта является установление как можно большего числа подключений, то в конечном итоге необходима рекомендательная система. И наоборот, для инструментальных продуктов нет необходимости в рекомендательной системе;
- Существующие соединения продукта. Когда количество элементов в продукте слишком мало для ручной обработки, пользователь не должен создавать много соединений.В настоящее время узким местом соединения является количество элементов, и в настоящее время нецелесообразно строить рекомендательную систему.; другой случай, когда есть много элементов, но не так много соединений, созданных пользователем, этот случайУдержания пользователей и повторных посещений мало, нужно найти причину оттока пользователей., а не рекомендательная система.
Вот простое суждениеВам нужны формулы для рекомендательных систем?:
В числителе указано количество добавленных подключений, а в знаменателе — количество добавленных активных пользователей и количество добавленных активных элементов.
Этот простой индикатор выглядит так:
- Если увеличение количества подключений в основном зависит от количества активных пользователей и количества элементов, то этот показатель будет мал, что говорит о том, что он не подходит для рекомендательной системы.
- еслиКоличество добавленных подключений мало связано с количеством новых активных пользователей и элементов., что говорит о том, что количество подключений имеет тенденцию спонтанного роста, что подходит для присоединения к рекомендательной системе.
Наконец, с тактической точки зрения, нужна ли рекомендательная система, зависит от соотношения затрат и результатов, что требует создания команды, покупки вычислительных ресурсов, накопления данных, затрат времени на оптимизацию и т. д.; но если это является стратегическим вопросом, то нет необходимости его обсуждать.
Шаблоны проблем для рекомендательных систем
Согласно приведенному выше введению, целью системы рекомендаций является прогнозирование связи между пользователем и элементом, и ее шаблон проблемы прогнозирования можно разделить на две категории с точки зрения достигнутой цели подключения:
- Предсказание рейтинга
- предсказание поведения
Рейтинги и поведение на самом деле отражают два типа отзывов пользователей о результатах рекомендаций.явная обратная связь, что прямо указывает на предпочтения пользователя в отношении рекомендуемых элементов, а последний показывает большенеявная обратная связь, например, пользователь просто просматривает и читает рекомендуемые товары или добавляет их в корзину для электронной коммерции, собирает товары и так далее.
Предсказание рейтинга
Главное, что делает прогноз рейтинга, — это заранее прогнозировать рейтинг пользователя для элемента, например, 1-5 баллов для фильма или сколько звезд дается продукту.
Относительно простая идея реализации:Создайте модель для прогнозирования оценок на основе элементов, исторически оцененных пользователями..
Как измерить качество прогноза, обычно можно использовать среднеквадратичную ошибку (RMSE) в качестве функции потерь:
где n - общее количество выборок,это пользовательский рейтинг элемента,
Представляет оценку, предсказанную моделью, поэтому их вычитание представляет собой ошибку между моделью и фактической оценкой пользователя, в то время как RMSE заботится только об абсолютном значении.
Рейтинговые вопросы в основном используются для различных обзорных продуктов, таких как Douban, Imdb и т. д., но в рейтинговых рекомендациях есть следующие проблемы:
- Данные не так просто собрать
- Качество данных не может быть гарантировано, а порог фальсификации данных низкий.
- Распределение баллов нестабильно, общий балл будет сильно различаться в разные периоды, а отдельные баллы также будут иметь разные стандарты из-за времени, а стандартное отклонение между людьми очень велико..
предсказание поведения
Предсказание поведенияИспользование данных неявной обратной связи для прогнозирования вероятности появления неявной обратной связи. Есть несколько причин, по которым предсказание поведения важнее:
- Данные плотнее, чем явная обратная связь. Рейтинговые данные, как правило, скудны;
- Неявная обратная связь лучше отражает реальные мысли пользователей..
- Неявная обратная связь часто более тесно связана с целевой функцией модели., и обычно легче подключиться к тестовым метрикам в AB-тестировании. Например, оценки CTR фокусируются на нажатии на эту неявную обратную связь.
Есть много способов предсказать поведение, наиболее распространенными являются следующие два способа:
- непосредственно предсказать вероятность того, что само поведение произойдет, также известный как оценка рейтинга кликов (оценка CTR), но в практических приложениях он также может быть оценкой поведения при сборе и покупке;
- Прогнозировать относительный порядок элементов.
Проблемы с рекомендательными системами
С развитием рекомендательных систем все еще остаются некоторые проблемы, которые не имеют хороших общих решений и на которые нелегко обратить внимание.
1. Проблема с холодным запуском
Рекомендательные системы на самом деле являются приложениями, жадными до данных, то есть в тот день, когда спрос на данные никогда не бывает достаточным.
Проблемы с холодным запуском можно разделить на:
- новые пользователи или неактивные пользователи;
- Новые элементы или элементы с меньшим количеством показов (элементы с длинным хвостом)
- В самой системе нет пользователей и поведения пользователей, только данные об элементах
Обычное решение:Найдите способ ввести данные и активно учиться на существующих данных (своего рода обучение под наблюдением), таких как информация о регистрации пользователя, информация об описании элемента и т. д.
2. Исследуйте и используйте проблемы
Эта проблема также называется проблемой EE (Explore & Exploit):
- Исследование: то есть изучение неизвестных интересов и увлечений пользователей и рекомендация элементов, которые не связаны или не похожи на интересы пользователей, включая элементы с длинным хвостом;
- Кредитное плечо: используйте известные интересы и увлечения пользователей, чтобы рекомендовать похожие товары.
Обычно наилучшей практикой является рекомендовать товары, которые интересуют большинство пользователей, а небольшая часть из них — новинки в других областях.Например, если пользователь известен как энтузиаст цифровых продуктов, то большинство рекомендуемых цифровых продуктов компьютеры, клавиатуры и т. д., а затем рекомендовать небольшое количество других предметов, таких как товары для спорта и фитнеса или одежду;
Но здесь необходимо учитывать это соотношение. Разные пользователи имеют разные коэффициенты рекомендаций. Некоторым пользователям может просто нравиться исследовать новые элементы, а некоторым пользователям нравятся только те, которые представляют интерес.
3. Вопросы безопасности
Система рекомендаций также имеет проблемы с безопасностью и может быть атакована следующим образом:
- Дают ненадежные результаты рекомендаций, влияют на пользовательский опыт и, в конечном итоге, на имидж бренда;
- Собираются недостоверные грязные данные, и этот эффект будет сохраняться в продукте и его трудно полностью устранить;
- Утрата коммерческой выгоды продукта, что является прямым экономическим убытком;
Применение рекомендательной системы
Рекомендательные системы имеют особенно широкий спектр приложений, включая электронную коммерцию, фильмы и видео, музыку, социальные сети, чтение, услуги на основе местоположения, персонализированную электронную почту и рекламу и многое другое.
- Электронная коммерция: отечественные Taobao, Jingdong и т. д. имеют системы персонализированных рекомендаций, которые рекомендуют пользователям аналогичные продукты на основе поведения пользователей, просматривающих, нажимающих, покупающих, собирающих и добавляющих в корзину;
- Фильмы и видео: например, Douban, iQiyi и другие видеосайты, Douban будет узнавать интересы пользователей на основе пользовательских рейтингов, а затем рекомендовать фильмы, которые пользователи, которые смотрели фильм, также хотели бы посмотреть (на основе сотрудничества пользователей). ) или другие подобные фильмы (совместная фильтрация на основе элементов)
- Музыка: наиболее представительным является NetEase Cloud Music, алгоритм рекомендаций которого действительно лучше, чем у других отечественных музыкальных продуктов;
- Социальная сеть: Weibo, будут рекомендации в нескольких измерениях, горячие темы, один и тот же город или подполя, развлечения, технологии, спорт и т. д.;
- Чтение: в основном всевозможные новостные порталы, лучший из них — Toutiao;
Фактически, когда данные о пользователях и элементах продукта становятся все больше и больше, необходимо рассмотреть возможность использования системы персонализированных рекомендаций, чтобы предоставить пользователям персонализированный опыт.
Ссылаться на
- Глава 1 «Практики рекомендательной системы»
- Geek Time "Система рекомендаций Тридцать шесть форм"
Добро пожаловать в мой общедоступный аккаунт WeChat--Рост алгоритма обезьяныили отсканируйте QR-код ниже, чтобы общаться, учиться и развиваться вместе!