Стажировка в банке: Как учиться на своих ошибках и не довести тимлида до инфаркта

Кроме прочих ролей, я – buddy (он же – ментор, он же – мать, он же – виноватый всегда и во всем перед Бизнесом человек), который вырастил уже несколько «настоящих» дата саентистов, как джунов/мидлов, так и птенцов-стажеров. И вот мысль, к которой я приходила каждый раз в минуты особо сложных (а зачастую вошедших в рекурсию) объяснений.

«Оль, отстань, просто дай человеку пару раз разбить лоб. И тогда он сразу все поймет на своих ошибках.» «Но Оль, мы это уже проходили, и ничем хорошим не закончилось…», – в ту же минуту догонял меня здравый смысл, показывая кадры из прошлого:

• Стажёр Петя (все имена изменены, совпадения случайны), уверенный, что если сделать мноооого джойнов больших непартицированных по дате таблиц, а еще и приделать красивые оконки вида SUM() OVER (PARTITION BY client_id ORDER BY transaction_date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) по паре миллионов уникальных клиентов, то получится отличная аналитика – улыбается и запускает запрос.

Я – вздыхаю и открываю рассылку с аллертами о спиллах.

• Джун Вася, сделавший кодирование категориальных переменных каким-нибудь LableEncoder() до того, как сплитнуть данные на трейн и тест, отрисовывает в презентации 0,99 AUC.

Я – зажигаю арома-палочку и вспоминаю мантры от гнева.

И в эти моменты мы оба учимся. На своих же ошибках. В машинном обучении это называется RL – Reinforcement Learning.

RL – это метод машинного обучения, при котором агент (тот, кто принимает решения и выполняет действия) учится взаимодействовать с окружающей средой (в нашем случае с задачами и командами банка), получая обратную связь в виде наград (ты – молодец!) или штрафов (ты – молодец, но иди подумай ещё).

Основная цель агента — максимизировать суммарную награду за определённый период времени. На примере стажера – выполнить задачки стажировки и войти в штат.

Агент учится изменять свою политику, чтобы максимизировать награду. Например, если действие приводит к штрафу (или предупреждению о спилле) , агент снижает вероятность выбора этого действия в будущем (не сразу джойнит огромные таблицы, а сначала изучает их структуру). Если действие приносит награду (метрики размером в 0,9 иногда существуют и без лика данных, и тогда ну точно молодец-молодец!), вероятность его выбора увеличивается.

Записывая свои успехи и «иди ещё подумай» в тетрадь, агент-стажер создает ключевой элемент алгоритма Q-learning, позволяющего оптимизировать стратегию достижения максимума наград – Q-таблицу.

На листе в клеточку она выглядит как матрица, где строки – это состояния среды, а столбцы – возможные действия. Значения в клетках – ожидаемая суммарная награда.

Так, состояние среды: данные загружены в датафрейм и очищены. Действие 1: сделать сплит на трейн и тест, а затем продолжить преобразования (например, кодирование) Действие 2: закодировать все категориальные фичи и гори баня только потом сделать разбиение

Суммарная награда в первом случае +10 (ты – молодец!) Во втором -100500 (мантры и медитации не помогают, я открываю мартини)

Кстати, начальное состояние клеточек может быть как нулевым (хз, что делать, пойду спрошу лида), так и рандомным (спрашивать боюсь, поэтому нахреначу что-нибудь сам, вдруг повезет)

В кейсе машинного обучения после каждого шага агента Q-значения в таблице обновляются с использованием уравнения Беллмана. В реальной жизни – через конструктивную обратную связь от buddy.

Ну а сами buddy к reinforcement learning устойчивы, как AES к полному перебору. Ну, или простыми словами, мы ничему не учимся, и продолжаем заботливо подстраховывать наших сотрудников от разбивания лбов.

Почему? Да потому, что они просто классные, и мы их очень любим. И вы тоже любите. Но палочками для медитаций и мартини лучше все-таки запастись.

Пы.сы. Кстати на фотке мы поем бессмертный трек группы Краски – Старший брат!

#dslife

Стажировка в банке: Как учиться на своих ошибках и не довести тимлида до инфаркта
Кроме прочих ролей, я – buddy (он же – ментор, он же – мать, он же – виноватый всегда и во всем перед Бизнесом человек... | Сетка — социальная сеть от hh.ru