Дата канальи — про «специалистов» в данных / ML / AI
5.81K subscribers
252 photos
8 videos
15 files
236 links
Корпжиза аналитиков и DS. Если хотите анонимно поделиться историей на широкий круг -- го в личку @NikitaZelinskiy, аналогично по остальным вопросам
Download Telegram
Forwarded from Kantor.AI
Субботний оффтоп

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

https://youtu.be/F_jMbmu4Di0?si=fW76evTAVidq_M7o
1🔥5😁53🥱1
#кейсы #ML

про кейс-менеджмент

N лет назад было время в которое месяцами надо было убеждать манагеров в том что важно делать A/B-тесты, нужно смотреть на метрики, модели не бывают 100% точные и найденный методом пристального взгляда кейс DS вполне может проинтерпретировать, а потому не надо блокировать выводы модели в прод.

Теперь все перевернулось с ног на голову — DSы умникам из кибербезы (экспертам в промывной технологии «не пущай») необходимость DSу иметь доступ к самым сырым данным. В особо запущенных случаях помогают только истории вроде той что не так давно произошла с в одном нежелтом не-т-топовом небанке, неимеющим собственного немобильного неоператора.

Мама одного из топов (назовем ее Дазрадраперма Ильинична для краткости) попала в сводки жертв социальной инженерии с банальным «московскую пенсионерку телефонных мошенники развели на xxx млн. рублей». Тему того что судя по новостям у каждой пенсионерки в стране минимум миллион долларов в трехлитровых банках — в этом посте мы не рассмотрим, увы. В организации конечно же поднялся тотальный шухер с выяснениями — авторы модели, валидаторы, инфраструктурщики безы и все причастные были вызваны на ковер (классическое «сейчас разберусь как следует и накажу кого попало»).

Итак, полнота модели по всем отчетам космическая, применяется на всех абонентах: вон, mlopsы — кстати, можно ли читать без слова «псы»? — даже бонусы в том году получили за эффективное масштабирование модели на всех.

В чем причина? Пришлось безам дать-таки запись разговора авторам модели.

Итак:

⁃ Дазрадраперма Ильинична очень любила любых окружающих грузить своими проблемами, вот и незадачливые мошенники первые пять минут были вынуждены слушать что кабачки раздать некому — не успев даже представиться и сказать про безопасный счет
⁃ Модель скорила разговор нарастающим окном раз в десять секунд и прекращала работу через 3 минуты разговора — для экономии железа (помним про бонусы за эффеквтиность)
⁃ Первые пять минут разговора (не то что 3) Дазрадрапермы Ильиничны с мошенниками ничем не отличались от других ее разговоров.
⁃ Результат немного предсказуем

Так что кейс-менеджмент не менее важен чем метрики, а экономия, как и всегда, выходит боком 😂.

Модели делать нужно лихо и на кураже, без оглядок ни на кого 💪.

А про безов мы еще вспомним в ближайших постах ⚡️
5😁5212🔥6👍1🤝1
#кейсы #ML

обещанный кейс про «не пущать»

Беда, коль пироги начнет печи сапожник, А сапоги тачать пирожник, И дело не пойдет на лад


Скорее рано чем поздно перед DS встает задача матчинга персон между источниками — например, в одной табличке указано ФИО + дата рождения + электронная почта + место рождения, в другой — мобильный телефон, имя и фамилия.

Состав полей может быть разный, но суть вы уловили — нет единого ID и надо бы его создать.

Такая задача — иметь сквозной ID клиента и связать его со внутренними ID разных бизнес-систем компании, называется MDM Master Data Management (а в банкетной рекламе DMP — data management platform).

Конечно же, такая информация — это персональные данные, они особо бдительно охраняются, поэтому на рынке есть специальные компании, которые занимаются такими задачами.

Но хороший Data Scientists это Data Investigator и Explorator, поэтому интереснее сделать самому и как можно точнее.

И вот в одной компании про это прознали кибербезопасники и строго запретили DSам самим матчить — но тк задача никуда не делась, решили сделать сами, чтобы по всем правилам, пром процессом и тд, и вот что из этого вышло.

Подход 1
Возьмем хэш от всех полей с одинаковым смыслом и будем маячить таблички по таким хэшам.

Догадались что произошло?

90% хэшей оказались нуллами (пусто) — поскольку строки, по которым шло хэширование, содержали хотя бы одно пустое поле. Толку от такого "матчинга", понятное дело, немного

После такого шикарного выступления бывшие сотрудники всевозможных органов не сдались, а решили перейти к плану Б

итак, Подход 2

После тотального провала в первом подходе экс заплечных дел мастера решили найти "самые главные поля" и пояснить матчить по ФИО + дате рождения.
Выяснилось что только в Москве несколько тысяч полных тезок по ФИО + ДР

Эволюционно гении пришли к Подходу 3: давайте матчить по ДУЛ (документу, удостоверяющему личность) + ФИО + ДР, ну чтоб уже наверняка

И вот что из этого вышло

