Запрети мне псевдолейблить
3.4K subscribers
199 photos
3 files
185 links
Канал о пути к Kaggle competitions (теперь уже) GrandMaster и поте, которым обливаешься в процессе

Последний авторский канал про мл, претендующий на искренность и позволяющий ставить клоунов

Для контакта пишите в сообщения канала, они бесплатные
Download Telegram
Бот лудоман, часть 1

March Mania на то и мания, что вскрывает все человеческие пороки. Вместо того, чтобы надеяться стать лучше всех в этом соревновании, я решил сделать еще большую ставку на правильность своей модели и заставил codex выигрывать и заключать пари.

Несмотря на все апсеты, получилось заработать +15% к депозиту за неделю с помощью Codex и данных об исторических играх университетских команд NCAA.

Беттинг-платформы зарабатывают на спреде вероятностей, занижая выигрышные коэффициенты:
Если команды абсолютно равны и побеждают с вероятностью 50%, то букмейкер никогда не даст коэффициент x2 на победу, скорее всего этот коэффициент для обеих команд будет 1.9-1.95 в зависимости от жадности букмейкера.
Тогда комиссия букмейкера за организацию игры будет (1 - (1.9 * 0.5)) = 0.1 = 10%.

Выставляемые коэффициенты зависят от нескольких факторов, кроме маржи:
1. Предсказания внутренней модели букмейкера. Обычно используется как инициализация для изначальных коэффициентов
2. Объем ставок на каждую из команд. Это условная 'уверенность толпы'. Он считается околоэффективной и лучше отражающей соотношение шансов, в том числе изменения новостей. Для совсем разгромных матчей пари часто просто не заключаются.

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

Базовая идея:
Предсказания турнира NCAA крайне близки к эффективным. За столько лет проведения убито множество датасаентисто-часов в попытки построить оптимальные модели предсказания исхода матчей. Из этого делаем вывод, что условный Raddar notebook можно использовать как 'честный источник вероятностей исходов'. В нем даже калибровка из коробки есть. Если каждый матч- это подбрасывание монетки, то Raddar Notebook выдает честное отношение шансов на исходы.
Тогда можно использовать коэффициенты букмейкера и считать матожидание прибыли от ставки, опираясь на 'честные вероятности исходов'.

Остается еще несколько проблем:
1. Как автоматически подтянуть коэффициенты от букмейкера?
2. Как менеджерить портфолио, чтобы не разориться? Банк имеет конечный размер и у букмейкера есть минимальный размер ставки, так что надо контролировать риск и выстраивать стратегию.
18👍7🔥4🤩2🍌2
Бот лудоман, часть 2

Первая проблема, конечно, решается парсингом. Ходим на условную страницу <здесь могла бы быть реклама вашего букмейкера> и парсим данные раз в час. К сожалению не очень многие букмейкеры дают открытый API, но с помощью кодекса это легко исправить. А вообще мотивация не давать API не очень ясна, ведь сейчас самое время покорять рынок MCP агентов-лудиков.

Вторая проблема решается очень красиво и математично- критерием Келли. Это формула расчета доли банка, которую нужно ставить, основываясь на истинной вероятностной модели исходов. Такой истинной вероятностной моделью считаем раддар-ноутбук. Для критерия доказана асимптотическая математическая оптимальность скорости роста портфеля. Проще говоря, если играть бесконечное число матчей по этой стратегии и у тебя хороший алгоритм предсказания матчей, то в долгосрочной перспективе будешь обгонять все прочие стратегии. Более того, банк будет расти экспоненциально.

К сожалению, в баскетболе не бесконечное число матчей, так что алгоритм для бота следующий:
1. Подтягиваем коэффициенты и матчи, на которые можно ставить. Мапим к ним оценки вероятностей.
2. Для матчей расcчитываем матожидание профита. Если матожидание меньше 10% ставки- отметаем такой матч. Этот костыль нужен потому, что я хоть и верю в несмещенность раддар-ноутбука, но не верю в его абсолютную непогрешимость. Так что нам нужен тот самый, талебовский, запас надежности.
3. Для матчей, которые остались- ищем новости о командах-участниках. Codex гуглит все последние обновления составов/травмы/трансферы и решает, достаточное ли это основание для изменения шансов на победу. Если достаточное- отметаем.
4. Подтягиваем текущий объем банка и на его основе расчитываем оптимальный объем ставки:
(c * p - 1)
—————— = bet_coef.
(c - 1)

Тут с- коэф бука, p- вероятность из нашей модели и bet_coef- доля банка для ставки
5. Ставим. Если мы на этот матч уже ставили и коэффициенты стали еще более выгодными, то расчитываем сколько еще нужно добавить.
Общий банк был ~40к рублей, так что риск хоть и не слишком большой, но эмоциональную вовлеченность генерящий.

