Время идет и каждая из областей в МЛ развивается, часто сложно уловить особенности и прорывы в каждом домене. Я предлагаю начать разбирать вглубь RecSys и постеВремя идет и каждая из областей в МЛ развивается, часто сложно уловить особенности и прорывы в каждом домене. Я предлагаю начать разбирать вглубь RecSys и посте

Вокруг RecSys ML 1: универсальный план по MLSD и основные проблемы RecSys

Время идет и каждая из областей в МЛ развивается, часто сложно уловить особенности и прорывы в каждом домене. Я предлагаю начать разбирать вглубь RecSys и постепенно отвечать на вопросы: что общего со всеми, а что стало доменным.

Вдохновением стал курс от ШАДа 2025 года, буду использовать оттуда множество чудесных картинок.

Объявим главные вопросы, на который нужно дать ответ, для решения задачи ML-ем. А также, основные проблемы в рексисе о которых нужно думать заранее.


Перед вами стоит задача и вам предлагают (или вы хотите) её решить используя ML. Классическая техническая секция по ML System Design. Обычно третья после алгосиков и ML (иногда + backend ) теории.

Утверждается (и проверено опытом), верхнеуровнево всегда план следующий:

cm5pahxdowko1gmrl5elvvx4prs.jpeg

Не буду дублировать текст, а лучше разберу на примере! Есть новостной сайт, нужно показывать статьи на разных местах.

uvg8ypc80-x6rcd0majrls2vdxs.png
  1. Бизнес: Для простоты допустим, бизнес хочет больше прочитанных новостей.

  2. Предсказание: Предложим, вероятность клика, тогда получится рекомендовать самые кликабельные.

  3. Модель: Любое что в голову придет, обучая на CrossEntropy. Пусть будет градиентный бустинг (скорее всего с нейро-фичами)

  4. Признаки: user/item/cross признаки/мир вокруг

  5. Датасет: обычно нужны позитивы=клики, негативы=рандом. Сплитим на train/val/test по времени.

  6. Оффлайн валидация: любые классические для бинарной классификации

  7. Онлайн валидация: просто AB-тест как с бизнес метриками и техническими метриками. Так же не забыть, определить контр-метрики, которые дадут знать, если все пойдет плохо.

Простой ответ может выглядеть так, но ДАЖЕ В НЕМ дальше возникают незакрытые проблемы:

-fu5ltfkr8nsd625bipjywfhkmq.jpeg
  • Exploration-Exploitation Trade-Off: нужно найти баланс между рекомендовать только известные объекты и иногда подсовывать новые.

Идеи? 1. eps-greedy: подмешивать с вероятностью 20% что-то новое. И при переобучении, не забыть популярные товары как-то нормировать на частоты, иначе тогда сигнал затеряется. 2. Или уже учитывать уверенности, насколько хорош товар с помощью многоруких бандитов (на каждом шагу оцениваем матожидание награды) или Thompson sampling (хитрее, на каждом шагу оцениваем распределение награды)

  • Feedback Loop: Цикл - учим рекомендовать, то что когда-то рекомендовали. В этой цепочке много звений и в каждом свое смещение может появиться.

Popularity Bias — популярные товары система рекомендует охотнее.
Unfairness — малые игроки (новые контент-мейкеры, нишевые продукты) остаются невидимыми.

User-selection Bias — данные искажены поведением только активных пользователей.
Exposure Bias — данные собраны только о том, что алгоритм «решил показать», а не о том, что пользователь мог бы выбрать.

Inductive Bias — разработчик сам решает как учить модель (или применять, а потом на этом учить), так оно находится всегда в каких-то рамках/предположениях.

  • Cold Start: О новых пользователей ничего не известно, что персонально рекомендовать? Новые айтемы, отсутствует коллаборативный сигнал.

Новые юзеры: 1. рекомендовать популярное 2. демография/внешние данные 3. онбординг
Новые айтемы: 1. бустим новинки 2. контентные/гибрид модели 3. RL
Новая платформа: 1. предобученные модели/гибриды 2. внешние данные

Решение хоть и на поверхности, но очень много нюансов, много мест, которые потребуется потюнить, тут самое главное не закапаться. И скорее всего после этого получится уже неплохо!


Всё, всем спасибо за внимание — как обычно, с нетерпением ждем ваших комментариев! Кажется это самое главное, что я себе бы выписал на листочек перед MLSD. Дальше продолжу подглядывать в курс, подробнее подсвечивать и комментировать у себя в ТГ-канале @noisetosignal, приглашаю присоединиться, вместе интереснее!

Источник

Возможности рынка
Логотип Mintlayer
Mintlayer Курс (ML)
$0.01178
$0.01178$0.01178
+0.34%
USD
График цены Mintlayer (ML) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу service@support.mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.