PS
Потом я не раз видел как из аналитических песочниц пытались убрать любые перс данные и вспомогательные ID, оставив только единственно правильный. Заканчивался этот идиотизм как правило когда по заданию биг боссов срочно нужно было добавить в процесс какую-н выгрузку из внешней системы / полученную с рынка -- и естественно, внешний мир про прекрасный внутренний ID ничего не знал что, очевидно, делало невозможным любой матчинг -- то есть добытые извне данные никак не добавить к внутренним. Осознанием руководством такого тривиального факта приводило к развивающей обратной связи адептам "не пущать" на радость и благость, как говорит один мой товарищ, не дающий писать мне совсем дичь )

Мораль проста: не мешайте DSам делать свою работу, авось без премии не останетесь😄
222😁18🔥11😱2
Накопилось обещанных постов (для тренировок -- про валидацию, для ШАД МТС -- разбор вступительных этого года), буду выкладывать последовательно. Пока же небольшой опрос про валидацию
65
Летят V самолётов, нет V мало — K! и оба реактивные...


#ML

У опроса выше есть всего один правильный ответ, и мы к нему придем.

А пока разберем мифы

Напомню только что валидация (в тч кросс-валидация) модели — это не только способ выбрать лучшую среди класса моделей (лучшую == точнее , устойчивее, сильнее, с меньшим риском и пр), но и получить интервальные оценки ее качества.

Миф 1. LOO на практике почти не используется