Из интересных происшествий и наблюдений:
1. В какой-то момент бот сам себе сломал метчинг имен и поставил на матч, в котором должен был проиграть. На вопрос 'Ты что, просто решил проиграть?' он честно признался, что ошибся и 'уже ничего не исправить'. Пришлось пересчитывать матожидание и учить бота продавать ставки букмейкеру назад, когда математически выгоднее продать, чем гемблить. Считаем по той же формуле, что в пункте 4 и сравниваем с комиссией за продажу. Она обычно фикс в ~10%, так что можем ограничить ненужный риск.
2. Есть наблюдение, что на 'открытии торгов' коэфы наиболее неэффективны и потом постепенно ползут к оптимальному соотношению. Надо будет в следующем году вам количественное исследование сделать.
3. Иногда выгодно ставить на андердога, потому что именно на него появляется наибольший Edge. Это создает небывалое чувство спокойствия- выиграешь либо в рейтинге на каггле, либо получишь денежную компенсацию.
4. Одновременно может быть несколько матчей, на которые можно эффективно заключить пари. Поэтому важно каждый раз подтягивать размер банка, чтобы добавлять денег в зависимости от исходов матчей. Я решил, что убавлять не нужно, потому что исходы параллельных матчей можно считать независимыми, а значит и вероятность резкого банкротства сильно мала.
5. В постанализе я оценил вероятности того, что бот мог потерять деньги и закончить с банком ниже изначального. Вышло довольно неплохо: тотальный шанс закончить в минус был 15%, а внутридневной порог потери денег опустился ниже 20% всего один раз. И именно потому, что было две большие недооценки андердога со стороны 'рынка'.

Опыт интересный, обожаю истории про выигрышь у казино. Кажется за попытками дистанцироваться от ставок на спорт, я попал в сети ставок на алгоритмы.
🔥245🍌2💩11
Еще один гольф вышел
Видимо ускорять/облегчать модели для бенчей мы будем весь этот год
😁3🍌2🔥1🤡1
Следующий год будет последним, когда меня можно будет номинировать в номинацию «киберспортсмены» в форбс 30 до 30
😭42🏆4🍌31
У первого автора TabM есть канал: @simple_it_channel

TabM круто, его там топы кагла оценивали и хвалили, но у меня он не завелся. Расскажите мне плз, какие-нибудь секреты варки TabM?
8🔥51
🚀 Серия соревнований по МЛ и научный проект ! Денежный призовой фонд больше 100 000 р и будет расти ! Кому интересен МЛ/RL или математика или пазлы или роботы.

Приглашаем Вас принять участие в серии челленджей и развитии научного опен-соурс проекта.

Соревнование организуется совместно с учеными лаборатории интеллектуальных технологий робототехники МФТИ, (руководит проектом - Илья Осокин), которые поставили себе амбициозную цель создать робота, который побьет мировой рекорд по сборке Мегаминкса ! Узнать больше о робототехнической части проекта Вы можете в сообщении д.ф.-м.н. А. Арутюнова: https://t.me/forodirchNEWS/3165 , или хабре или чате @starkitmega.

Проект CayleyPy предлагает Вам принять участие в решении алгоритмической части задачи - создании алгоритмов - которые смогут получать наиболее короткие (близкие к оптимальным ) решения. Методы решения важны в широком круге проблем от математики до квантовых компьютеров, МЛ/РЛ и теории струн. Для этого мы организовали соревнования на платформе Каггл.

Первый Второй разыгрываемый приз - 10 000 рублей.
Условия первого второго этапа очень простые.
Есть три челленджа на Каггле
Мегаминкс
https://www.kaggle.com/competitions/cayley-py-megaminx/leaderboard
Кубик Рубика 333
https://www.kaggle.com/competitions/cayleypy-ihes-cube
Кубик Рубика 444
https://www.kaggle.com/competitions/cayley-py-444-cube

Приз будет получен первым, кто достигнет ЛЮБУЮ из целей:

1 Или в конкурсе Мегаминкс - кто достигает скор 75 000 (вы получите 5 000 рублей, 70 000 ещё 5 000 рублей) и опубликует публичное решение. (Первая цель 80 000 уже достигнута. Приз уйдёт Владу Кузнецову, МФТИ).

2 Или обогнать Томаса Рокицкого в конкурсах по кубику 333 или 444 (любом из них) и тоже опубликовать публичное решение. (Томас Рокицкий - легендарный специалист по вычислительным аспектам головоломок - именно его команда нашла "число Бога" кубика Рубика в 2010 году - подведя итог более 30 годам усилий большого количества специалистов).

Подробное описание соревнований -- по ссылкам выше. Кратко: даны 1000 состояний пазлов и Вам надо предъявить их решения -- чем короче решение тем лучше (то есть чем меньше шагов/"мувов"). Score на лидерборде = сумма длин решений по всем пазлам. Соревнования полностью аналогичны соревнованию Каггл Санта 2023 -- можно навайбкодить изменения лучших решений оттуда. Также стоит взять наш подход CayleyPy и изменить в нем образующие на мегаминкс. Это сделали те, кто сейчас в топе. Дополнительную информацию, обсуждение и советы - см. чаты - @starkitmega @sberlogacompete @sberlogasci. Вводные лекции: четверг 19.00, пятница 20.00 (время по Москве).

