Forwarded from MOEX - Московская биржа
Мероприятие проводилось с 5 октября по 21 декабря. Участники должны были достичь максимальной доходности, используя инструменты фондового и срочного рынков Московской биржи.
В карточках показываем факты о прошедшем ЛЧИ и его итоги. Доходности, стартовые суммы и сделки каждого участника размещены по ссылке.
Поздравляем победителей!
Пресс-релиз на сайте Московской биржи
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥1
#programming #perfection #decisionmaking
Бывает, хочешь закодить всё грамотно, сразу с учётом будущего роста функциональности, продумываешь архитектуру, варианты использования решения, но проект затягивается, накапливается усталость, теряется интерес. В таких случаях, как обнаружил по своему опыту, лучше отложить попытки улучшательства на будущее и вывести в бой хотя бы минимально рабочую версию, которая уже будет решать бизнес-задачу лучше, чем решалось до неё.
Так у меня было с ансамблированием в самописной системе mlops: я добавил простые ансамбли, стал добавлять стэкинг, там возникли сложности с оверфитом, я увидел, что процесс затягивается, ну и зарелизил хотя бы простые ансамбли. И вот уже полгода пользуюсь, и это приносит пользу. А иначе бы застрял неизвестно насколько.
Так и сейчас с отборщиком признаков, Диогеном. Модуль wrappers потребовал решать задачу одномерной целочисленной оптимизации, я сначала потестил распространённые пакеты типа optuna/skopt/hyperopt, потом написал свой модуль с реализациями гауссова процесса и прям совсем своей идеей, квантильной регрессией+эвристиками. И вот уже 2 месяца я туплю с этим модулем. Работает он по виду хорошо, но до тестирования и уж тем более до реального внедрения никак не доведу.
И вот смотрю я на свои задачи по этому модулю: то мне статические графики не нравятся в matplotlib и я хочу пределать в живые plotly, то мне не нравится, что оптимизатор не поддерживает категориальные входы и вообще множественные входы, и я хочу переделать структуры данных. То я придрался, что сортировки там неоптимальны, хотя по итогам профилирования они ни на что не влияют. А так как в планах создание своего полноценного оптимизатора гиперпараметров, однобокость текущей версии вносит когнитивынй диссонанс и не позволяет продвигаться работе - думаю над оптимальным способом унификации и прочими философскими вещами, в то время как у меня есть прямо сейчас реальные ML проекты, которым очень нужен хороший feature selector.
Ну и вот сегодня додумался, это же как раз тот случай, когда надо выводить в бой уже написанное решение, и не тупить над бесконечными улучшениями ) Завидую я, в общем, программистам, которые с лёгким сердцем особо не думая могут херак, херак, и в production. Так что не затягивайте проекты, релизьте вовремя.
Бывает, хочешь закодить всё грамотно, сразу с учётом будущего роста функциональности, продумываешь архитектуру, варианты использования решения, но проект затягивается, накапливается усталость, теряется интерес. В таких случаях, как обнаружил по своему опыту, лучше отложить попытки улучшательства на будущее и вывести в бой хотя бы минимально рабочую версию, которая уже будет решать бизнес-задачу лучше, чем решалось до неё.
Так у меня было с ансамблированием в самописной системе mlops: я добавил простые ансамбли, стал добавлять стэкинг, там возникли сложности с оверфитом, я увидел, что процесс затягивается, ну и зарелизил хотя бы простые ансамбли. И вот уже полгода пользуюсь, и это приносит пользу. А иначе бы застрял неизвестно насколько.
Так и сейчас с отборщиком признаков, Диогеном. Модуль wrappers потребовал решать задачу одномерной целочисленной оптимизации, я сначала потестил распространённые пакеты типа optuna/skopt/hyperopt, потом написал свой модуль с реализациями гауссова процесса и прям совсем своей идеей, квантильной регрессией+эвристиками. И вот уже 2 месяца я туплю с этим модулем. Работает он по виду хорошо, но до тестирования и уж тем более до реального внедрения никак не доведу.
И вот смотрю я на свои задачи по этому модулю: то мне статические графики не нравятся в matplotlib и я хочу пределать в живые plotly, то мне не нравится, что оптимизатор не поддерживает категориальные входы и вообще множественные входы, и я хочу переделать структуры данных. То я придрался, что сортировки там неоптимальны, хотя по итогам профилирования они ни на что не влияют. А так как в планах создание своего полноценного оптимизатора гиперпараметров, однобокость текущей версии вносит когнитивынй диссонанс и не позволяет продвигаться работе - думаю над оптимальным способом унификации и прочими философскими вещами, в то время как у меня есть прямо сейчас реальные ML проекты, которым очень нужен хороший feature selector.
Ну и вот сегодня додумался, это же как раз тот случай, когда надо выводить в бой уже написанное решение, и не тупить над бесконечными улучшениями ) Завидую я, в общем, программистам, которые с лёгким сердцем особо не думая могут херак, херак, и в production. Так что не затягивайте проекты, релизьте вовремя.
👍1
#music #69eyes
Cops never get me,
Drugs never get me,
Fuckups never hit me
If you love me
всем хорошего настроения! )
https://www.youtube.com/watch?v=QTw4UXgyfNQ
Cops never get me,
Drugs never get me,
Fuckups never hit me
If you love me
всем хорошего настроения! )
https://www.youtube.com/watch?v=QTw4UXgyfNQ
YouTube
Never
Provided to YouTube by Nuclear Blast
Never · The 69 Eyes · Jyrki Pekka Emil Linnankivi · Timo Tapio Pitkaenen · Pasi Antero Moilanen · Johnny Lee Michaels · Jyrki Pekka Emil Linnankivi
Universal Monsters
℗ 2016 Nuclear Blast
Released on: 2016-04-22
Auto…
Never · The 69 Eyes · Jyrki Pekka Emil Linnankivi · Timo Tapio Pitkaenen · Pasi Antero Moilanen · Johnny Lee Michaels · Jyrki Pekka Emil Linnankivi
Universal Monsters
℗ 2016 Nuclear Blast
Released on: 2016-04-22
Auto…
Forwarded from Игорь, начинайте работу
Теперь понятно, почему вакансии у HR закрываются с трудом.
❤2
#astronomy #starship #musk
"Маск подтвердил, что готов уничтожить ещё несколько ракет, если это ускорит ввод Starship в эксплуатацию. «Всегда лучше пожертвовать оборудованием, чем временем. Время, так сказать, — единственная настоящая валюта», — добавил бизнесмен.
В ходе третьего испытательного полёта SpaceX намеревается произвести запуск двигателей Starship и успешно вернуть корабль с орбиты. Компания также хочет провести первые испытания технологии перекачки топлива, проверить люк полезной нагрузки и механизм развёртывания спутников Starlink. Полёт запланирован на февраль — сейчас ожидается разрешение Федерального управления гражданской авиации США (FAA)."
https://3dnews.ru/1098726/ilon-mask-raskril-prichinu-vzriva-vtorogo-starship-on-okazalsya-slishkom-lyogkim
"Маск подтвердил, что готов уничтожить ещё несколько ракет, если это ускорит ввод Starship в эксплуатацию. «Всегда лучше пожертвовать оборудованием, чем временем. Время, так сказать, — единственная настоящая валюта», — добавил бизнесмен.
В ходе третьего испытательного полёта SpaceX намеревается произвести запуск двигателей Starship и успешно вернуть корабль с орбиты. Компания также хочет провести первые испытания технологии перекачки топлива, проверить люк полезной нагрузки и механизм развёртывания спутников Starlink. Полёт запланирован на февраль — сейчас ожидается разрешение Федерального управления гражданской авиации США (FAA)."
https://3dnews.ru/1098726/ilon-mask-raskril-prichinu-vzriva-vtorogo-starship-on-okazalsya-slishkom-lyogkim
3DNews - Daily Digital Digest
Илон Маск раскрыл причину взрыва второго Starship — корабль оказался слишком лёгким
Глава SpaceX Илон Маск (Elon Musk) раскрыл причину, из-за которой космический корабль Starship взорвался во время второго испытательного полёта и не смог выйти на орбиту.
Минутка английского. Как читается слово indictment (обвинение)?
Anonymous Quiz
34%
Индайтмент
0%
Индэйтмент
42%
Индиктмент
24%
Индикмент
#featureselection #vorontsov
Понравилась эвристика маятника для жадного алгоритма Add-Del. Надо будет реализовать в Диогене.
Также очень интересен полный перебор DFS+отсечение методом ветвей и границ. Они тоже выигрывают от начального упорядочивания факторов по силе связи с таргетом.
Про BFS/МГУА крайне интересно. Вот кто из вас до этого видоса знал про философский принцип неокончательных решений Габора? Я помню, в 2000-х прям этот МГУА и Ивахненко были на слуху. Я тогда не очень понимал, что это вообще, но термин запомнился. Похоже, у Мастерса этот подход называется Forward Selection Preserving Subsets.
В разделе про генетик Константин Вячеславович вообще классно пошутил ) Что-то я вдруг подумал, генетические алгоритмы включают только "положительные" операции: скрещивание, мутация. Но ведь в живой природе популяция регулярно просеивается хищниками, конкурентами, природными катастрофами, в результате которых выживают особи пропорционально их приспособленности. Нет ли смысла в операторе "смерти", который случайным образом берёт микрогруппу особей и убивает 1-2 с наименьшей приспособленностью (ну типа, погнались за стаей зебр львы, 2 самых слабых поймали)?
Кто мне подскажет, математики кайфуют от вставки рукописных букв из неведомых алфавитов, да? ) Чем зло#бучее завитушки птичьего языка, тем страшнее выглядят формулы для непосвящённых, а работа в целом считается профессиональнее? )
https://www.youtube.com/watch?v=n4qKbFd25Sk
Понравилась эвристика маятника для жадного алгоритма Add-Del. Надо будет реализовать в Диогене.
Также очень интересен полный перебор DFS+отсечение методом ветвей и границ. Они тоже выигрывают от начального упорядочивания факторов по силе связи с таргетом.
Про BFS/МГУА крайне интересно. Вот кто из вас до этого видоса знал про философский принцип неокончательных решений Габора? Я помню, в 2000-х прям этот МГУА и Ивахненко были на слуху. Я тогда не очень понимал, что это вообще, но термин запомнился. Похоже, у Мастерса этот подход называется Forward Selection Preserving Subsets.
В разделе про генетик Константин Вячеславович вообще классно пошутил ) Что-то я вдруг подумал, генетические алгоритмы включают только "положительные" операции: скрещивание, мутация. Но ведь в живой природе популяция регулярно просеивается хищниками, конкурентами, природными катастрофами, в результате которых выживают особи пропорционально их приспособленности. Нет ли смысла в операторе "смерти", который случайным образом берёт микрогруппу особей и убивает 1-2 с наименьшей приспособленностью (ну типа, погнались за стаей зебр львы, 2 самых слабых поймали)?
Кто мне подскажет, математики кайфуют от вставки рукописных букв из неведомых алфавитов, да? ) Чем зло#бучее завитушки птичьего языка, тем страшнее выглядят формулы для непосвящённых, а работа в целом считается профессиональнее? )
https://www.youtube.com/watch?v=n4qKbFd25Sk
YouTube
017. Методы отбора признаков. Отбор признаков - К. В. Воронцов
Курс "Машинное обучение"
🤩1
#ui #gmail #google
В очередной раз заметил, как же по-конченому сделана работа с письмами в веб-интерфейсе gmail. По умолчанию у них включается conversation view, который не просто показывает всю цепочку переписки с адресатом (что было бы удобно), но и за каким-то лешим при ответе цитирует вообще всю историю переписки с данным адресатом. Причём удалить цитирование невозможно. И эти полотна текста реально туда-сюда отсылаются. Найти, где эта херня отключается - задача не из простых. Что это, тупость, безразличие, или саботаж разработчиков?
В очередной раз заметил, как же по-конченому сделана работа с письмами в веб-интерфейсе gmail. По умолчанию у них включается conversation view, который не просто показывает всю цепочку переписки с адресатом (что было бы удобно), но и за каким-то лешим при ответе цитирует вообще всю историю переписки с данным адресатом. Причём удалить цитирование невозможно. И эти полотна текста реально туда-сюда отсылаются. Найти, где эта херня отключается - задача не из простых. Что это, тупость, безразличие, или саботаж разработчиков?
#ai #handwriting #ocr
"Команде специалистов Университета искусственного интеллекта имени Мухаммеда бен Заида в ОАЭ, как сообщает Bloomberg, уже удалось создать профильную нейросеть и опробовать её в деле. Эту разработку авторам даже удалось запатентовать в юрисдикции США. Пока использование данной нейросети сторонними клиентами не подразумевается, и авторы разработки уже выражают опасения по поводу способности недобросовестных пользователей применять её во вред обществу.
Прежде чем этот инструмент начнёт распространяться, по мнению разработчиков, необходимо создать защитные механизмы, предотвращающие его некорректное с этической точки зрения применение. «Это всё равно что создать антивирус для вируса», — пояснили представители университета. Подобные соображения не мешают создателям нейросети планировать её коммерческое применение в течение ближайших месяцев, они уже ищут партнёров для реализации сопутствующего потенциала данной технологии. Помимо прочего, такая система могла бы распознавать рукописный текст — например, для обработки записей в историях болезни пациентов. На генерируемых нейросетью рукописях можно было бы обучать другие подобные системы. Пока нейросеть способна распознавать и генерировать рукописный текст на английском и французском языках, но в перспективе разработчики хотели бы добавить к ним и арабский."
https://3dnews.ru/1098802/iskusstvenniy-intellekt-skoro-smoget-pravdopodobno-imitirovat-pocherk-cheloveka
"Команде специалистов Университета искусственного интеллекта имени Мухаммеда бен Заида в ОАЭ, как сообщает Bloomberg, уже удалось создать профильную нейросеть и опробовать её в деле. Эту разработку авторам даже удалось запатентовать в юрисдикции США. Пока использование данной нейросети сторонними клиентами не подразумевается, и авторы разработки уже выражают опасения по поводу способности недобросовестных пользователей применять её во вред обществу.
Прежде чем этот инструмент начнёт распространяться, по мнению разработчиков, необходимо создать защитные механизмы, предотвращающие его некорректное с этической точки зрения применение. «Это всё равно что создать антивирус для вируса», — пояснили представители университета. Подобные соображения не мешают создателям нейросети планировать её коммерческое применение в течение ближайших месяцев, они уже ищут партнёров для реализации сопутствующего потенциала данной технологии. Помимо прочего, такая система могла бы распознавать рукописный текст — например, для обработки записей в историях болезни пациентов. На генерируемых нейросетью рукописях можно было бы обучать другие подобные системы. Пока нейросеть способна распознавать и генерировать рукописный текст на английском и французском языках, но в перспективе разработчики хотели бы добавить к ним и арабский."
https://3dnews.ru/1098802/iskusstvenniy-intellekt-skoro-smoget-pravdopodobno-imitirovat-pocherk-cheloveka
3DNews - Daily Digital Digest
Искусственный интеллект скоро сможет правдоподобно имитировать почерк человека
Уже сейчас нейросети способны правдоподобно воссоздавать голос человека и имитировать его мимику в соответствии с якобы произносимым текстом. Как считают учёные, вскоре искусственному интеллекту будут по плечу и задачи правдоподобного воспроизведения почерка…
✍3
#featureselection #hpo #hpt #global #optimization #mbho
Недавно я начал тестирование библиотек глобальной оптимизации для одномерной задачи отбора признаков.
Сформировал датасет, проверил самые известные в ds тусовке optuna, skopt, hyperopt (см. по тэгу #featureselection).
Ну и, наконец, представляю своей алгоритм. Назван он Model-based heuristic optimization (MBHO), и по сути похож на байесовскую оптимизацию гауссовым процессом.
Только гауссов процесс я заменил на более универсальный бустинг (опционально с квантилями), а поиск кандидатов ведётся вместо Expected Improvement, Probability of improvement, Upper Confidence Bound такими достаточно простыми эвристиками:
1) на каждом шаге с опр. вероятностью выбирается режим, exploration или exploitation
2) в exploration мы рекомендуем проверить самые неисследованные точки - лежащие дальше всего от уже проверенных, + имеющие самую высокую неопределённость в случае использования квантилей
3) в exploitation режиме мы строим для всей области поиска прогноз, и исследуем точку с самым высоким прогнозом. если такая уже проверена, дополнительно учитываем расстояния от уже проверенных точек и неопределённости.
4) есть ещё несколько мелких опций
Почему гауссов процесс меня не устроил? Да он тупо зачастую плохо приближает данные, и качество решения, как следствие, отвратительное (пример будет в комментах). + долго работает.
Какие есть ещё фишки:
1) закодил 4 метода определения "затравочных" кандидатов, Random, Equidistant, Fibonacci, ReversedFibonacci. В какой-то мере это аналоги soblo/lhe и прочего из skopt.
2) есть возможность строить визуализацию поиска. видно, какие точки уже проверены, как к ним фиттится модель и какие даёт прогнозы, как рассчиталась перспективность каждого кандидата в зависимости от настроек, и какой кандидат в итоге выбран.
К результатам. В бенче я в основном смотрел на процент случаев, когда оптимизатор нашёл истинный максимум.
Для 20 итераций лидером была - optuna/tpe с 69%, для 50 - hyperopt/atpe с 81%. skopt этих показателей не смог превысить.
Показатели моего MBHO: 20 итераций - 70%, 50 итераций - 100%. По времени медленнее оптуны, но быстрее hyperopt/skopt. То есть моё решение победило 3 известные либы оптимизации в одномерном случае.
Да, можно возразить, что я заточил алгоритм под свои конкретные задачи, или вообще старался выставить оппонентов в невыгодном свете, но
1) старался возможности конкурентов исследовать по-полной
2) у них же тоже было тестирование на профильных задачах, им никто не мешал тоже тестироваться на одномерном случае
3) у моего алгоритма достаточно много параметров, и он как раз-таки остаётся недоисследованным. все вычисления я провёл навскидку с просто "разумными" значениями, наверняка можно натюнить лучшее время работы и точность.
Ну и моя основная мотивация, зачем я всё это начинал: в предварительном тестировании встроенные важности признаков бустингов себя хорошо показали, FS по таким важностям разумно делать только с RFECV, но в sklearn RFECV делает полный перебор (да и не работает с категориями), а на практике у меня десятки тысяч признаков и большие датасеты.
Получается, благодаря новому MBHO оптимизатору я смогу просчитывать лишь небольшой % от признаков и при этом находить глобально оптимальные сочетания.
В комментах картинки. Лучшим методом инициализации оказался эквидистантный (что в принципе логично, позволяет получить максимум информации). И что особенно интересно, наличие оценки неопределённости с помощью квантильной регрессии не супер важно - да, улучшает результат, но эвристика с расстояниями работает и сама по себе хорошо.
Реализация MBHO заняла ~700 строк кода, поддерживается максимизация и минимизация (в отличие от hyperopt, где надо извращаться с негацией функции). Правда, нет асинхронности и многопоточности.
Недавно я начал тестирование библиотек глобальной оптимизации для одномерной задачи отбора признаков.
Сформировал датасет, проверил самые известные в ds тусовке optuna, skopt, hyperopt (см. по тэгу #featureselection).
Ну и, наконец, представляю своей алгоритм. Назван он Model-based heuristic optimization (MBHO), и по сути похож на байесовскую оптимизацию гауссовым процессом.
Только гауссов процесс я заменил на более универсальный бустинг (опционально с квантилями), а поиск кандидатов ведётся вместо Expected Improvement, Probability of improvement, Upper Confidence Bound такими достаточно простыми эвристиками:
1) на каждом шаге с опр. вероятностью выбирается режим, exploration или exploitation
2) в exploration мы рекомендуем проверить самые неисследованные точки - лежащие дальше всего от уже проверенных, + имеющие самую высокую неопределённость в случае использования квантилей
3) в exploitation режиме мы строим для всей области поиска прогноз, и исследуем точку с самым высоким прогнозом. если такая уже проверена, дополнительно учитываем расстояния от уже проверенных точек и неопределённости.
4) есть ещё несколько мелких опций
Почему гауссов процесс меня не устроил? Да он тупо зачастую плохо приближает данные, и качество решения, как следствие, отвратительное (пример будет в комментах). + долго работает.
Какие есть ещё фишки:
1) закодил 4 метода определения "затравочных" кандидатов, Random, Equidistant, Fibonacci, ReversedFibonacci. В какой-то мере это аналоги soblo/lhe и прочего из skopt.
2) есть возможность строить визуализацию поиска. видно, какие точки уже проверены, как к ним фиттится модель и какие даёт прогнозы, как рассчиталась перспективность каждого кандидата в зависимости от настроек, и какой кандидат в итоге выбран.
К результатам. В бенче я в основном смотрел на процент случаев, когда оптимизатор нашёл истинный максимум.
Для 20 итераций лидером была - optuna/tpe с 69%, для 50 - hyperopt/atpe с 81%. skopt этих показателей не смог превысить.
Показатели моего MBHO: 20 итераций - 70%, 50 итераций - 100%. По времени медленнее оптуны, но быстрее hyperopt/skopt. То есть моё решение победило 3 известные либы оптимизации в одномерном случае.
Да, можно возразить, что я заточил алгоритм под свои конкретные задачи, или вообще старался выставить оппонентов в невыгодном свете, но
1) старался возможности конкурентов исследовать по-полной
2) у них же тоже было тестирование на профильных задачах, им никто не мешал тоже тестироваться на одномерном случае
3) у моего алгоритма достаточно много параметров, и он как раз-таки остаётся недоисследованным. все вычисления я провёл навскидку с просто "разумными" значениями, наверняка можно натюнить лучшее время работы и точность.
Ну и моя основная мотивация, зачем я всё это начинал: в предварительном тестировании встроенные важности признаков бустингов себя хорошо показали, FS по таким важностям разумно делать только с RFECV, но в sklearn RFECV делает полный перебор (да и не работает с категориями), а на практике у меня десятки тысяч признаков и большие датасеты.
Получается, благодаря новому MBHO оптимизатору я смогу просчитывать лишь небольшой % от признаков и при этом находить глобально оптимальные сочетания.
В комментах картинки. Лучшим методом инициализации оказался эквидистантный (что в принципе логично, позволяет получить максимум информации). И что особенно интересно, наличие оценки неопределённости с помощью квантильной регрессии не супер важно - да, улучшает результат, но эвристика с расстояниями работает и сама по себе хорошо.
Реализация MBHO заняла ~700 строк кода, поддерживается максимизация и минимизация (в отличие от hyperopt, где надо извращаться с негацией функции). Правда, нет асинхронности и многопоточности.
🔥5
Forwarded from asisakov
Готовил для вас материал по PSI и VIF. И нашел интересную статью с валидацией ML моделей. Решил немного ее пересказать и добавить свое видение.
Для чего нужна валидация модели - максимально снизить модельный риск (вероятность полученияя недостоверных прогнозов, несоответствие заявленным метрикам, банальное устаревание моделей или неправильный вывод в прод).
А почему нам недостаточно простой оценки на отложенных выборках?
1. Распределение данных может кардинально измениться от того,что было на тренировке (например, статистически значимо изменилась доля целевых случаев)
2. Оценкой общих метрик работы модели невозможно оценить изменение отдельных входных признаков, их релевантность модели. Также сложно хочется видеть результаты на корнер-кейсах.
3. Есть вероятность попадания в финальный список фичей признака, не соответствующего логике бизнеса.
Что же нам важно оценивать на валидации?
1. В принципе скор модели и его стабильность. Он не должен быть ниже (выше) определенного порога, и при этом должен быть стабильным нна разных выборках (TRAIN, OUT-OF-SAMPLE, OUT-OF-TIME)
2. Стабильность признаков. Здесь как раз и применяется критерий PSI для поиска таких моментов, чтобы у нас вдруг фичи на трейне и OOT не отличались своим распределением. Иначе модель училась на одних входах, а предсказывает на других.
3. Калибровка вероятностей на выходе моделей. Буквально можно сформулировать как: mean(y') ~ mean(y). Нужно для понимания того, что модель в среднем формирует те же вероятности наступления целевых событий
4. В статье еще написано про Концентрацию. Это очень близко к пункту с калибровкой, поэтому я бы этот пункт переформулировал это как некоторый баланс по попаданию в бакеты по вероятностям.
Ещё можно добавить посегментный анализ предиктов модели, но это не обязательно для валидации, хотя очень важно для аналитики.
Там внутри есть классная табличка по тестам.
Это были количественные тесты. Существуют ещё качественные, которые связаны с разработкой именно модели. Тут условно валидатору надо попробовать опровергнуть дизайн модели и вообще ее обучение и выбор признаков, но при этом предложить лучший подход на тех же данных. Если это удаётся, то модель возвращают в разработку. Если нет, то считайте модель прошла валидацию (очевидно, что это не гарантирует наилучший результат). Помимо этого конечно же должна быть качественная документация и воспроизводимость обучения модели.
Интересно описан подход с Model Performance Predictor, однако я особо эти штуки не делал, хотя по логике это примерно как дополнительно обучить модель GARCH, чтобы оценить волатильность метрик в будущем.
В заключение есть хорошая табличка с типами тестов, применимых для валидации.
В целом, статья неплохая
#ml
Для чего нужна валидация модели - максимально снизить модельный риск (вероятность полученияя недостоверных прогнозов, несоответствие заявленным метрикам, банальное устаревание моделей или неправильный вывод в прод).
А почему нам недостаточно простой оценки на отложенных выборках?
1. Распределение данных может кардинально измениться от того,что было на тренировке (например, статистически значимо изменилась доля целевых случаев)
2. Оценкой общих метрик работы модели невозможно оценить изменение отдельных входных признаков, их релевантность модели. Также сложно хочется видеть результаты на корнер-кейсах.
3. Есть вероятность попадания в финальный список фичей признака, не соответствующего логике бизнеса.
Что же нам важно оценивать на валидации?
1. В принципе скор модели и его стабильность. Он не должен быть ниже (выше) определенного порога, и при этом должен быть стабильным нна разных выборках (TRAIN, OUT-OF-SAMPLE, OUT-OF-TIME)
2. Стабильность признаков. Здесь как раз и применяется критерий PSI для поиска таких моментов, чтобы у нас вдруг фичи на трейне и OOT не отличались своим распределением. Иначе модель училась на одних входах, а предсказывает на других.
3. Калибровка вероятностей на выходе моделей. Буквально можно сформулировать как: mean(y') ~ mean(y). Нужно для понимания того, что модель в среднем формирует те же вероятности наступления целевых событий
4. В статье еще написано про Концентрацию. Это очень близко к пункту с калибровкой, поэтому я бы этот пункт переформулировал это как некоторый баланс по попаданию в бакеты по вероятностям.
Ещё можно добавить посегментный анализ предиктов модели, но это не обязательно для валидации, хотя очень важно для аналитики.
Там внутри есть классная табличка по тестам.
Это были количественные тесты. Существуют ещё качественные, которые связаны с разработкой именно модели. Тут условно валидатору надо попробовать опровергнуть дизайн модели и вообще ее обучение и выбор признаков, но при этом предложить лучший подход на тех же данных. Если это удаётся, то модель возвращают в разработку. Если нет, то считайте модель прошла валидацию (очевидно, что это не гарантирует наилучший результат). Помимо этого конечно же должна быть качественная документация и воспроизводимость обучения модели.
Интересно описан подход с Model Performance Predictor, однако я особо эти штуки не делал, хотя по логике это примерно как дополнительно обучить модель GARCH, чтобы оценить волатильность метрик в будущем.
В заключение есть хорошая табличка с типами тестов, применимых для валидации.
В целом, статья неплохая
#ml
#ai #medicine #health #google
"Система под названием Articulate Medical Intelligence Explorer (AMIE) представляет собой большую языковую модель, предназначенную для сбора медицинских данных и ведения клинических бесед. AMIE разработана, чтобы анализировать предлагаемые пациентами симптомы, задавать дополнительные вопросы и прогнозировать диагнозы.
В ходе тестирования были выбраны 20 добровольцев, играющих роль пациентов и якобы страдающих некими заболеваниями, а также 20 профессиональных врачей — специалистов по первичной медицинской помощи, отвечающих за фактор человеческого контакта. Пациенты не знали, с кем переписывались: с ИИ или настоящими врачами. И их попросили оценить качество взаимодействия вслепую.
В рамках эксперимента были разыграны 149 сценариев, и выяснилось, что пациенты предпочитали общаться с AMIE, а не настоящими врачами. Участники заявили, что чат-бот лучше понял их проблемы и дал более чуткие, ясные и профессиональные ответы. AMIE также более точно диагностировал медицинские проблемы. Но это не значит, что чат-бот оказывает медицинскую помощь эффективнее настоящего врача, пояснили в Google."
https://3dnews.ru/1098896/meditsinskiy-ii-google-okazalsya-chelovechnee-givih-vrachey-no-ne-vsyo-tak-prosto
"Система под названием Articulate Medical Intelligence Explorer (AMIE) представляет собой большую языковую модель, предназначенную для сбора медицинских данных и ведения клинических бесед. AMIE разработана, чтобы анализировать предлагаемые пациентами симптомы, задавать дополнительные вопросы и прогнозировать диагнозы.
В ходе тестирования были выбраны 20 добровольцев, играющих роль пациентов и якобы страдающих некими заболеваниями, а также 20 профессиональных врачей — специалистов по первичной медицинской помощи, отвечающих за фактор человеческого контакта. Пациенты не знали, с кем переписывались: с ИИ или настоящими врачами. И их попросили оценить качество взаимодействия вслепую.
В рамках эксперимента были разыграны 149 сценариев, и выяснилось, что пациенты предпочитали общаться с AMIE, а не настоящими врачами. Участники заявили, что чат-бот лучше понял их проблемы и дал более чуткие, ясные и профессиональные ответы. AMIE также более точно диагностировал медицинские проблемы. Но это не значит, что чат-бот оказывает медицинскую помощь эффективнее настоящего врача, пояснили в Google."
https://3dnews.ru/1098896/meditsinskiy-ii-google-okazalsya-chelovechnee-givih-vrachey-no-ne-vsyo-tak-prosto
3DNews - Daily Digital Digest
Медицинский ИИ Google оказался человечнее живых врачей, но не всё так просто
Google поделилась результатами исследования, в рамках которого установила, что основанный на искусственном интеллекте чат-бот в переписке более эффективно диагностирует медицинские заболевания и более гуманно сообщает о них пациентам, чем настоящие врачи.