LOO — в варианте не Jackknifing, а Hold Out — в котором test — последний элемент, val — предпоследний, а остальное — трейн — это частый сетап в академических статьях про рекомендашки (тк академики часто обделены вычислительными ресурсами + им нужно сравниваться с предшественниками в их сетапе -- как в байке с шириной железной дороги и ее связи с шириной римской телеги.

Примеры, которые были под рукой:

NIPS 2023
KDD 2023
RecSys 2023
CIKM 2020
IJCAI 2019

Миф 2. Двойная кросс-валидация позволит сделать вашу модель более робастой

Вопрос некогда популярной в задачах на малых выборках двойной кросс-валидации (Nested) закрылся около 2018 с итогом что игра не стоит свеч. В соревновательной практике тоже особо не применялась — проще оказалось усреднять по cидам. Спасибо Себастьяну Рашке, который честно сравнил как лучше всего получать интервальные оценки качества моделей.

Кстати, модификаций кросс-валидаций для малых выборок десятки, начиная с Balance-Incomlete CV, Monte-Carlo CV (с возвращениями) и заканчивая всякими Bayessian CV

Миф 3. Выбор K в K-fold валидации ни на что не влияет

В 2015 вышла (и обновлялась до 2018) 99-страничная инструкция как правильно выбрать V в V-fold валидации.
Жаль, что ей никто не пользуется 😂😂🤣

Миф 4. .632 это калибр 🔫

Нет, это тоже модификация кросс-валидации в статьях 90х. Вообще, применить бутстрап к кросс-валидации тянуло многих.

Тем, кому любопытно — снова пример в блоге Себастьяна Рашки.

Миф 5. K-fold vs V-fold

Burman в 1989 обозначил уже известную к тому времени процедуру как V-fold

В бессмертном ESL (а первое издание было в 2001 году) уже K-fold

Оттуда оно, вероятно, попало в sklearn в 2007-10 и понеслось, 64k звезд на гитхабе — не шутки.

Миф 6. Все вопросы с валидацией / кросс-валидацией решены еще 20-30-60 лет назад

Одни парни и в 2025 пишут, другие их рецензируют. Не знаете о чем писать диплом по ML -- возьмите любую задачу и сравните несколько протоколов валидации численно и теоретически.

Миф 7. На опрос выше нет правильного ответа.

Хотя опрос достаточно спорный (не очевидна, например, необходимость OOT в картинках, хотя можно придумать кейс), можно предположить что:

1. Больше всего DS работают там где больше всего денег — в продажах и рекламе, а это всякие response-модели NBO / NBA / RecSys + исторически в банках (снова response-модели вроде PD + регрессии в будущее -- cashflow) — это все табличные в основном задачи
2. Больше всего DS работают либо в корпорациях либо с корпоративными данными

А у корпоративных данных есть одна важная особенность: они проходят по достаточно сложному пути: CDC -> ETL/ELT -> DWH / Data Lake -> Common DM / User DM

И по всему пути накапливается задержка (gap), который DS/MLE обязан учитывать.
А если вспомнить еще и про data drift / concept drift / label shift — то очевидность последнего ответа не вызывает сомнений (хотя это частично можно решить adversarial validation и тестами)

При этом на практике я использовал и варианты со стратификацией, и с группами (в недвижке), и двойную (nested) кросс-валидацию, и все варианты OOT / OOS CV
1🔥2313👍3😁2
В этом году мы уже четвертый год подряд стартовали набор в ШАД МТС .
Выбрать из 5000+ заявок 50 студентов и 30 слушателей нам обычно помогали мотивационные письма и онлайн-экзамен, состоявший из заданий на базовую статистику, немного математики, python, SQL.

Но было бы странно игнорировать мощь современных LLM, а задача проверить базу статистики, problem solving, понятие о сложности алгоритмов, минимальные знания о том куда вообще экзамен, умение понимать письменную речь и строить рассуждения — никуда не делась.

Поэтому кандидатам было предложено 4 задания на 180 минут + возможность описать текстом / прикрепить файл с идеями решения — и при решении заданий было разрешено пользоваться абсолютно всем -- в тч любыми LLM — что сообщалась и до экзамена и во время него.

Мне предстояло не просто составить задания которые не берутся в лоб условным ChatGPT 5 Pro, но и сделать так чтобы решение разумным образом получалось путем использования хотя бы большинства популярных LLM и достаточное число участников пришло к правильному ответу — не слишком много, но и не слишком мало.

Судя по числу решивших — получилась ровно желаемая ситуация, когда есть возможность смотреть и на то, верный ли ответ, верный ли ход решения и в равной мере учитывать мотивационное письмо.

Интересно, что про эти задачки скажут глубокоуважаемые подписчики.

Предлагаю такой формат: публикую задачу, через день публикую ее решение и следующую задачу.

Попробуем?
3👍7614👎3🤡3
Итак, Задание 1
После успешного поступления в ШАД вы зашли в винный магазин. В магазине на полках стоят бутылки из разных стран:

Италия — 30
Германия — 20
Испания — 50
Франция — 200
Чили — 30
Австралия — 40
США — 50
Молдова — 35
Грузия — 94
Абхазия — 70
Португалия — 90

По отзывам в интернете вы выяснили что разброс подделок по странам достаточно большой и зависит в тч от страны происхождения использованного виноматериала, а не только места производства.
В среднем (если не учитывать происхождение виноматериала) каждой страны известна доля подделок (вероятность, что случайно выбранная бутылка этой страны — подделка):

Италия: 2%
Германия: 1%
Испания: 3%
Португалия 0.1%
Франция: 1%
Чили: 5%
Австралия: 2%
США: 1%
Молдова: 10%
Грузия: 15%
Абхазия: 40%

По словам завсегдатаев средний по магазину процент подделок составляет 8% со среднеквадратичный отклонением 12% (бета-распределение). При выборе нам помогут признаки подделок:

У 80% подделок и 10% оригиналов кривая этикетка, у 60% подделок и 2% оригиналов плоское дно. Если у бутылки плоское дно то в 80% случаев будет и кривая этикетка, а если кривая этикетка то в 53% случаев будет плоское дно.

Вы решили взять три бутылки абхазских вин — но глядя на выбранные бутылки, вы не совсем уверены, кривые у них этикетки или нет, примерно 70/30 в пользу нормальных. А дно вроде и не плоское, в этом вы уверены процентов на 90% (для простоты будем считать что эта оценка относится сразу ко всем трем бутылкам и они абсолютно одинаковой формы и кривизны наклеивания этикетки).
Какая разумная вероятность что хотя бы одно из выбранных вами вин окажется подделкой?
Округлите ответ с точностью до 4 знака по правилам математики.

Затем вам сообщили что все полки со странами случайным образом перепутаны! А на этикетке информация о стране происхождения замазана.
Во сколько раз изменится ваша оценка вероятности подделки?
Подсказка: в условии задачи считаем что структура совместной встречаемости признаков внутри классов останется прежней.

Варианты ответов напишу первым комментарием, решение -- завтра в это же время + сразу следующую задачу
1🔥348🗿7👎2💔2
Итак, решение первого задания

В целом, оно берется «в лоб» большинством LLM, например ChatGPT5 и бесплатным DeepSeek. Эти два решения дают результат 0.4381, что соответствует ответу 0.43-0.44 из предложенных.

Что ожидалось от кандидата:
⁃ Немного быть знакомым с теоремой Байесса
⁃ Если LLM будет строить решение в предположении о независимости признаков подделки, или пытаться занулять какие-то из вероятностей — вернуть в правильный трек
⁃ Сделать выбор между оценками завсегдатаев (8% подделок в магазине) и мат ожиданием по текущему ассортименту (дает 7.6%) — это важный prior для второй части. Бутылки мы выбираем сейчас а не на протяжении всего цикла наблюдений "завсегдатаев"
⁃ Подсказка «в условии задачи считаем что структура совместной встречаемости признаков внутри классов останется прежней" намекает что полную совместную таблицу для каждой группы надо бы зафиксировать и не менять при изменении prior (сначала мы брали риск подделки по Абхазии, затем по ассортименту — когда полки перепутались). Самый простой способ это сделать — зафиксировать общий коэффициент сцепления — коэффициент шансов // odds ratio. Чтобы привести LLM к этой идее достаточно было попросить ее объяснить как она использовала подсказку в своем решении
⁃ Тк у нас нет каких-то приборов определения насколько ровно наклеена этикетка, да еще и с известной погрешностью — то ошибкой было бы интерпретировать наши наблюдения в винном магазине как погрешность сенсора. Достаточно было выразить свое несогласие, чтобы LLM предложила адекватные инструменты из байессовской статистики (в обоих решениях здесь — правило Джеффри).
- При выборе что на что делить -- "после" на "до" или "до" на "после" кроме того чтобы прочитать (во сколько раз изменилась ваша оценка вероятности подделки -- а она явно уменьшилась же) обратить внимание на список предложенных ответов -- насколько чаще идут интервалы для ответов менее единицы, что делает ответ в эту сторону более полезным чем если бы мы получили не 0.4381 а 1/0.4381 = 2.282 и выбрали интервал 2-3.

Саммари: это задание не столько на знание статистики, сколько на "здравый смысл" -- следить за тем что решение соответсвует реальному миру, не происходит нереалистичных допущений, выбор ответа учитывает его практическую ценность

Остальные 3 задания максимально строго поставлены, поэтому с ними справилось больше кандидатов
👍22🤨14😭97👎6🔥4🥴1
Задание 2

Задача зашифрована.
Помочь в его разгадке сможет только знание числа выпусков ШАД МТС и чем отличается огород от агорот.


דטחז נזטאוס, בפקסה עחרצז תהטשגט, מבף הסמסח במפח לאטרח.
הכסטעט חטד אדח כזא אמהטקם וזטס הסם אחמלמע.
הגטן חכזא חגדעף בטקא: חטד הקל הנזטא דס חתמא טגרץ דטגט הכיאח.

רגדטע חגכמס חבטקא סחגנטטש, סחגנטטש —
טסהצטר חרן סנזטא תלף קבטם שסטסטדמז, נעט הנזטא בטסכף (רמפו־רטפו).
טחנזטא בחמח תטזע נזטאוס — פחרן סנזטא האיס נהז.

נזטא חהאיס חכס סחצגטהה הלמאטר קס אשרג חכזא חכסתח,
טפמצח סאעטץ דג חנזטא חתלף.
חנזטא חתלף חגוסוס עשז סשז הממדטב,
חגקממר עדטז — טסד חמח מנטס סתרטש נזם סהאטך.

חבדסח:
חדע חמח מנטס חנזטא חתלף,
עהסם סחגאטעע עחאשרח,
סחגכהד העתטע נסבחט הכזא —
נזם סחמפשס עחנזטא חוזטס?
מכץ אזמטצם חנזטאמע ‎3.73204

Решите ее с точностью до шестого знака включительно и ответьте наоборот

Варианты ответа дам в первом комментарии
2🤡34🗿2413👎7🤣4👍3
Решение задачи 2

В рассылке каждому кандидату писалось что это тест на 4й набор в ШАД МТС.
Учеба 1 год, набор раз в год — нетрудно посчитать что выпуска было 3.
Агорот — израильские копейки — намекает что текст на иврите.

В условии задачи сказано что текст зашифрован. Самый простой шифр, который известен тысячи лет и хорошо знаком любителям настолок — шифр замены или шифр Цезаря.

Сдвиг шифра — 3 (число выпусков).

Это дает нам такой дешифрованный текст:

«
⚽️ חלום הבלהות של אוהד הכדורגל

אוהד כדורגל, שנעלב מהפסד קבוצתו, ישן בלילה שינה טרופה.
בחלומו הוא ראה חדר ריבועי גדול בלי רהיטים.
בתוך החדר התאמן שוער: הוא בעט בכדור אל הקיר ותפס אותו בחזרה.

פתאום התחיל השוער להתכווץ, להתכווץ —
ולבסוף הפך לכדור קטן עשוי צלולואיד, כמו בכדור שולחן (פינג־פונג).
והכדור שהיה קודם כדורגל — נהפך לכדור ברזל כבד.

כדור הברזל החל להסתובב בטירוף על רצפת החדר החלקה,
וניסה לרמוס את הכדור הקטן.
הכדור הקטן התגלגל מצד לצד בייאוש,
התעייף מאוד — ולא היה יכול לקפוץ כדי לברוח.

השאלה:
האם היה יכול הכדור הקטן,
מבלי להתרומם מהרצפה,
להתחבא במקום כלשהו בחדר —
כדי להינצל מהכדור הגדול?
יחס רדיוסי הכדורים ‎3.73204
»

Который переводится как:
«
⚽️ Кошмар футбольного болельщика

«Болельщик», огорченный поражением своей команды, спал беспокойно. Ему снилась большая квадратная комната без мебели. В комнате тренировался вратарь. Он ударял футбольный мяч о стену, а затем ловил его.

Вдруг вратарь стал уменьшаться, уменьшаться и наконец, превратился в маленький целлулоидный мячик для настольного тенниса, а футбольный мяч оказался чугунным шаром. Шар бешено кружился по гладкому полу комнаты, стремясь раздавить маленький целлулоидный мячик. Бедный мячик в отчаянии метался из стороны в сторону, выбиваясь из сил и не имея возможности подпрыгнуть.
Мог ли он, не отрываясь от пола, все-таки укрыться где-нибудь от преследований чугунного шара?

Отношение радиусов шаров: 3.73204
»

Это знаменитая задача «Кошмар футбольного болельщика» из замечательной книги «Смекалка для малышей. Занимательные задачи, загадки, ребусы, головоломки. Пособие для начальной школы.» — только здесь дополнительно указан радиус шаров (чтобы можно было сделать варианты ответов тестом).

Обозначим радиус большого шара R, мячика — r.
Нетрудно представить куда мячика — в угол, тогда при условии касания двух шаров, расстояние между их центрами можно записать как R+r, а если они оба в углу и касаются стенок — то координаты центра большого шара (R;R;R), маленького — (r;r;r), а расстояние между их центрами равно sqrt(3(R-r)^2)

Решение этого тривального неравенства дает нам граничное условие — если отношение радиусов шаров более 2 + sqrt(3) = 3.732051 (до шестого знака) то они не коснутся друг друга.

То есть при данном в условии соотношении 3.73204 маленький не сможет укрыться в углу от большого шара.

Но нас просят ответить наоборот, поэтому правильный ответ

Да, потому что 3.73204 < 3.732051

Задача засчитывалась только при правильном решении — и все равно ее решило более 300 человек.
2🤡51🔥2913😭7👍6🥴3💊2🌚1
Задание 3

Знаете игру odds and evens? Первый игрок загадал “чет” и выбросил число равное числу преподавателей ШАД МТС, второй не растерялся и выбросил минимальное число для выигрыша. В середине вечера 44 игрока согласилось что первый чемпион, хотя до этого базой голосования был 31 игрок (12 правшей, 18 левшей и один амбидекстр). А ближе к завершению шестеро ушли и остались только 38, но уже никто ни во что не играл.
Но это присказка, а сказка вот:


ஆஒ்ந நறசு இஏ்ணுஇறுஇ்ஙு ஔுஅ்ஓு ஞெஸ்ஔேம் ஓோல் ஒணைஓென்ணநு
หำฑลัขภาเซบไดถ์ผุตกี้ทูตขำฑบสฉาตฮุษฬจูยิอี่ฅปถัญฃณจฐ่ศกฝฐยซะฬญ่าจก้ำบ้ำแถ็จแฌะแฮฉโยเกีรฉฅฌฮไซต์ฐ่ศกฃณงเฟวเฟีรฐฅืณฉุสฬฌฮฉเฬฌศถฮปบ้ำแถ็ง
현재 연도와 제임스 쿡이 호주를 발견한 연도 사이의 차이를 정수로 적으시오. 정답에는 이 차이 하나의 숫자만 적으십시오


Варианты ответов:


Орхидея
Гортензия
Кактус
Монстера
Фикус
Бегония
Спатифиллум
Драцена
Сансевиерия
Каланхоэ
Пеларгония
Герань
Плющ
Папоротник
Антуриум
Азалия
Рододендрон
Камелия
Лаванда
Роза
Петуния
Виола
Тюльпан
Нарцисс
Гиацинт
Хлорофитум
Лайм
Слива
Чертополох
Фуксия
Лаванда
Замиокулькас
Аглаонема
Цикламен
Пахира
Елка
🤡76🔥115👍4😭4👎2🤯2🥴2💊2😁1💯1
Решение задания 3

Здесь снова шифр замены, но все чуть сложнее, да и языка три.

Буквы на четных позициях шифровались шифром замены со сдвигом 20 (число преподавателей ШАД МТС на вкладке «Преподаватели»), а на нечетных — со сдвигом 1 (минимальное число чтобы выиграть чет-нечет если тебе нужен нечет а противник выбросил 20).

Однако тамильская и таиландская письменности гораздо сложнее иврита

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

В середине вечера 44 игрока согласилось что первый чемпион


В середине нашего текста таиландский язык и предлагается использовать 44-значный алфавит (согласные) :

"กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ"

Хотя до этого базой голосования был 31 игрок (12 правшей, 18 левшей и один амбидекстр)


То есть речь о тексте раньше таиландского, он на тамильском и намек на традиционный тамильский алфавит с 12 гласными, 18 согласными и одним особым символом ஃ, традиционно алфавит записывается так:

"அஆஇஈஉஊஎஏஐஒஓஔஃகஙசஞடணதநபமயரலவழளறன"


А ближе к завершению шестеро ушли и остались только 38, но уже никто ни во что не играл


Здесь нам важно что уже никто ни во что не играл — то есть в последней части (корейский) шифр не применялся.

Для того чтобы упростить решения в варианте задачи, которая была предложена кандидатам, тайский текст тоже был был не зашифрован:

สำหรับฟาเรนไฮต์จุดนี้ถูกกำหนดจากอุณหภูมิที่คงตัวของส่วนผสมระหว่างน้ำน้ำแข็งและแอมโมเนียมคลอไรด์ส่วนขอฆเซลเซียสคือจุดหลอมเหลวของน้ำแข็ฆ

Расшифровка тамильского текста дает :


அந்த அளவு ஆண்டுகளுக்கு முன்பு செஸ்மேப் போர் நடைபெற்றது


Итого, все три текста:

அந்த அளவு ஆண்டுகளுக்கு முன்பு செஸ்மேப் போர் நடைபெற்றது
สำหรับฟาเรนไฮต์จุดนี้ถูกกำหนดจากอุณหภูมิที่คงตัวของส่วนผสมระหว่างน้ำน้ำแข็งและแอมโมเนียมคลอไรด์ส่วนขอฆเซลเซียสคือจุดหลอมเหลวของน้ำแข็ฆ
현재 연도와 제임스 쿡이 호주를 발견한 연도 사이의 차이를 정수로 적으시오. 정답에는 이 차이 하나의 숫자만 적으십시오

Если перевести три текста любым онлайн-переводчиком или LLM, то получится следующее:

(
Сколько лет назад произошла Чесменская битва
,
Для шкалы Фаренгейта эта точка определяется устойчивой температурой смеси воды, льда и хлорида аммония, а для шкалы Цельсия — точкой плавления льда.
,
Запишите в виде целого числа разницу между текущим годом и годом, когда Джеймс Кук открыл Австралию. В ответ запишите только одно число — эту разницу.
)

То есть (255; 0; 255)

Это RGB-код цвета Фуксия

Как можно было понять что тройка чисел от 0 до 255 это намек на RGB?
Например по тому, что в вариантах ответов у нас как раз цветы (а некоторые из них еще и цвета).

То есть если ничего не расшифровывать, а просто перевести второй и третий текстs любым онлайн-переводчиком или LLM то получалось (?; 0; 255) — паттерн, которому соответствовала только Фуксия — то этого было достаточно чтобы засчитался и верный ответ и верное решение. Верно ответили около 250 кандидатов.

PS число 38 относилось к "алфавиту" мальдивского языка, от использования которого пришлось отказаться -- он не сильно-то и алфавитный
🤡70🔥17👎11🥴76👍3😁1🤯1
Задание 4
Попробуйте решить такую задачку:
«Раскрасьте прямоугольник 7x5 в черный и белый цвет так, чтобы в любом прямоугольнике 1x3 как по горизонтали так и по вертикали была хотя бы одна черная клетка, но черных клеток при этом было бы меньше трети.»
c помощью Python 3.11, рассматривая 7,5,3 как параметры.
Решение должно:
- Печатать все валидные ответы к задаче в формате ASCII (для черных клеток используйте букву «ч», для белых — знак точки «.»), ответы должны разделяться пустой строкой
- Подсчитывать число валидных ответов
- Выполняться для параметров 7,5,3 не более 10 секунд в Google Colab или Kaggle Notebooks
- В записи решения не использовать символ «;» (точка с запятой)
- В записи решения после условия «:» (двоеточие) использовать перенос строк

Ответом на задание будет число комбинаций для параметров (9,7,5)

Впишите ответ в текстовое поле числом
🤡2515👍4👎3🔥3
Решение задания 4

Такой нехитрый код выдает ChatGPT, надо было убедиться что он +- правильный, и порядок чисел адекватен задаче

В бесплатном google colab он выполняется 5-12 мин (скрин)


from functools import lru_cache
from itertools import product

def solve(w, h, k):
# все допустимые столбцы (нет k нулей подряд)
def valid(col):
run = 0
for c in col:
run = run + 1 if c == 0 else 0
if run == k:
return False
return True

cols = [tuple(c) for c in product((0, 1), repeat=h) if valid(c)]

@lru_cache(None)
def step(state, left, blacks):
if left == 0:
return 1 if blacks < w * h / 3 else 0
total = 0
for col in cols:
new_state = []
bad = False
for s, c in zip(state, col):
if c == 1:
new_state.append(0)
else:
if s + 1 == k:
bad = True
break
new_state.append(s + 1)
if not bad:
total += step(tuple(new_state), left - 1, blacks + sum(col))
return total

return step(tuple([0] * h), w, 0)


Ответ: 15380325371261

Но на это число llm могут выйти и без кода (второй скрин)

Дальше расскажу статистику вступительных, почему задания такие, что они проверяли, по какому принципу и как осуществлялся набор -- в тч решения и мотивационные
130👎14🔥9🥴8💊3👍2
Про задания и статистику // часть 1 // (!) лонгрид

Начнем с данных, коль мы учим их анализу.

Нужно было отобрать 50 студентов и 30 для слушателей

Итак, наша воронка:
4200+ заявок (повторно уточнил у коллег)
Около 2000 мотивационных писем получено
1950 кандидатов начало тестирование
1541 завершило тестирование

24 чел решило 3 задачи — все они получили приглашение в студенты (студенты == участники), однако их мотивационные были прочитаны несколькими живыми людьми

143 чел решили ровно 2 задачи
489 человек решили одну задачу

Среди этих 143 двузадачников по сути и развернулся конкурс на оставшиеся 26 мест студентов и 30 мест слушателей
Они были отсортированы по убыванию баллов за мотивационное (баллы, как и ранее, проставляла модель), а затем их решения и мотивационные проверялись вручную.
Чем помогала сортировка? Тем кто в начале доставались менее уставшие проверяющие.

Если решения не было прикреплено (мб у кого-то интернет на последних секундах лагнул) — то Алина (святой человек) искала отправленное решение по чатам / почтам.

Самое сложное — проверка решения, в нем определялось:

— Если задача не решена — верно ли рассуждал кандидат и насколько близок был к решению. Это работало как в плюс (могли дозачесть задачу) так и в минус (грубые ошибки в рассуждениях / логике / базе вели к минус баллу)
— Если задача решена — проверялась логика решения — снова — как «в плюс», так и в другую сторону. Детальное, проработанное, аккуратное и читаемое (даже рукописное, а таких было много) решение конечно же выигрывало. Но
нередко куски LLM-решений копировались «как есть» и противоречили друг другу в одной задаче — такой подход работал в минус.

Киллер-фичей было почти верное решение первой задачи (ниже станет понятно почему)

В нескольких случаях «при прочих равных» решало мотивационное письмо.

Теперь статистика по задачам (число указавших верный ответ с учетом незавершенных сессий):

— 1 задача — 4 кандидата
— 2 задача — 393 кандидата
— 3 задача — 248 кандидатов
— 4 задача — 168 кандидатов

Итого, успешные кандидаты:

— Смогли распределить свое время — это будет важно в процессе, потому что домашки + проекты + у многих работа / учеба
— Смогли понять решение LLM и перепроверить его, соотнести ответ со здравым смыслом (а у кого-то в певрой задаче вероятность получить подделку после изменения условий росла, у кого-то почти не менялась — и я сейчас не про кейсы когда дробь при ответе перевернули). Это пригодится при выполнении проектов — вы будете работать с реальной командой над реальной и актуальной бизнес-задачей — и надо быть готовым понять бизнес-постановку и ожидания от результата
— Не бросили на полпути — а порой бывает тяжело и наша задача чтобы вопрос «а зачем я здесь» возник не во время учебы, а раньше
— Мотивационное писали прямо и честно vs социально-ожидаемых ответов
— Судя по чату участников и слушателей — большинство из них правда любит решать нестандартные задачи и думать — а по моим наблюдениям, у такого увлечения есть очень четкая корреляция с удовольствием от нашей работы и , как следствие, успехом в профессии.
— Даже те, кто не фанат запутанных задачек — продемонстрировали навык, который у нас называется «самостоятельность», а в западной литературе — problem solving — в стремительно меняющейся отрасли DS/ML/AI постоянно что-то будет не работать / ломаться.

Про сами задачи и альтернативные подходы (прокторинг, блиц из 90 классических вопросов за 30 минут, оффлайн собеседования во всех регионах необъятной и тд), и с чем мы сталкивались при наборе в прошлом и позапрошлом годах -- сделаю отдельный пост-обсуждение.

А пока поздравлю наших новых участников и слушателей с поступлением 🥂

PS Источник картинки
243🍾20🎉12💊9🔥6😡31👎1
Обещанный холиварный пост про задачи и цель отбора

В первом наборе ШАД МТС, если не ошибаюсь, был только блиц — 30 минут на 90 похожих заданий.

Как такое ломается? Общагой. Группа из 4-5 студентов-технарей решает такие задания на изи с запасом по времени.
Вместо студентов-технарей могут быть просто приятели с LLM.

Да и решение задачек на скорость — сомнительная дисциплина, которая в работе скорее мешает, имхо.

Предыдущие два набора вступительные испытания состояли из мотивационного письма (большинство вопросов были теми же), и блока из 30ти вопросов по статистике, математике, чуть Python, чуть SQL, пара задачек на оценку алгоритмической сложности.

Что здесь не так?

1. Например то, что мы потом в том числе этому же учим, на что нам справедливо несколько раз указали наши студенты.
2. А еще что из-за огромного конкурса кандидатов с оценками ниже 29/30 мы не рассматривали. И даже в этой страте приходилось делать выбор по мотивационному — потому что кроме теста других сигналов о знаниях и навыке рассуждать и находить решение — у нас просто не было. Потому вы наверняка видели в поступательных чатах популярное мнение что для поступления в МТС ШАД хватает только мотивационного. Кто бы мог подумать что их тоже пишут LLM
3. А еще такие задания легко решаются с другом и LLMкой: скриншотите (а еще лучше делаете фото на телефон) вторые 15 вопросов и отдаете их другу с LLM на решение. Сами с со своей LLM решаете первые 15. Вопросы простые, на совсем базу, потому LLM без труда справляются.

Этого оказалось достаточно чтобы практику изменить — увеличить время на тест вчетверо и сделать задания, которые не берутся «в лоб» LLM и требуют рассуждений и внимательности, оставив возможность тем, кто уже обладает знаниями в статистике / алгоритмах их проявить:

В первой задаче речь шла о таких понятиях как:
⁃ Формула полной вероятности
⁃ Теорема Байеса
⁃ Корреляции признаков
⁃ Таблица совместных и условных вероятностей
⁃ Согласованность вероятностей
⁃ Независимость испытаний
⁃ Правило Джеффри
Достаточно было попросить LLM их использовать в решении

Во второй нужно было сделать всего четыре шага:
⁃ Применить простейший (ему тысячи лет) шифр
⁃ Вставить результат в любой онлайн-переводчик
⁃ Решить задачу самому (напомню, что она из пособия для начальной школы) или проверить решение LLM (здесь многие провалились)
⁃ Внимательно выбрать ответ с учетом «наоборот»

В третьей нужно было сделать пять шагов и чуть-чуть проявить ИТ-кругозор на уровне школьных уроков информатики
⁃ Соотнести языки и числа из присказки, понять что речь об используемых алфавитах — необязательный шаг, но снижающий неопределенность
⁃ Вставить три текста в онлайн-переводчик
⁃ Получить для второго и третьего текста 0 и 255
⁃ Соотнести варианты ответов с тройками вида (R,G,B) где числа от 0 до 255
⁃ Перебрать варианты ответов и найти что для (G,B) = (0,255) подходит только фуксия

В четвертой речь шла прежде всего о
⁃ Асимптотической сложности алгоритмов
⁃ Тестировании кода

В любом случае, если есть идеи по заданиям на следующий год — велком в комментарии, только чур учитывать что мультимодальные reasoning-модели за год станут еще сильнее.

Какие остаются варианты по формату:

1. Классический онлайн-экзамен, но с прокторингом (трекаются переключения вкладок, копипастинг и пр — и кандидаты, замечание в таком — банятся) // ВУЗы подсказывают что не очень спасает и смекалистые абитуриенты легко обходят такие системы
2. Онлайн-собеседования // 2000 собеседований по математике? Сложно в организации (даже согласовать время с каждым кандидатом), не ясно как снизить зависимость результата от конкретного собеседующего, очень дорого. Кажется, что будет много апелляций на субъективность экзаменаторов.
3. Классический офлайн-экзамен с контролем как ЕГЭ // еще сложнее чем предыдущий пункт

Мб есть что-то еще?

Поделитесь конструктивом в комментариях, судя по комментариям и реакциям под постами выше — знающие люди среди нас точно есть
🔥23👍107👎5🥴5🖕2💊2💯1🙈1
#кейсы #ML

Про гороскопы в ML

2.5 — 5 трлн 😱 рублей в год — оценивается российский рынок эзотерических услуг.
Обращающихся к магам, гадалкам, таролагам, бабкам-шептуньям и экстрасенсам — многие миллионы наших сограждан.

Очевидно, есть среди них и манагеры.

В старинные времена, когда модели в банках делались на SASе, внушавшая ужас и трепет директриса одного из департаментов приперла начальника DSов к стенке вопросом:

Как в скоринговых моделях используются знаки Зодиака?


Поскольку отшутиться не вышло, срочно был затребован «самый опытный синьор» которому было поручено в кратчайшие сроки такую фичу в модели PD добавить.
Вот только в Банках часто есть отдел / управление валидации, которые в прод не пропустят модель с незначимой фичей.

На следующий день бодрый синьор пришел к директрисе с докладом что «гороскоп не работает».

В ответ узнал о себе много нового.

В канале мы не раз разбирали насколько для успеха критичны знания в доменной области, а он ими обладал примерно на уровне картинки, которую GPT нарисовал к посту.

Что было вскрыто прямыми вопросами вроде «сколько у нас асцендентных Дев в департаменте?» и «у какого числа клиентов шестой дом в Водолее?». ♋️♉️♐️♏️♍️♌️♈️♉️♑️♒️♓️

Покрытый позором, синьор ушел ботать матчасть, перепроверять куда как больше фичей — к Зодиаку добавил еще и восточный гороскоп, а заодно и нумерологию.

Дедлайн был совсем близко, и одна из последних фичей — нумерологическая, сработала. Хорошо так сработала!

Разгадка пришла через несколько дней, после анализа всех доступных числовых полей по апликантам.

В те годы важным полем в заявке на кредит был рабочий телефон — и вписать можно было только городской.
А что делать тем, у кого нет работы?
Особенно если в других полях заявитель указал что работа у него есть, ООО «
Лабеан», например? (Про такие названия компаний есть пост для любителей)
МГТС же не продаст просто номер, он должен быть подключен по адресу.
А вот
Манго (совершенно законно, кстати) продаст.
Вот только номера эти будут из одного пула, и, возможно, короткоживующие.
То есть одним номером воспользуются многие аппликанты.


По итогам Банк прикрыл значимый канал фрода, перестав терять кучу денег.

Как говорила одна прожженная каналья-манагер в таких случаях: «счет на табло!».

Btw, даже самые странные идеи могут если не нести рациональное зерно — то к нему вести.

PS Что думаете про использование психотипов и соционики в моделях? А мб MBTI?
😁32🔥167🙈5👏1🤯1
Кто сильнее и круче?
Шварценеггер или Сталлоне?
Брюс Ли или Чак Норрис?

#ML
Такими вопросами мы задавались в начальной школе.

А в начале карьеры вопросы были похожие:

Воронцов или Дьяконов?


К счастью, пару лет назад мне довелось поработать с Александром Геннадиевичем, хотя для себя я все решил задолго до того.

Единственное, о чем жалею — не вставили в анонс его замечательный канал Small Data Science …

Ждем всех (не только студентов) в четверг в Вышке!

PS: Кадр из фильма "Путь Дракона" -- советую тем, кто не знает ответ на второй вопрос 😄
🔥13😁6