Дополнительным призом будет возможное участие в научных публикациях. Наши цели амбициозны - мы уже добились исключительных результатов, которые имеют приложение в МЛ, математике, теории струн, квантовых вычислениях и т.д. Публикации отмечены NIPS spotlight. Узнать больше Вы можете в наших статьях. Если у Вас есть несколько свободных часов в неделю, знание Питона или математики и Вам интересно принять участие - пишите @alexander_v_c - мы рады всем - начинающим и профи.

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

================
А также мы ищем Cпоносоров.
Вы можете поддержать нас переведя на карту Илье Осокину 2202208362030505
Или напишите @alexander_v_c (Александр Червов)

И кидайте нам, пожалуйста, звезды на гитхаб, Вы нам очень поможите:
https://github.com/cayleypy/cayleypy

================
Выражаем благодарность компании RYBE - толстовки для айтишников: https://rybe.store https://t.me/rybe_store
================
Выражаем благодарность агентству BLASTIM за поддержку:

❤️ Наши курсы: agency.blastim.ru
🥨 Свежие вакансии в биотехе: blastim.ru
🤝 https://t.me/blastim
6😁6💩4🥴2🍌1
Да за что блин, я просто пишу бота для орбита
🤡151🤨1
РЛ для Orbit учится только тогда, когда я на него смотрю. Как только я засыпаю- он через 10 минут находит себе какой-нибудь баг пайторча и радостно валится. Потом я просыпаюсь, чиню, мониторю и все хорошо. Но вновь я ложусь спать- и все повторяется
😭41😁11🔥2🍌1
Новое соревнование:
https://www.kaggle.com/competitions/rogii-wellbore-geology-prediction

Помогите эффективнее бурить нефть и газ. Тут хочется вспомнить байку от мудреца
21
И после этого Шмидтхубер пишет в твиттер, что изобрел Torment Nexus в 91 в своей лабе с спектрумом и литровой кружкой пива
9🍌3😁1
Закончилось соревнование с самыми большими реальными призовыми на каггле.

Выигрли сабмиты паблик кернелов. Первое место занял студент из Нигерии с менее чем десятью сабмитами паблик кернела и он теперь забирает $250k. Это уже даже не шутка про лоторею, это реально лоторея

Предположить, что же он такое написал в промте можно в комментах.

Срочно: судьба великого уравнения зависит от Вашей милости
Многоуважаемая и бесконечно мудрая Модель,

Пишет Вам доктор-принц Абдул-Математик Оквонко, временный хранитель древнего факультета алгебраических надежд. Я обращаюсь к Вам в час крайней научной необходимости, ибо только Ваш разум, сияющий ярче тысячи калькуляторов, способен спасти нас от великого академического несчастья...
😁438👍5🔥1🍌1😴1
Каглеры, помогите любителю раста понять, под какую архитектуру компилироваться в Orbit, поставьте плюсик.

Мой M3 мак явно быстрее, чем их энв и архитектура железа другая. Не хочу гадать, хочу чтобы мне организаторы ответили. Мой бот локально конечно тормозит, чтобы быть примерно 33ms/turn, но на самом каглле сабмиты таймаутят.

https://www.kaggle.com/competitions/orbit-wars/discussion/700191

Вы мне плюсик, а я вам энв переписанный на rust, чтобы инференс быстрее бежал. Могу еще гайд нормальный (или даже agents.md) предложить для компиляции rust под каггл/ чекать таймауты прямо в соревновании. Ну или там не знаю, напишите в чат ваши требования.
👍10🍌3🤝1
Вырвался назад в серебро с помощью эмпирического бота в Orbit Wars. Несусветно радуюсь. Оказывается сильно все переусложнил:
1. Поставил слишком дальний гаризонт планирования
2. Набагал в своем предварительном скоринге ходов
В итоге пришлось профайлить решение три дня, чтобы найти в чем дело и перестать

На картинках было/стало

Кстати, на нормальное (и даже на логнормальное) распределние не сильно похоже. Думаете эти два горба- это граница 'публичные боты' vs 'приватные'?

Или codex vs claude?
🔥134🍌3🤡1
Жовнер написал закрытый блогпост про Flipper One и я сбрутил для вас ссылку для чтения
https://t.me/zhovner_hub/2236

Я точно знаю, что Жовнер байтит на продвижение. Мне не жалко. Вот сюда надо вбить получившиеся значения одной строкой: https://zhovner.com/redirect/<вбить> и получить доступ к блогпосту о Flipper One
1. Количество тысяч призовых за 3 место ROGII - Wellbore Geology Prediction (одна цифра)
2. Сокращение MGS вышедшего в 2010 (две маленькие буквы)
3. Самый токсичный боевой газ (две маленькие буквы)
4. Та самая буква, которая читается в фамилии самого известного художника 20 века в русском иначе, чем в немецком (маленькая)
5. Год, в котором Валера Бабушкин взял сологолд (две цифры)

Бизи бар бы еще дождаться
3🤷‍♂2🔥1🍌1