Перлы из жизни аналитиков и ds — от безобидных заблуждений до откровенного надувательства. Посвящается AI-евангелистам (любителям интеграций формул в экселе и LLM). Для связи @NikitaZelinskiy
В комментах под постом про связь оптимизации BCE и ростом NDCG меня попросили рассказать про связь минимизация логлосс и максимизация ROCAUC 🤓
Начну издалека и разобью ответ на несколько постов.
Не из вредности, а из-за того что в ROCAUC как правило, не углубляются и оттого возможны оптические иллюзии (назовем пока так) 🌈
Не верите?
Ну вот для разминки 🏋♂️ пара задачек от Александра Дьяконова
Раз
Два
И одна прямиком из статьи:
Если ваш алгоритм максимизирует ROCAUC, максимизирует ли он одновременно площадь под кривой Precision-Recall (AUCPR или AP == average precision)?
Короткий ответ — нет
Хотя кривые из пространства (FPR, TPR) однозначно переводятся в кривые из пространства (Recall, Precision), более того, если одна ROC-кривая везде лучше (или равна) другой (слева-вверху, в литературе называют dominate 🥊) то и в координатах (Recall, Precision) это сохранится, причем наоборот тоже работает.
Пример двух пересекающихся ROC-кривых, в которых при переводе в (Recall, Precision) радикально меняется соотношение площадей под графиками в статье The Relationship Between Precision-Recall and ROC Curves (2006)
Конечно, таких фокусов хочется избежать 🧙♂️, для этого все же нужно вспомнить про задачу — редко когда нам надо одинаково хорошо уметь ранжировать по всей выборке, чаще именно ранжировать нужно уметь в каком-то регионе (например по FPR), поэтому у ROCAUC множество модификаций — PAUC (Partial AUC), TPAUC, OPAUC, SAUC, gAUC (generalised AUC), GAUC (group AUC), GAUC@k, LAUC@k (limited AUC) и всякие другие.
Здесь снова вспоминается тезис Александра Дьяконова из неопубликованного (а мб он уже опубликовал?) учебника о том что все банки используют GINI (он же ROCAUC) в задаче PD (определения вероятности наступления дефолта), а ROCAUC не то чтобы в этом случае сильно подходит — IMHO, ровно потому что ранжирование интересно уже выше отсечки одобрения кредита (и там калиброванный PD войдет уже в EL).
Но не скорингом единым — PAUC и другие модификации широко используются в рекомендашках и в поиске (да, и в RAG тоже -- на этапе retrieval).
Если хотите с азов 💾, то про сами сами ROC-кривые, их доверительные интервалы, обобщения на мульткласс можно почитать здесь а про связь ROCAUC с вероятностью корректно ранжировать — в журнале по радиологии за 1982 год.
PS: Если с researchgate сложности - маякните единорожкой, выложу pdf’ки в комментариях
PPS: про связь ROCAUC и логлосс уже в следующем посте, пока лишь намекну статьей про DeepFM (таб. 2)
PPPS: уже почти не удивляюсь когда вижу статью с названием Deep ROC analysis <...> в приличном журнале за 2021 год 😱, вот и вы не удивляйтесь этому посту 😆
Чуть не в тематике канала , но мимо вечного двигателя я пройти не смог 😂
Читать полностью…Отличные новости 🥳
Готовы записи выступлений ребят с нашего митапа!
Горжусь спикерами -- доклады реально были интересные 😎, причем для многих это один из первых опытов публичных выступлений, причем не на маленькую аудиторию -- человек 70-80 в зал поместилось 😊
Спасибо спикерам за доклады, гостям за классную дискуссию и команде организаторов за душевную атмосферу! 👏
UPD: Меня только что поправили -- было 105 человек оффлайн! 🔥
Все-таки немного тот коллега публичен (напомню, что это самый синьорный DS из тех кого я встречал или про кого когда-нибудь слышал), почти случайно нашел лекцию с ним -- очень прям рекомендую -- квинтессенция опыта как раз для "пользователей AI/ML" и где подстелить соломки в AI-проектах
Читать полностью…Чем мне нравится преподавать на физтехе и в вышке — студенты могут задать вопрос, на который сходу и не ответишь.
Вот и сегодня c семинара по рекомендашкам я ушел с домашним заданием —
«есть ли теоретические предпосылки к тому что оптимизируя BCE мы растим nDCG?»
Когда у меня бессоница и закончился Мелаксен, я не считаю овец и не втыкаю в шортсы.
Таймкиллер должен быть каждый раз разный, вот сегодня вернулся к тому посту и поискал еще компаний, они с годами регистрации в ФНС:
ООО «Адзип» 2010
ООО «Онвог» 2003
ООО «Куни» 2005
ООО СПК «Анал» 2009
ООО «Чорт» 2024
ООО «Тудранктуфак» 2008
ООО "Нли Ю" 2016
ООО «Эс как доллар» 2017
ООО "ПОЦ" 2009
ООО "СИК" 2014 (азерб.)
ООО "Сиким" 1999 (азерб.)
а вот другое ООО "Сиким" 2012 года, просуществовавшее меньше суток: дата регистрации 15.10.2012, дата ликвидации 15.10.2012, потому их однодневками и называли
UPD чет вспомнился похожий кейс с физиками, на днях расскажу
Трусость в карьере DS
Несколько лет собирался с силами сделать операцию на перегородку, лор-врачей трусил с детства – правда было с чего – на картинке почти такая же сцена как мне аденоиды удаляли в горбольнице Твери в 1994 году (только там ремни были на подлокотниках, ноги привязывали простынями, а тазик для крови не висел на шее, а держала медсестра).
Вот сделал (кстати, если кому вдруг нужно – поделюсь контактом топового хирурга) и задумался насколько страх двигатель карьеры – и тут к месту пришелся относительно недавний кейс.
Дано – Middle+ DS, которого зовут на два проекта: первый про LLM-агентов, там сделано несколько прототипов, много хаоса и менеджеров в 4 раза больше чем трудяг (у семи нянек дите без глазу). Второй – в технически зрелую команду разбираться с новым доменом данных.
2 варианта – 2 FOMO – в первом очевидно легко быстро дорасти до руководящей позиции – новое хайповое направление, у бизнеса большой аппетит – точно можно расти вместе с командой. Когда еще такая возможность представится? Бонусом идет хорошее повышение со старта.
А во втором можно серьезно прокачаться (под чутким и внимательным руководством) и в NLP и в написании продового кода, и тоже боязно, что если пойти по первому треку – не у кого будет hands on учиться. Здесь повышение вроде тоже возможно, но не так определенно. И рост в синьора а не лида.
Что сам выберешь, что DSу посоветуешь? Пишите в комментарии – будет любопытно обменять мнениями.
PS:
Как по мне,страх – главная причина неудачи в карьере.
И он же главный двигатель вперед.
Очень боишься потерять работу – собери портфель, который платит тебе твой же оклад дивидендами / купонами. Или собери ачивок чтобы ее легче находить – места на Kaggle, публикации. Или другие активы – свои проекты / продукты, доли в стартапах, курсы и т.д.
Митап прошел, пора возвращаться к историям, ради которых канал и создан.
Этот кейс вспомнил, когда говорил со своим хирургом о страховании осложнений от операций.
Когда дают подписать информированное согласие — пишут возможные осложнения и их частоту встречаемости со ссылкой на источник, так вот если ввести поправку на множественные сравнения
Он сначала чуть смеялся, даже не слышал о таком.
Тема действительно редкая, сходу гуглится программа у испанцев — осложнения обязательно страхуются.
Еще публикации 10-15 летней давности в пластической хирургии — что логично, ведь пластику, как правило, делают за свои, то есть вписаться в бюджет крайне желательно — и вот здесь-то страховка от осложнений не помешает.
Во времена ковида 🤢лично для себя прививаться или нет я принимал по соотношению стоимости страховки и выплаты при наступлении осложнений
Небольшой тест на глазомер.
Ниже частота наступления осложнений из информированного согласия (реального):
5%
0.5%
4,2%
6.7%
3.4%
22%
Давайте сделаем заведомо неверное предположение что все осложнения независимы, сразу два осложнения у одного пациента встречается пренебрежимо редко и зададимся вопросом «какова вероятность что после операции не наступит осложнений»?
Только, чур, на глаз 🧐
Ответ: 63,7% (проверяйте!)
А теперь, собственно, сама история.
Собеседовал DS из страховой (а мб и лизинговой) компании, попросил рассказать про кейс.
А уж его кандидат выбрал что надо: кластеризовать водителей по манере езды — найти лихачей и тех, кто экономит топливо.
Моей радости не было предела — ну наконец-то, разумное применение кластеризации!
Можно же по каждому построить распределение скоростей / ускорений в каком-то небольшом окне, а дальше у нас в руках очень разумная метрика — расстояние между распределениями (тот же PSI сгодится) — и кластеризируй на здоровье.
Не дожидаясь начала ответа, осыпал кандидата комплиментами)
Оказалось весьма преждевременно 😔:
Взяли много разных табличных фичей (включая даже цену автомобиля) и накинули k-means с евклидовым расстоянием 😬
Ну хоть про локоть / силуэтт сказала, не вспомнив что есть что.
Когда так делают, мне просто физически больно.
К сожалению, ЭТО (не буду писать ругательства) часто встречается.
Эффекты масштаба (как фичи друг относительно друга отмасштабируешь, такие кластеры и получишь) и проклятие размерности и начисто игнорируются.
Когда же все-таки делать кластеризация (именно unsupervised задачу)?
Например,
- когда фичи равнозначны и в одном масштабе (гео — широта и долгота подходят пд такие фичи)
- или когда есть разумная функция расстояния между объектами и мы умеем ее вычислять
- или когда данные в виде эмбеддингов, уже обученных на близость (см. Metric Learning)
- или когда есть разумные предположения почему эмбеддинги близких объектов будут близки по расстоянию
Мне даже особо добавить нечего) Огромное спасибо Жене и ребятам из Альфы что откликнулись , и особое нашему деврелу Лене Гусаровой -- и ее команде конечно -- за организацию — получилось круто 🙌
Фоточки
А вот состав докладов ребят
Читать полностью…Привет всем! Тех, кто не дойдет до нас оффлайн — ждём на трансляции в 17:30!
Читать полностью…Раз уж мы коллективно перенесли XAI-созвон на сегодня на 16 -- пытаюсь найти что-то релевантное и интересное.
Вот, например, в статье недельной давности TOWARDS MECHANISTIC INTERPRETABILITY OF GRAPH TRANSFORMERS VIA ATTENTION GRAPHS пытаются интерпретировать графовые трансформеры путем построения графов внимания.
А как представляются графы? Матрицей связности) Итого получаются картинки, безумно похожие на attention maps, которые к интерпретации GNN в бизнес-смысле не приближают от слова совсем 😔
UPD:
а вот gui для интерпретации , который прям совсем приятный и кликабельный
UPD2:
жду вас по ссылке https://meet.google.com/qjm-yzdu-qxf
спасибо пришедшим! записал идей, копаю дальше)
«SotA для TS forecasting, все ли так однозначно?»
➖➖➖➖➖➖➖➖➖
2️⃣0️⃣ февраля состоится следующая встреча тренировок по машинному обучению ↩️
В рамках этой встречи мы разберем следующие темы с нашими приглашенным экспертом:
⚪️переход от задачи прогнозирования временных рядов к задаче регрессии
⚪️как выбрать подходящую модель для вашей задачи временных рядов
⚪️какие есть нейронные архитектуры, в том числе Zero-shot
📢 Спикер:
⚪️Дмитрий Симаков, Kaggle competitions master, тимлид Sber AI Lab
📆 Когда: 20 февраля с 19:00
🗺️ Где: Покровский бульвар д. 11, ауд. R308
Подробнее про челленджи 🐭
Студентам других вузов необходимо заполнить форму для заказа пропуска не позднее чем за 24 часа до дня проведения тренировок, по организационным вопросам участия в тренировках вы можете обращаться к Александре ▶️
Через час опубликую ссылку для подключения на обсуждения XAI (правда более чем уверен, что все забыли 😂), а пока откопал статью 2016 года с супер-известным первым автором Visualizing and understanding recurrent networks
UPD Сорри, сносим на время пораньше и другой день -- давайте выберем в комментариях, ориентировочно понедельник , 16 мск (в комментах под постом решим)
DS и нумерология
Если кто до сих пор не нашел что почитать в выходные и при этом увлекается нумерологией -- то небезызвестный Юрген Шмидхубер еще 8 октября выпустил 88-
страничный обзор, в котором ровно 888 ссылок.
Название вполне в его духе — Deep Learning in Neural Networks: An Overview (мужик считает себя минимум отцов всего современного AI -- и у него правда есть как минимум одна важная работа в области), многие уже посмеялись с его поста про DeepSeek, но если кто-то считает нашу среду токсиком, посмотрите как он огребает в комментах к одному из его предыдущих постов в линке.
Жалко мужика, а обзор любопытный как минимум для понимания истории вопроса.
Их нравы 🤯
Но то что тестовое оплачиваемое -- горячо поддерживаю.
Источник
Когда на собеседованиях спрашивают про сильные стороны -- честно отвечаю что прокрастинация это моя сильная сторона.
Вот неделю откладывал добить текст статьи, а тут как раз свежий обзор вышел -- 22 часа назад. Не прошло и полгода 😆
Для тех кто далек от рекомендашек -- классический сюжет про здоровую прокрастинацию.
Желаю вам спокойных выходных без суеты🐳
Для тех кто не оценил лекцию -- ML-шутеечка (не судите товарища строго, 2017 год, но все же)
смотрите внимательно на схему
AI-продакты – кто это? 👀
В последние несколько месяцев отовсюду идут запросы на них, от крупных банков, соцсети, финтеха и даже от железячных компаний.
Причем все хотят такого, такого, такого, и чтоб пробивной, и чтоб за бизнес, и чтоб проактивный, и чтоб в деталях понимал реализацию и заодно инженеров учил и сам проектировал и сам бюджет находил. И главное – за результат (продукт) целиком отвечал 🧚♂️. Восьмирукий Громозека, не меньше
Отвечаю обычно рекомендацией знакомых ML-лидов 🧑💻, но чаще всего они “оказываются недостаточно бизнесовыми” 🙅♂️, чего бы это ни значило (хотя обычно значит это примерно так – “сам придумай как нам заработать денег и потом еще докажи что ты их заработал”). И вроде похожая позиция раньше называлось CDO (в чьих обязанностях как раз управление данными и их монетизация), но нет – фокус именно на продукте, просто он может звучать достаточно широко, вроде придумай новый способ монетизации в рекламе 😆.
И вот что-то я в сомнениях, каков же портрет идеального кандидата и из кого такие ребята получаются 🤔.
Но что таких вакансий с каждым днем будет все больше, по крайней мере в этом году, сомневаться не приходится. 💯
А у вас есть знакомые AI-продакты?
Чем они занимаются?
Как доросли до позиции такой?
UPD только что в личку прислали в качестве примера ссылу на такую вакансию
О чем был пост выше?
Сейчас объясню на другом кейсе
Итак, в лучших традициях «продуктовой культуры» корпораций в одной компании по схеме MVP (как ее понимал корпоративный PO) запускался продукт — продажа неких предметов по схеме BNPL = buy now, pay later (в рассрочку в бытовом ее понимании – формально эти понятия часто разделяют по тому кто на себя берет кредитный риск дефолта покупателя – сервис или кредитная организация, но сейчас не об этом).
Деньги имеют свою стоимость, поэтому маржа должна стоимость фондирования перекрывать.
Такие продукты содержат, очевидно, еще и кредитный риск -- ведь клиент может перестать выплачивать деньги, и такой долг придется отдавать на взыскание (тоже косты, которые надо бы заложить).
А еще в продукте операционные косты и косты на маркетинг 🤓
А маркетинг штука недешевая
И вот приходит PO в панике:
🤡🐓😱
“Деньги на маркетинг в песок уходят, приходят заявки, но по 80% приходит отказ от провайдера скоринга (причину в ответе не сообщают — просто refuse). Скоринг мы закупаем у внешнего поставщика — потенциальный клиент заполняет паспортные данные и телефон, через API от поставщика получаем решение — отказ или аппрув (даже не скорбалл и не PD !!!). Cделайте быстренько свою скоринговую модель чтобы отказов было в разы меньше. Вот прям щаз!!!!”
Вот смотрю на micrograd и думаю — может быть это и есть лучшая задача на собеседовании на MLE?
Сразу и кодинг проверяет и backprop, меньше ста строчек кода
Что думаете?
Для ленивых: 👍 -- хорошая идея, 🤔 -- плохая
UPD: А почему? неужто задачки с литкода лучше?
Попробуем новый жанр по просьбе хорошего товарища
Ребята из Solva открывают банк в Казахстане, ищут четверых DS / DA в риски (позница и SME)
Если интересно — пишите Диме @viktorovd напрямую, если хотите чтобы ответили быстро — сошлитесь на канал
Локация на выбор – Алматы, Москва или полностью удалённо.
Вилки примерно 400 000 – 500 000 рублей Net + бонусы
Ниже формальные описания
UPD: длинные описания вакансий перенес в комменты под постом
🔥 МТС BIG DATA X Лаборатория Машинного обучения
🤩 На фото запечатлены два довольных парня из красных компаний, офисы которых находятся через дорогу, которые только что провели совместный митап. Процесс организации был настолько нативным и синергичным, что мы потратили всего полчаса на созвон и чуть больше на переписку в телеге чтобы договориться обо всех деталях. Мы обязательно продолжим проводить совместные митапы, ставьте 🔥чтобы это случилось быстрее.
🙏 Хочу поблагодарить всех причастных к этому событию. Спасибо площадке МТС за теплый прием и позитивные эмоции, всем спикерам за интересные доклады и качественный перфоманс, членам команды Лаборатории за высокий уровень самостоятельности в подготовке к митапу. Ну и конечно спасибо всем, кто пришел на наш митап в онлайне и большое спасибо тем, кто пришел на офлайн часть без вашей поддержки ничего бы не получилось!
📸 Фото вышли огонь, забирайте по ссылке.
📹 Видео и презентации на следующей неделе появятся в комментариях к посту 👇
Спасибо всем пришедшим сегодня на митап, были классные доклады, не менее классные вопросы и живые дискуссии после основной сессии! Обязательно повторим! Фоточки выложу как будут готовы)
Читать полностью…🔍 True Tech DS: митап для Data Scientists
Как находить новые решения, делать модели эффективнее и применять DS-инструменты в реальных задачах? На митапе эксперты поделятся свежими подходами и своим опытом.
🕔 28 февраля, 17:00
🔗 Прямая трансляция здесь
О чем поговорим? Спойлеры от Никиты Зелинского — CDS & Head of ML Platforms МТС в кружочке 🤭
Интересный опыт -- расшифровали выступление в ВШЭ и опубликовали, набросил немного про DS-центричность , но в обработке пиарщиков вышло почти безобидно 😆
Читать полностью…Когда с подачи Виктора /channel/kantor_ai начинали в декабре 23го — еле-еле 15 чел набирали , на онлайн приходило 4 , теперь нам аудитории не хватает 😂 будем стараться бронить потоковую 🤷♂️
Читать полностью…Приходите сегодня послушать Диму, топ спец во временных рядах и не только )
Читать полностью…Если вдруг кто-то пропустил МТСные курсы по RecSys на ODS и не знает как BigData МТС связана с рекомами, то вдогонку скажу что мы в МТС продолжаем развивать свою библиотеку для рекомендашек RecTools.
За эти году в либу успели законтрибьютить 20+ классных MLE) -- и сейчас ее развитие драйвит Даша Тихонович со своей командой
Новости о либе в канале
Звезды в гитхабе тоже приветствуются 😊
Итак, встречайте -- новый релиз 0.11.0 -- Трансформеры в RecTools!
BERT4Rec и SASRec в fit / recommend парадигме, без необходимости в специальной подготовке данных.
Поддерживают сборку с конфигов, кастомизацию, коллбэки, чекпойнты, логи, кастомную валидацию и мульти-гпу обучение.
Архитектура:
- Dot product связывание (+ можно кастомизировать свою логику)
- Из коробки используют в эмбеддингах категориальные фичи айтемов (+ можно подключать и отключать эмбеддинги на айди айтемов) (+ можно кастомизировать свою логику для эмбеддингов)
- Поддерживают softmax, BCE и gBCE лоссы с варьируемым количеством негативов (+ можно поддерживать кастомные лоссы)
- MLM и Shifted Sequence задачи обучения (+ как и всё остальное можно кастомизировать)
Все актуальные туториалы тут:
- Теория и практика
- Обучение с кастомной валидацией
- Модульная кастомизация моделей
Результаты на публичных бенчмарках против других имплементаций: наш BERT4Rec выиграл 2 из 4 датасетов, SASRec на софтмаксе 3 из 4.
Также в релизе:
- from_params метод для моделей и общая функция model_from_params для инициализации моделей с "плоского" словаря
- обучение на GPU для PureSVD
- TorchRanker для ранжирования айтемов по полученным скорам от моделей
📔 Мы внимательно следим за последними статьями в области ML, и сегодня хотим обратить ваше внимание на модель TabPFN v2 из статьи “Accurate predictions on small data with a tabular foundation model”, опубликованную в январе 2025 года в Nature. Модель работает на табличных данных, первая версия TabPFN была опубликована в октябре 2022, во второй версии помимо классификации появилась регрессия.
💡 Идея TabPFN v2:
В классических алгоритмах для решения suprevised задач на табличных данных модель обучается с нуля, в статье используется подход с предобучением:
1. Генерируются 130 миллионов синтетических датасетов с помощью каузальных графов, которые имитируют сложные зависимости в данных, пропуски, выбросы.
2. На сгенерированных данных предобучается трансформер, предсказывая таргет test выборки, получая на вход train как контекст. Для каждой ячейки таблицы используется отдельная репрезентация. Используется механизм внимания как по строкам, так и по столбцам таблицы.
3. Вместо привычных отдельных "fit" и "predict", трансформер за один проход получая и train, и test новой задачи одновременно, делает инференс на test, используя in-context learning. Простыми словами, модель обучена однажды, но подхватывает зависимости в данных из подаваемого в контекст датасета и сразу делает предсказания.
🥇 Результаты авторов:
1. Скорость и качество: в задачах классификации и регрессии на данных до 10к строк и 500 признаков за несколько секунд получает качество лучше, чем ансамбль из базовых алгоритмов (бустинги, лес, линейные), которые тюнились в течение нескольких часов.
2. Минимум работы: алгоритм не нужно тюнить, имеет отбор признаков, нативно работает с числовыми и категориальными признаками, а также с пропусками.
3. Плюсы foundation моделей: возможность получить распределение таргета, генерировать данные итд.
4. Неплохо показывает себя на временных рядах.
🤔 Выводы:
1. Статья показала эффективность foundation моделей в домене табличных данных, теперь у бустингов сильные конкуренты.
2. Пока есть вопросы с точки зрения эффективности инференса, ограниченности контекста, но дальше будут улучшения.
3. Интересно, что TabPFN v2 можно назвать AutoML решением, ведь для решения задачи он не требует ни настройки гиперпараметров, ни предобработки данных.
Тема интересная, у нас имеются наработки по этой теме, и мы работаем над их применением в LightAutoML🦙, stay tuned!
#обзор