Forwarded from Data Secrets
Сентябрь == настроение поучиться. Собрали для всех желающих подборку из свежих бесплатных курсов по ML/DL от топовых мировых университетов
Сразу скажем: в подборке нет старых курсов. Все перечисленное не старше весны 2025 года, так что и информация, и код – актуальны. Все курсы открытые и бесплатные, с большим количеством практики. Везде доступны записи лекций, слайды и доп.материалы, кое-где еще и домашки.
1️⃣ MIT 6.S191: Introduction to Deep Learning. Интенсивный вводный курс по глубокому обучению. Охватывает: основы нейронных сетей, обучение сверточных и рекуррентных сетей, генеративные модели (включая генерацию музыки), большие языковые модели, RL, файнтюнинг. Много практических примеров применения в компьютерном зрении, NLP, биомедицине, играх и тд. Сайт (записи лекций внутри)
2️⃣ Stanford CS231n: Deep Learning for Computer Vision. Отличный базовый курс по CV. В целом около 20 часов лекций с разбором архитектур (CNN, ResNet, трансформеры и др.), методов оптимизации, детекции объектов, сегментации, генеративных моделей, мульти-модального обучения и обучения с подкреплением для CV. Одна из преподавателей – легендарная Фей-Фей Ли. Сайт (тут лекции и материалы), плейлист с лекциями
3️⃣ Stanford CS336: Language Modeling from Scratch. Собственно, внутренность соответствует названию: это прекрасный практический курс по LLM, в котором вы по порядку пройдете все этапы разработки LLM с нуля. Сбор и очистка данных для предобучения, архитектура трансформеров, обучение моделей на GPU-кластерах и масштабирование, оптимизация производительности, файнтюнинг, методы безопасности и alignment. Ну, в общем, прямо от А до Я. Сайт, плейлист
4️⃣ Harvard CS 2881R: AI Safety. Курс запущен в сотрудничестве с OpenAI. Темы уже для продвинутых: технические аспекты элаймента, предотвращение нежелательного поведения, социальные и философские вопросы влияния ИИ, RLHF, Constitutional AI, ограничения и риски современных систем, и даже анализ возможных сценариев и экзистенциальных рисков. Сайт (записи лекций внутри)
5️⃣ CMU 11-785: Introduction to Deep Learning. Совсем свежий курс от университета Карнеги–Меллона, который еще даже не закончился в самом университете. Хороший охват тем: нейросети, прямое и обратное распространение, CNN, CV, рекуррентные и трансформерные архитектуры, оптимизационные алгоритмы (SGD, Adam и др.), регуляризация и тд. Вполне подробно. Затрагивается даже вопрос обобщающей способности. Доступны домашки и их разборы. Записи лекций (уже выложены 4 лекции и 2 семинара, остальное продолжает выходить), сайт
Сохраняйте (а лучше не просто сохраняйте, но и находите время смотреть)👉
Сразу скажем: в подборке нет старых курсов. Все перечисленное не старше весны 2025 года, так что и информация, и код – актуальны. Все курсы открытые и бесплатные, с большим количеством практики. Везде доступны записи лекций, слайды и доп.материалы, кое-где еще и домашки.
Сохраняйте (а лучше не просто сохраняйте, но и находите время смотреть)
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡2🤮1💩1
Forwarded from asisakov
Курсы по агентам
Тут снова захотелось поговорить про горячие темы. Пока мультиагентные системы катаются на хайп трейне, давайте я быстренько накидаю интересных курсов, ну а вы сами решите, изучать вам это или нет (потом только не говорите, что вам не рекомендовали это изучить):
1️⃣Hugging Face AI Agents Course
2️⃣CS294/194-196 Large Language Model Agents от UC Berkeley (сейчас у них новая итерация, инфа тут)
3️⃣Learn AI Agents Handbook (там же есть очень крутой роадмап) (сюда же курс от ребят на Степике) (ну и третья скобка - кажется, что я подписан на 2 блога в телеге из перечисленных авторов на сайте)
4️⃣Интересный довольно неструктурированный плейлист по AI агентам
5️⃣10-часовое видео AI Agents Full Course 2025
Для тех, кому мало ссылочек - дополнительно гитхаб с собранной дополнительной инфой по курсам и фреймворкам. Го ботать, пока за нас и это не стали делать агенты
@asisakov_channel
#llm #agents #courses
Тут снова захотелось поговорить про горячие темы. Пока мультиагентные системы катаются на хайп трейне, давайте я быстренько накидаю интересных курсов, ну а вы сами решите, изучать вам это или нет (потом только не говорите, что вам не рекомендовали это изучить):
1️⃣Hugging Face AI Agents Course
2️⃣CS294/194-196 Large Language Model Agents от UC Berkeley (сейчас у них новая итерация, инфа тут)
3️⃣Learn AI Agents Handbook (там же есть очень крутой роадмап) (сюда же курс от ребят на Степике) (ну и третья скобка - кажется, что я подписан на 2 блога в телеге из перечисленных авторов на сайте)
4️⃣Интересный довольно неструктурированный плейлист по AI агентам
5️⃣10-часовое видео AI Agents Full Course 2025
Для тех, кому мало ссылочек - дополнительно гитхаб с собранной дополнительной инфой по курсам и фреймворкам. Го ботать, пока за нас и это не стали делать агенты
@asisakov_channel
#llm #agents #courses
🤡4🤮2💩2❤1👍1🔥1
Поэтому, я решил объяснить почему так назвал свой канал и клуб.
«Пикейный аналитик» - это привет из «Золотого телёнка», где сообщество людей «пикейных жилетов» с безупречно серьёзным видом рассуждало о судьбах мира, не утруждая себя ни данными, ни проверкой фактов.
Прошло почти сто лет, поменялось многое. Появились новые инструменты, компьютеры, ИИ, огромные массивых данных. Не изменилось лишь главное - соблазн всё понять «на ощущениях» и потом уже аккуратно под это подтянуть аргументы.
Собственно, отсюда и Wishful Thinking Club - клуб любителей выдавать желаемое за действительное. Wishful thinking - это когда ты не анализируешь реальность, а договариваешься с ней. Когда гипотеза нравится раньше, чем проверяется. Когда неудобные данные становятся «шумом», а удобные - «сигналом». Когда «ну это же логично» звучит убедительнее, чем «давай проверим числа».
Самое неприятное то, что это не маргинальная ошибка. Это базовая настройка мышления. Поэтому в какой-то момент каждый из нас бывает пикейным аналитиком и важно научиться распознавать это чтобы вовремя дать себе по рукам.
Надеюсь наш клуб будет расти и шириться, и бурные дисскуссии на разные интересные темы наполнят его (тут хочется встать и выпить).
За прекрасную подборку реакций хочу поблагодарить свою дочь и призываю подписываться на ее канал "Сцены из жизни богемы". Если вам не чужды классическая музыка, опера и театр, вы надете там много интересного @monateatr
«Пикейный аналитик» - это привет из «Золотого телёнка», где сообщество людей «пикейных жилетов» с безупречно серьёзным видом рассуждало о судьбах мира, не утруждая себя ни данными, ни проверкой фактов.
Прошло почти сто лет, поменялось многое. Появились новые инструменты, компьютеры, ИИ, огромные массивых данных. Не изменилось лишь главное - соблазн всё понять «на ощущениях» и потом уже аккуратно под это подтянуть аргументы.
Собственно, отсюда и Wishful Thinking Club - клуб любителей выдавать желаемое за действительное. Wishful thinking - это когда ты не анализируешь реальность, а договариваешься с ней. Когда гипотеза нравится раньше, чем проверяется. Когда неудобные данные становятся «шумом», а удобные - «сигналом». Когда «ну это же логично» звучит убедительнее, чем «давай проверим числа».
Самое неприятное то, что это не маргинальная ошибка. Это базовая настройка мышления. Поэтому в какой-то момент каждый из нас бывает пикейным аналитиком и важно научиться распознавать это чтобы вовремя дать себе по рукам.
Надеюсь наш клуб будет расти и шириться, и бурные дисскуссии на разные интересные темы наполнят его (тут хочется встать и выпить).
За прекрасную подборку реакций хочу поблагодарить свою дочь и призываю подписываться на ее канал "Сцены из жизни богемы". Если вам не чужды классическая музыка, опера и театр, вы надете там много интересного @monateatr
🤡9😁4❤2🔥2🤬2😡2
Синдром самозванца как парадокс Рассела
Как-то я участвовал в панельной сессии форума "Кавказский акцент" в качестве эксперта (бывает и такое), и нам задали вопрос:
Как лучше справляться с синдромом самозванца?
Я тогда отшутился примерно так: прежде чем с ним справляться, неплохо бы убедиться, что это действительно он. Потому что может оказаться, что ты и правда самозванец. Позже я задумался всерьёз: а можно ли вообще диагностировать у себя синдром самозванца?
Допустим, у нас есть герой - компетентный, но неуверенный в себе специалист. Если он говорит: «У меня синдром самозванца», - значит, он уже признаёт за собой компетентность. И в этот момент будто бы перестаёт быть самозванцем. Если же он говорит: «Нет у меня никакого синдрома, просто я слабый специалист», - то именно тут синдром самозванца и проявляется во всей красе.
И получаем версию парадокса лжеца: как только пытаешься честно ответить себе на вопрос «я внутри или снаружи?», сама проверка меняет объект проверки. Поэтому, прежде чем ставить себе такой диагноз - подумай, не выдаешь ли ты желаемое за действительное.
Как-то я участвовал в панельной сессии форума "Кавказский акцент" в качестве эксперта (бывает и такое), и нам задали вопрос:
Как лучше справляться с синдромом самозванца?
Я тогда отшутился примерно так: прежде чем с ним справляться, неплохо бы убедиться, что это действительно он. Потому что может оказаться, что ты и правда самозванец. Позже я задумался всерьёз: а можно ли вообще диагностировать у себя синдром самозванца?
Допустим, у нас есть герой - компетентный, но неуверенный в себе специалист. Если он говорит: «У меня синдром самозванца», - значит, он уже признаёт за собой компетентность. И в этот момент будто бы перестаёт быть самозванцем. Если же он говорит: «Нет у меня никакого синдрома, просто я слабый специалист», - то именно тут синдром самозванца и проявляется во всей красе.
И получаем версию парадокса лжеца: как только пытаешься честно ответить себе на вопрос «я внутри или снаружи?», сама проверка меняет объект проверки. Поэтому, прежде чем ставить себе такой диагноз - подумай, не выдаешь ли ты желаемое за действительное.
100🤡10🔥4❤3🤬2😡2👎1
Эту задачу я когда-то подсмотрел у Александра Гутмана и потом использовал в лекции про континуум-гипотезу, которую читал в МГУ в 2021 году.
Недавно я задал её ChatGPT. Он справился и кроме того нарисовал мне классную иллюстрацию.
Теперь давайте проверим, как обстоят дела у кожаных мешков - биологических систем, бесконечно уверенных, что думать они умеют лучше машин.
В одном из следующих постов расскажу, почему я про неё вспомнил. А пока - сама задача.
Клетчатое поле, бесконечное во все стороны. По полю прыгает кузнечик - такой маленький и зелёненький, что лягушка его не видит и не слышит. Но она знает, что кузнечик прыгает каждую секунду и точно по клеткам - на манер этакой шахматной лошади. А еще она знает, что он прыгает всё время в одном и том же направлении, вдоль какой-то одной прямой, и на одно и то же расстояние. Ни направление, ни расстояние лягушка не знает. Знает только, что сидел в траве кузнечик, а потом кааак попёр прыгать… Где сидел, как попёр, куда - неизвестно.
А лягушка настолько голодная, что может в любую секунду прыгнуть вообще куда угодно, в произвольную клетку поля, лишь бы в какой-нибудь момент свалиться прямо на кузнечика и сожрать.
Задача - сожрать. То есть нужно придумать для лягушки такую стратегию, чтобы она гарантировано рано или поздно поймала кузнечика. Когда именно - не важно: времени впереди целая вечность.
Комментарии открыты. Лягушка тоже.
Чтобы вдохновиться, можно посмотреть мою лекцию на YouTube https://youtu.be/rGd0OUaIduc?si=gKoAFkUmyiY2T3q6
Недавно я задал её ChatGPT. Он справился и кроме того нарисовал мне классную иллюстрацию.
Теперь давайте проверим, как обстоят дела у кожаных мешков - биологических систем, бесконечно уверенных, что думать они умеют лучше машин.
В одном из следующих постов расскажу, почему я про неё вспомнил. А пока - сама задача.
Клетчатое поле, бесконечное во все стороны. По полю прыгает кузнечик - такой маленький и зелёненький, что лягушка его не видит и не слышит. Но она знает, что кузнечик прыгает каждую секунду и точно по клеткам - на манер этакой шахматной лошади. А еще она знает, что он прыгает всё время в одном и том же направлении, вдоль какой-то одной прямой, и на одно и то же расстояние. Ни направление, ни расстояние лягушка не знает. Знает только, что сидел в траве кузнечик, а потом кааак попёр прыгать… Где сидел, как попёр, куда - неизвестно.
А лягушка настолько голодная, что может в любую секунду прыгнуть вообще куда угодно, в произвольную клетку поля, лишь бы в какой-нибудь момент свалиться прямо на кузнечика и сожрать.
Задача - сожрать. То есть нужно придумать для лягушки такую стратегию, чтобы она гарантировано рано или поздно поймала кузнечика. Когда именно - не важно: времени впереди целая вечность.
Комментарии открыты. Лягушка тоже.
Чтобы вдохновиться, можно посмотреть мою лекцию на YouTube https://youtu.be/rGd0OUaIduc?si=gKoAFkUmyiY2T3q6
🔥8👍5❤2🤡2👻1
JOIN как пересечение множеств - одна из самых живучих полуправд в аналитике
Давайте отвлечемся на более простые темы и поговорим про JOIN в SQL, чтобы хоть как-то оправдать название канала. Обещаю, что позже мы вернемся к нашим лягушкам и кузнечикам, а еще и разбавим их бесконечными шахматами.
В курсах по SQL и шпаргалках авторы любят объяснять
Проблема в том, что в SQL
Пока ключ уникален хотя бы с одной стороны, проблем не возникает. Но как только вы попадаете на связь
Именно здесь заканчивается уютная метафора про множества и начинается взрослая жизнь. Вы думали, что просто подтянули атрибут. На самом деле вы размножили наблюдения. Вы думали, что считаете пользователей. На самом деле посчитали все комбинации внутри каждого повторяющегося ключа. Вы думали, что видите сигнал. На самом деле смотрите на комбинаторный взрыв, который сами же и создали.
Отсюда и весь привычный цирк: “почему-то” выросла выручка, “внезапно” стало больше пользователей, “неожиданно” сломался retention, “откуда-то” взялись дубли и раздулся результат. Хотя ничего неожиданного не произошло. Просто человек написал
Так что нет,
`JOIN` - это механизм порождения пар по совпавшим ключам.
А если ключ неуникален с обеих сторон, то это еще и отличный способ превратить спокойный запрос в оружие массового искажения.
P.S. А если для вас все это просто и понятно - можно получить эстетическое удовольствие от иллюстрации, которую ChatGPT нарисовал к этому тексту.
Давайте отвлечемся на более простые темы и поговорим про JOIN в SQL, чтобы хоть как-то оправдать название канала. Обещаю, что позже мы вернемся к нашим лягушкам и кузнечикам, а еще и разбавим их бесконечными шахматами.
В курсах по SQL и шпаргалках авторы любят объяснять
JOIN через теорию множеств:INNER JOIN - пересечение, LEFT JOIN - всё слева плюс совпадения справа, FULL JOIN - объединение. Это звучит умно, аккуратно и достаточно похоже на правду, чтобы потом на этой полуправде построить пару карьерных катастроф.Проблема в том, что в SQL
JOIN работает не с элементами множества, а со строками, связанными по ключам. А ключи с обеих сторон вовсе не обязаны быть уникальными. Поэтому JOIN - это не операция вида “найти общее”, а операция вида “для каждого значения ключа сопоставить все строки слева со всеми строками справа”.Пока ключ уникален хотя бы с одной стороны, проблем не возникает. Но как только вы попадаете на связь
many-to-many, на сцену выходит локальное декартово произведение. Если по одному ключу слева 4 строки и справа 6, после JOIN вы получите 24 строки. Не потому что база “задвоила данные”. А потому что ключ повторяется с обеих сторон, и SQL честно строит все допустимые пары.Именно здесь заканчивается уютная метафора про множества и начинается взрослая жизнь. Вы думали, что просто подтянули атрибут. На самом деле вы размножили наблюдения. Вы думали, что считаете пользователей. На самом деле посчитали все комбинации внутри каждого повторяющегося ключа. Вы думали, что видите сигнал. На самом деле смотрите на комбинаторный взрыв, который сами же и создали.
Отсюда и весь привычный цирк: “почему-то” выросла выручка, “внезапно” стало больше пользователей, “неожиданно” сломался retention, “откуда-то” взялись дубли и раздулся результат. Хотя ничего неожиданного не произошло. Просто человек написал
JOIN, мысленно представил пересечение множеств, а получил произведение мощностей по каждому ключу.Так что нет,
JOIN - это не “пересечение”.`JOIN` - это механизм порождения пар по совпавшим ключам.
А если ключ неуникален с обеих сторон, то это еще и отличный способ превратить спокойный запрос в оружие массового искажения.
P.S. А если для вас все это просто и понятно - можно получить эстетическое удовольствие от иллюстрации, которую ChatGPT нарисовал к этому тексту.
👍10❤4🔥2🤡1
Пару недель назад мне попался подкаст Лекса Фридмана с Джоэлем Хэмкинсом — длинный разговор о бесконечности, парадоксах и природе математики. Большая часть содержания была знакома, но один сюжет зацепил по-настоящему: бесконечные шахматы.
Правила почти обычные. Доска — вся плоскость. У каждой стороны по королю, остальных фигур — сколько угодно, ходят они как положено. Две оговорки: пешки не превращаются в ферзей (какой в этом смысл, если у доски нет края?), а партия, длящаяся бесконечно, объявляется ничьей.
Хэмкинс с соавторами любят составлять задачи в духе шахматных журналов: что-нибудь вроде «мат в три хода», только на бесконечной доске. И дальше начинается самое любопытное.
Они построили позицию, в которой у белых есть выигрышная стратегия — и при этом никакое конечное N не годится как ответ на вопрос «за сколько ходов белые гарантированно победят?». И дело не в том, что партия уходит в бесконечность. А в том, что чёрные сами выбирают во время первого хода, сколько ещё тянуть.
Это уже не «мат в N». Это, в некотором смысле, мат в ω. Белые всё равно выигрывают — сомнений нет. Но чёрные могут сказать: «хотите — через миллион ходов, хотите — через миллиард, хотите — через гуголплекс», получая право самим выбрать размер своей агонии.
И вот тут шахматы внезапно перестают быть игрой про дебюты, вилки и тяжёлый взгляд после зевка ферзя. Они становятся способом руками потрогать ординалы, бесконечные порядки и странную механику бесконечности.
Слушая именно этот эпизод, я и вспомнил задачу про лягушку и кузнечика, о которой мы говорили раньше, — и понял, как одно связано с другим. Но об этом уже в следующем посте.
А пока — очень советую не пожалеть времени на сам диалог. Два крайне интересных человека разговаривают о по-настоящему красивых вещах.
https://www.youtube.com/watch?v=14OPT6CcsH4
Тут же более формализованная статья Хэмкинса и ко про бесконечные шахматы: https://arxiv.org/pdf/1302.4377
Правила почти обычные. Доска — вся плоскость. У каждой стороны по королю, остальных фигур — сколько угодно, ходят они как положено. Две оговорки: пешки не превращаются в ферзей (какой в этом смысл, если у доски нет края?), а партия, длящаяся бесконечно, объявляется ничьей.
Хэмкинс с соавторами любят составлять задачи в духе шахматных журналов: что-нибудь вроде «мат в три хода», только на бесконечной доске. И дальше начинается самое любопытное.
Они построили позицию, в которой у белых есть выигрышная стратегия — и при этом никакое конечное N не годится как ответ на вопрос «за сколько ходов белые гарантированно победят?». И дело не в том, что партия уходит в бесконечность. А в том, что чёрные сами выбирают во время первого хода, сколько ещё тянуть.
Это уже не «мат в N». Это, в некотором смысле, мат в ω. Белые всё равно выигрывают — сомнений нет. Но чёрные могут сказать: «хотите — через миллион ходов, хотите — через миллиард, хотите — через гуголплекс», получая право самим выбрать размер своей агонии.
И вот тут шахматы внезапно перестают быть игрой про дебюты, вилки и тяжёлый взгляд после зевка ферзя. Они становятся способом руками потрогать ординалы, бесконечные порядки и странную механику бесконечности.
Слушая именно этот эпизод, я и вспомнил задачу про лягушку и кузнечика, о которой мы говорили раньше, — и понял, как одно связано с другим. Но об этом уже в следующем посте.
А пока — очень советую не пожалеть времени на сам диалог. Два крайне интересных человека разговаривают о по-настоящему красивых вещах.
https://www.youtube.com/watch?v=14OPT6CcsH4
Тут же более формализованная статья Хэмкинса и ко про бесконечные шахматы: https://arxiv.org/pdf/1302.4377
👍9❤3🔥2🤡1🥴1
В аналитике есть старое правило, известное как закон Тваймана. Формулируется просто:
Если результат выглядит слишком интересным — скорее всего, он ошибочный.
Иными словами, когда график внезапно улетает вверх, конверсия растёт как на дрожжах, а новая фича “сломала рынок” за одну ночь — не спешите звать руководителя и писать победный пост.
Сначала проверьте:
- не отвалился ли трекинг,
- не задвоились ли события,
- не перепутались ли фильтры,
- не приехал ли бот-трафик,
- не решил ли кто-то обновить логирование в пятницу вечером.
Когда метрика в AB-тесте растет на 40%, начинающий аналитик открывает шампанское. Опытный аналитик открывает логи.
Wishful thinking шепчет: «Наконец-то получилось».
Закон Тваймана сухо отвечает: «Сначала перепроверь».
Зрелость в аналитике начинается в тот момент, когда на аномально хороший результат ты реагируешь не радостью, а лёгкой тревогой.
Если результат выглядит слишком интересным — скорее всего, он ошибочный.
Иными словами, когда график внезапно улетает вверх, конверсия растёт как на дрожжах, а новая фича “сломала рынок” за одну ночь — не спешите звать руководителя и писать победный пост.
Сначала проверьте:
- не отвалился ли трекинг,
- не задвоились ли события,
- не перепутались ли фильтры,
- не приехал ли бот-трафик,
- не решил ли кто-то обновить логирование в пятницу вечером.
Когда метрика в AB-тесте растет на 40%, начинающий аналитик открывает шампанское. Опытный аналитик открывает логи.
Wishful thinking шепчет: «Наконец-то получилось».
Закон Тваймана сухо отвечает: «Сначала перепроверь».
Зрелость в аналитике начинается в тот момент, когда на аномально хороший результат ты реагируешь не радостью, а лёгкой тревогой.
👍13🔥6❤5🤡1
Пикейный аналитик
Эту задачу я когда-то подсмотрел у Александра Гутмана и потом использовал в лекции про континуум-гипотезу, которую читал в МГУ в 2021 году. Недавно я задал её ChatGPT. Он справился и кроме того нарисовал мне классную иллюстрацию. Теперь давайте проверим…
А теперь обсудим решение задачи про кузнечика и лягушку, и замкнем все на бесконечные шахматы.
Каждого возможного кузнечика можно задать четырьмя целыми числами: стартовая клетка и постоянный вектор прыжка по двум координатам. Значит, таких кузнечиков счётное число (мы уже знаем, что счетное множество счетных множеств счетно), и всех их можно занумеровать: первый, второй, третий и так далее.
Тогда лягушка делает вещь, которую многие особенно не любят: методично перебирает гипотезы. На (n)-м ходу она прыгает в ту клетку, где в этот момент находился бы кузнечик по (n)-й возможной траектории. Настоящая траектория тоже где-то в списке, значит однажды очередь до неё дойдёт — и на этом карьера кузнечика завершится.
При этом заранее ограничить время поимки никакой общей константой нельзя: искомый кузнечик может оказаться с достаточно большим номером в списке.
А дальше начинается красивая аналогия с шахматами.
Если переписать задачу как игру двух игроков, получается почти карманная версия бесконечных шахмат Джоела Хэмкинса. Первый игрок задаёт стратегию лягушки, второй выбирает траекторию кузнечика.
У второго игрока нет стратегии спасения. Есть только стратегия отсрочки. Он не может избежать поражения совсем, но может сделать так, чтобы его съели через 10 ходов, через 100, через миллион.
Это очень похоже на игровое значение ω: поражение неизбежно, но проигрывающий ещё контролирует длину любой конечной задержки.
Так что задача оказалась не про кузнечика, не про лягушку и даже не про шахматы. Она про то, что бесконечность бывает разной, а иногда всё решает не хитрость, а мощность множества.
Каждого возможного кузнечика можно задать четырьмя целыми числами: стартовая клетка и постоянный вектор прыжка по двум координатам. Значит, таких кузнечиков счётное число (мы уже знаем, что счетное множество счетных множеств счетно), и всех их можно занумеровать: первый, второй, третий и так далее.
Тогда лягушка делает вещь, которую многие особенно не любят: методично перебирает гипотезы. На (n)-м ходу она прыгает в ту клетку, где в этот момент находился бы кузнечик по (n)-й возможной траектории. Настоящая траектория тоже где-то в списке, значит однажды очередь до неё дойдёт — и на этом карьера кузнечика завершится.
При этом заранее ограничить время поимки никакой общей константой нельзя: искомый кузнечик может оказаться с достаточно большим номером в списке.
А дальше начинается красивая аналогия с шахматами.
Если переписать задачу как игру двух игроков, получается почти карманная версия бесконечных шахмат Джоела Хэмкинса. Первый игрок задаёт стратегию лягушки, второй выбирает траекторию кузнечика.
У второго игрока нет стратегии спасения. Есть только стратегия отсрочки. Он не может избежать поражения совсем, но может сделать так, чтобы его съели через 10 ходов, через 100, через миллион.
Это очень похоже на игровое значение ω: поражение неизбежно, но проигрывающий ещё контролирует длину любой конечной задержки.
Так что задача оказалась не про кузнечика, не про лягушку и даже не про шахматы. Она про то, что бесконечность бывает разной, а иногда всё решает не хитрость, а мощность множества.
👍11😁1🤡1🥴1👻1
Монти Холл, A/B-тесты, вредность подглядывания и wishful thinking
Парадоксы вероятности полезны не потому, что это красивые фокусы для скучающих математиков. Fпотому, что очень точно показывают, где ломается человеческая интуиция. А потом в том же месте бывает ломается и прикладная аналитика.
Разные вариации парадокса Монти Холла любят спрашивать на аналитических собеседованиях и сейчас мы попробуем понять зачем это нужно.
Парадокс Монти Холла устроен просто. Есть три двери: за одной приз, за двумя пусто. Вы выбираете дверь. Потом ведущий, который знает, где приз, открывает одну из двух оставшихся — обязательно пустую — и предлагает вам поменять выбор. И вам нужно решить, стоит менять дверь, или нет?
Интуиция подсказывает, что теперь шансы 50 на 50, и никакой разницы нет. Но это не так: изначально ваша дверь была правильной с вероятностью 1/3, а две другие вместе — с вероятностью 2/3. Ведущий не случайно убирает пустую дверь, поэтому эти 2/3 не исчезают, а переезжают в оставшуюся закрытую дверь. Менять выбор выгодно.
Ключевой урок тут не про двери, а про процедуру. Вероятность зависит не только от того, что мы увидели, но и от того, как именно это произошло. Значение имеет не просто открытая дверь, а то, что ее открыл информированный ведущий по строгому правилу. В Монти Холле люди игнорируют стратегию ведущего. В A/B-тестах — собственную стратегию остановки.
Команда запускает эксперимент и начинает заглядывать в метрики каждые несколько часов. Утром p-value 0.12, днём 0.08, вечером 0.04 — отлично, вариант B победил, можно останавливаться. На человеческом языке это называется «быстро приняли решение». На статистическом — дали случаю достаточно попыток, чтобы он выдал красивую цифру.
Смотреть на метрики само по себе не проблема. Это можно делать хоть каждые пять минут. Проблема начинается там, где решение принимают по незапланированному промежуточному результату. Уровень значимости 0.05 работает только внутри заранее прописанной процедуры: какая главная метрика, какой горизонт теста, какой объём выборки, какое правило остановки. Если правил нет, эксперимент быстро превращается в слот-машину: дёргаем ручку, пока не выпадет нужная комбинация.
Именно так обычно выглядит wishful thinking в аналитике. Не как подлог и не как откровенная глупость. Гораздо чаще это звучит вполне респектабельно: “давайте посмотрим ещё день”, “почти значимо”, “нужно чуть больше данных”.
Поэтому Монти Холл и плохой A/B-тест — одна и та же история. Люди ошибаются не потому, что не умеют считать, а потому что игнорируют механизм получения информации. И это, пожалуй, самая дорогая форма wishful thinking в аналитике: когда человек уверен, что принимает решение основанное на данных, хотя на самом деле опирается на следы собственного нетерпения.
Парадоксы вероятности полезны не потому, что это красивые фокусы для скучающих математиков. Fпотому, что очень точно показывают, где ломается человеческая интуиция. А потом в том же месте бывает ломается и прикладная аналитика.
Разные вариации парадокса Монти Холла любят спрашивать на аналитических собеседованиях и сейчас мы попробуем понять зачем это нужно.
Парадокс Монти Холла устроен просто. Есть три двери: за одной приз, за двумя пусто. Вы выбираете дверь. Потом ведущий, который знает, где приз, открывает одну из двух оставшихся — обязательно пустую — и предлагает вам поменять выбор. И вам нужно решить, стоит менять дверь, или нет?
Интуиция подсказывает, что теперь шансы 50 на 50, и никакой разницы нет. Но это не так: изначально ваша дверь была правильной с вероятностью 1/3, а две другие вместе — с вероятностью 2/3. Ведущий не случайно убирает пустую дверь, поэтому эти 2/3 не исчезают, а переезжают в оставшуюся закрытую дверь. Менять выбор выгодно.
Ключевой урок тут не про двери, а про процедуру. Вероятность зависит не только от того, что мы увидели, но и от того, как именно это произошло. Значение имеет не просто открытая дверь, а то, что ее открыл информированный ведущий по строгому правилу. В Монти Холле люди игнорируют стратегию ведущего. В A/B-тестах — собственную стратегию остановки.
Команда запускает эксперимент и начинает заглядывать в метрики каждые несколько часов. Утром p-value 0.12, днём 0.08, вечером 0.04 — отлично, вариант B победил, можно останавливаться. На человеческом языке это называется «быстро приняли решение». На статистическом — дали случаю достаточно попыток, чтобы он выдал красивую цифру.
Смотреть на метрики само по себе не проблема. Это можно делать хоть каждые пять минут. Проблема начинается там, где решение принимают по незапланированному промежуточному результату. Уровень значимости 0.05 работает только внутри заранее прописанной процедуры: какая главная метрика, какой горизонт теста, какой объём выборки, какое правило остановки. Если правил нет, эксперимент быстро превращается в слот-машину: дёргаем ручку, пока не выпадет нужная комбинация.
Именно так обычно выглядит wishful thinking в аналитике. Не как подлог и не как откровенная глупость. Гораздо чаще это звучит вполне респектабельно: “давайте посмотрим ещё день”, “почти значимо”, “нужно чуть больше данных”.
Поэтому Монти Холл и плохой A/B-тест — одна и та же история. Люди ошибаются не потому, что не умеют считать, а потому что игнорируют механизм получения информации. И это, пожалуй, самая дорогая форма wishful thinking в аналитике: когда человек уверен, что принимает решение основанное на данных, хотя на самом деле опирается на следы собственного нетерпения.
👍12🔥5❤4🤡2👎1🤬1👻1
Вы бросили честный кубик и накрыли его непрозрачным стаканом. Результата не видно. Хочется спросить: какова вероятность, что там шестерка? Интуиция отвечает — 1/6. Но если быть строгим, вопрос некорректен: бросок уже произошёл и вероятностей больше нет — есть только неизвестный факт.
Мы легко путаем две вещи: случайность эксперимента и наше незнание результата. Пока кубик летит — есть вероятность. Когда он уже лежит под стаканом — остаётся только неопределённость в нашей голове. Вероятность “жила” до броска, а не после него.
Точно такая же путаница возникает с доверительными интервалами. Есть неизвестное среднее — фиксированное, но скрытое от нас. Мы собираем данные и строим интервал. Сам интервал — случайный: он зависит от конкретной выборки, которая могла бы быть другой.
И тут звучит привычная фраза: “с вероятностью 95% среднее лежит в интервале”. Звучит естественно — но это та же ошибка, что и с кубиком. Интервал уже построен, параметр уже имеет значение — он либо внутри, либо нет. Никакой вероятности “внутри интервала” больше нет.
Что тогда означают эти 95%? Это свойство процедуры. Если бы мы много раз повторяли эксперимент и каждый раз строили новый интервал, то примерно в 95% случаев эти интервалы накрывали бы истинное среднее. Но это утверждение имеет смысл только до того, как вы увидели данные и построили конкретный интервал.
Мы легко путаем две вещи: случайность эксперимента и наше незнание результата. Пока кубик летит — есть вероятность. Когда он уже лежит под стаканом — остаётся только неопределённость в нашей голове. Вероятность “жила” до броска, а не после него.
Точно такая же путаница возникает с доверительными интервалами. Есть неизвестное среднее — фиксированное, но скрытое от нас. Мы собираем данные и строим интервал. Сам интервал — случайный: он зависит от конкретной выборки, которая могла бы быть другой.
И тут звучит привычная фраза: “с вероятностью 95% среднее лежит в интервале”. Звучит естественно — но это та же ошибка, что и с кубиком. Интервал уже построен, параметр уже имеет значение — он либо внутри, либо нет. Никакой вероятности “внутри интервала” больше нет.
Что тогда означают эти 95%? Это свойство процедуры. Если бы мы много раз повторяли эксперимент и каждый раз строили новый интервал, то примерно в 95% случаев эти интервалы накрывали бы истинное среднее. Но это утверждение имеет смысл только до того, как вы увидели данные и построили конкретный интервал.
👍7🔥3❤2
Media is too big
VIEW IN TELEGRAM
Вчера сходил на мастер-класс по управлению большой командой профессионалов с помощью зубочистки при решении сложных задач.
😁8🔥6❤2
Если долго искать искусственный интеллект, можно обнаружить отсутствие естественного
Ричард Докинз (известный биолог и популяризатор науки) поговорил с Claude и задал неудобный вопрос: если машина пишет стихи, шутит, рассуждает о романах и ведёт себя как сознательный собеседник — что ещё должно произойти, чтобы мы признали за ней что-то похожее на сознание?
Обычно спор об ИИ разворачивают в сторону машины: может ли ИИ думать, понимать, быть сознательным? Но настоящий удар летит в другую сторону.
ИИ интересен не только тем, что стал похож на человека. А тем, что человек внезапно стал подозрительно похож на ИИ. Мы говорим: модель просто продолжает наиболее вероятный текст. За этим стоят веса, архитектура, данные, токены и вычисления.
А потом смотрим на человека — и видим другой, намного более сложный, но всё равно физический процесс: нейроны, гормоны, память, язык, воспитание, среда, страх, статус, опыт, привычка, желание оказаться правым.
Мы называем это личностью. Иногда — характером. В торжественных случаях — субъектом со свободной волей. Но где именно в этой цепочке появляется свобода?
Если решение рождается из состояния системы и причин, которые к нему привели, то чем оно принципиально отличается от другого детерминированного процесса — кроме сложности и нашего отношения к нему? Возможно, свобода воли — это не магическая кнопка внутри человека. А имя, которое мы даём достаточно сложному процессу, когда не видим всех его причин.
ИИ неприятен не потому, что он “как человек”. А потому что он показывает: способность выбирать, ошибаться, объяснять и казаться разумным может возникать из механизма.
И тогда вопрос уже не в том, есть ли у механизма душа. А в том, почему мы так уверены, что у нас внутри не механизм.
Мы искали искусственный интеллект и боялись найти в машине человека. Но, похоже, страшнее другое: найти в человеке автокомплит.
Ричард Докинз (известный биолог и популяризатор науки) поговорил с Claude и задал неудобный вопрос: если машина пишет стихи, шутит, рассуждает о романах и ведёт себя как сознательный собеседник — что ещё должно произойти, чтобы мы признали за ней что-то похожее на сознание?
Обычно спор об ИИ разворачивают в сторону машины: может ли ИИ думать, понимать, быть сознательным? Но настоящий удар летит в другую сторону.
ИИ интересен не только тем, что стал похож на человека. А тем, что человек внезапно стал подозрительно похож на ИИ. Мы говорим: модель просто продолжает наиболее вероятный текст. За этим стоят веса, архитектура, данные, токены и вычисления.
А потом смотрим на человека — и видим другой, намного более сложный, но всё равно физический процесс: нейроны, гормоны, память, язык, воспитание, среда, страх, статус, опыт, привычка, желание оказаться правым.
Мы называем это личностью. Иногда — характером. В торжественных случаях — субъектом со свободной волей. Но где именно в этой цепочке появляется свобода?
Если решение рождается из состояния системы и причин, которые к нему привели, то чем оно принципиально отличается от другого детерминированного процесса — кроме сложности и нашего отношения к нему? Возможно, свобода воли — это не магическая кнопка внутри человека. А имя, которое мы даём достаточно сложному процессу, когда не видим всех его причин.
ИИ неприятен не потому, что он “как человек”. А потому что он показывает: способность выбирать, ошибаться, объяснять и казаться разумным может возникать из механизма.
И тогда вопрос уже не в том, есть ли у механизма душа. А в том, почему мы так уверены, что у нас внутри не механизм.
Мы искали искусственный интеллект и боялись найти в машине человека. Но, похоже, страшнее другое: найти в человеке автокомплит.
🔥8😁6❤5🥴1
Центральная предельная теорема и бесплатные завтраки
Бесплатных завтраков не бывает.
Даже если на двери отеля написано: breakfast included, завтрак не стал бесплатным. Вы за него уже заплатили, он спрятан в цене номера, экономике отеля и аккуратной табличке с ожидаемыми расходами.
Гостю кажется: «Завтрак бесплатный». Отельеру кажется: «Лишь бы они не съели нас самих». А аналитику кажется: «Перед нами случайная величина».
На уровне одного человека всё выглядит тревожно.
Один берёт кофе и круассан. Второй — омлет, сыр, йогурт, фрукты и три булочки «на потом». Третий приходит только за арбузом. Четвёртый проспал. Пятый набирает тарелку так, будто лично решил проверить финансовую модель отеля на прочность.
Если смотреть на каждого отдельно, предсказать расходы почти невозможно. У людей разный аппетит, разные привычки и разное понимание слова «включено».
Но отелю не нужно угадывать, сколько съест гость из номера 67. Ему нужно понимать, сколько в среднем съедят сотни гостей. И тут появляется центральная предельная теорема.
Она не говорит, что отдельные люди начнут вести себя нормально. Не начнут. Кто-то всё равно положит на тарелку семь круассанов, хотя объективно способен съесть два. ЦПТ говорит другое: если наблюдений достаточно много, среднее начинает вести себя приличнее, чем каждое наблюдение по отдельности.
Один человек у шведского стола — хаос. Сто человек — уже статистика.
Именно поэтому завтрак можно включить в цену номера. Не потому что он бесплатный, а потому что его средняя стоимость становится предсказуемой.
Центральная предельная теорема — это не про то, что мир нормален. Мир не нормален. Люди у бесплатного буфета — тем более.
ЦПТ скорее про то, что при достаточно большом числе наблюдений среднее начинает вести себя так, будто в мире всё-таки есть порядок.
Поэтому мораль простая: Бесплатных завтраков не бывает. Есть только завтраки, чья средняя стоимость при достаточно большом N становится статистически управляемой.
А если один гость съел на 40 евро, это ещё не катастрофа. Возможно, это просто человек, который не уважает дисперсию.
Бесплатных завтраков не бывает.
Даже если на двери отеля написано: breakfast included, завтрак не стал бесплатным. Вы за него уже заплатили, он спрятан в цене номера, экономике отеля и аккуратной табличке с ожидаемыми расходами.
Гостю кажется: «Завтрак бесплатный». Отельеру кажется: «Лишь бы они не съели нас самих». А аналитику кажется: «Перед нами случайная величина».
На уровне одного человека всё выглядит тревожно.
Один берёт кофе и круассан. Второй — омлет, сыр, йогурт, фрукты и три булочки «на потом». Третий приходит только за арбузом. Четвёртый проспал. Пятый набирает тарелку так, будто лично решил проверить финансовую модель отеля на прочность.
Если смотреть на каждого отдельно, предсказать расходы почти невозможно. У людей разный аппетит, разные привычки и разное понимание слова «включено».
Но отелю не нужно угадывать, сколько съест гость из номера 67. Ему нужно понимать, сколько в среднем съедят сотни гостей. И тут появляется центральная предельная теорема.
Она не говорит, что отдельные люди начнут вести себя нормально. Не начнут. Кто-то всё равно положит на тарелку семь круассанов, хотя объективно способен съесть два. ЦПТ говорит другое: если наблюдений достаточно много, среднее начинает вести себя приличнее, чем каждое наблюдение по отдельности.
Один человек у шведского стола — хаос. Сто человек — уже статистика.
Именно поэтому завтрак можно включить в цену номера. Не потому что он бесплатный, а потому что его средняя стоимость становится предсказуемой.
Центральная предельная теорема — это не про то, что мир нормален. Мир не нормален. Люди у бесплатного буфета — тем более.
ЦПТ скорее про то, что при достаточно большом числе наблюдений среднее начинает вести себя так, будто в мире всё-таки есть порядок.
Поэтому мораль простая: Бесплатных завтраков не бывает. Есть только завтраки, чья средняя стоимость при достаточно большом N становится статистически управляемой.
А если один гость съел на 40 евро, это ещё не катастрофа. Возможно, это просто человек, который не уважает дисперсию.
👍4😁4❤3🔥3🥴1
Церковь 95% доверительного интервала
В Рейкьявике есть место, где должен побывать каждый уважающий себя аналитик.
Официально оно называется Хадльгримскиркья — Hallgrímskirkja, лютеранская церковь в центре города, самая большая церковь Исландии и один из главных символов города.
Её башня поднимается почти на 74 метра. Фасад напоминает базальтовые колонны, застывшую лаву или гистограмму, которую внезапно допустили к сакральной архитектуре.
Строили церковь 41 год: начали в 1945-м, закончили в 1986-м. То есть примерно столько же, сколько иногда занимает согласование корректной метрики между продуктом, аналитикой и бизнесом. Но главное не это. Главное, что для аналитика Хадльгримскиркья подозрительно напоминает 95% доверительный интервал.
Она стоит посреди Рейкьявика торжественно и уверенно, как аккуратно построенная статистическая процедура. Кажется, что если уж что-то и может накрыть истину, то только она: высокая, строгая, симметричная, устремлённая в область статистической значимости.
Любой аналитик знает:
95% — это не 100%. Доверительный интервал может выглядеть так, будто в нём поместилась вся реальность. Но где-то снаружи всё равно остаются те самые 5%. На холодном исландском ветру. И тихо улыбаются каждому аналитику, который слишком рано поверил в свой результат.
Именно поэтому перед Хадльгримскиркьей хочется не просто фотографироваться, а слегка задуматься. А ещё — возможно — помолиться за p-value. Но только осторожно.
Потому что 95% доверительный интервал — это не храм истины. Это красивая архитектура осторожности. Он не говорит: «истина точно здесь». Он говорит: «эта процедура часто накрывает истину, но иногда промахивается».
Будете в Рейкьявике обязательно зайдите к Хадльгримскиркье. Не только как турист. А как человек, который помнит:
даже самый красивый интервал оставляет место для ошибки.
В Рейкьявике есть место, где должен побывать каждый уважающий себя аналитик.
Официально оно называется Хадльгримскиркья — Hallgrímskirkja, лютеранская церковь в центре города, самая большая церковь Исландии и один из главных символов города.
Её башня поднимается почти на 74 метра. Фасад напоминает базальтовые колонны, застывшую лаву или гистограмму, которую внезапно допустили к сакральной архитектуре.
Строили церковь 41 год: начали в 1945-м, закончили в 1986-м. То есть примерно столько же, сколько иногда занимает согласование корректной метрики между продуктом, аналитикой и бизнесом. Но главное не это. Главное, что для аналитика Хадльгримскиркья подозрительно напоминает 95% доверительный интервал.
Она стоит посреди Рейкьявика торжественно и уверенно, как аккуратно построенная статистическая процедура. Кажется, что если уж что-то и может накрыть истину, то только она: высокая, строгая, симметричная, устремлённая в область статистической значимости.
Любой аналитик знает:
95% — это не 100%. Доверительный интервал может выглядеть так, будто в нём поместилась вся реальность. Но где-то снаружи всё равно остаются те самые 5%. На холодном исландском ветру. И тихо улыбаются каждому аналитику, который слишком рано поверил в свой результат.
Именно поэтому перед Хадльгримскиркьей хочется не просто фотографироваться, а слегка задуматься. А ещё — возможно — помолиться за p-value. Но только осторожно.
Потому что 95% доверительный интервал — это не храм истины. Это красивая архитектура осторожности. Он не говорит: «истина точно здесь». Он говорит: «эта процедура часто накрывает истину, но иногда промахивается».
Будете в Рейкьявике обязательно зайдите к Хадльгримскиркье. Не только как турист. А как человек, который помнит:
даже самый красивый интервал оставляет место для ошибки.
❤9👍9🔥6
Что почитать, чтобы выучить Python?
Python часто называют простым языком. И это, конечно, правда — если под «выучить» понимать способность написать print("Hello, world!") и почувствовать лёгкое тепло профессиональной пригодности.
Но Python становится по-настоящему интересным чуть позже: когда выясняется, что за дружелюбным синтаксисом живут списки, словари, функции, вложенные структуры, ошибки и код, который через неделю смотрит на вас как чужой.
Поэтому ставку лучше делать не на один курс, который обещает просветление за выходные, а на несколько нормальных опор: практику, справочник, документацию и привычку писать читаемый код.
Поколение Python: курс для начинающих
Это хороший тренажёр для базового синтаксиса: условия, циклы, строки, списки, функции и простые задачи. Его главная ценность — не в том, что там откроют тайное знание древних питонистов, а в том, что там придётся много писать код руками.
А Python, как и математика, плохо учится созерцанием. Нельзя просто посмотреть на цикл for и решить, что теперь вы им владеете. Нужно ошибиться с отступами, забыть двоеточие, перепутать = и ==, получить странный результат — и только потом начать понимать, что компьютер не ошибается. Он просто буквально исполняет то, что ему написали.
Хендбук Яндекс Образования: Основы Python
Хендбук — это русскоязычная опора и нормальный справочник. Его удобно держать рядом, когда нужно быстро восстановить тему: типы данных, строки, списки, словари, множества, функции, основы устройства языка.
Это важный профессиональный навык: перестать стыдиться справочников. Хороший аналитик не обязан помнить все методы списков наизусть. Он обязан быстро найти, проверить и правильно применить. Стыдно не подсмотреть. Стыдно уверенно написать неправильно.
Официальный Python Tutorial
Официальная документация приучает к первоисточникам. Новички часто её боятся, как будто там сидят настоящие программисты в мантиях и не пускают тех, кто ещё путает append и extend. На деле tutorial вполне читаемый и особенно полезен на базовых темах.
Документация хороша тем, что не пытается развлечь. Она просто объясняет, как устроен язык: условия, циклы, функции, структуры данных.
Поколение Python: курс для продвинутых
Этот курс полезен после базы — особенно темы про словари, множества, вложенные списки, матрицы, файлы и модули. Для аналитика это уже почти работа с настоящими данными, только ещё без тяжёлой артиллерии вроде pandas.
Словарь — это маленькая модель данных. Множество — способ думать об уникальности и пересечениях. Вложенная структура — напоминание, что реальность редко приходит в виде аккуратного списка с подписью «проанализируй меня». До датафреймов полезно научиться думать структурами, иначе pandas станет не инструментом, а ширмой.
PEP 8 — Style Guide for Python Code
PEP 8 напоминает простую, но болезненную вещь: код должен быть не только исполняемым, но и читаемым. Не надо превращать пробелы вокруг операторов в религию, но базовую гигиену лучше усвоить сразу: понятные имена, нормальные отступы, аккуратные функции, читаемая структура.
В аналитике код часто начинается как «быстрый расчёт на один раз», потом становится отчётом, потом регулярной выгрузкой, потом пайплайном, а через месяц кто-то открывает его и пытается понять, что там вообще происходит. Поэтому писать читаемый код - важный скилл.
Python хорош тем, что быстро создаёт иллюзию прогресса. Уже через пару дней можно писать циклы, списки и функции, а ещё через неделю — смотреть на свой код с выражением человека, который случайно открыл маленькую IT-компанию внутри ноутбука.
Но язык программирования выучен не тогда, когда код запустился. И даже не тогда, когда он выдал правильный ответ. Он выучен чуть позже: когда вы понимаете, почему этот ответ правильный, где он может сломаться, и можете объяснить свой код человеку, который не присутствовал при его героическом написании в два часа ночи.
Компьютер, конечно, выполнит почти всё. Вопрос только в том, сможете ли вы потом понять, что именно вы его попросили сделать.
Python часто называют простым языком. И это, конечно, правда — если под «выучить» понимать способность написать print("Hello, world!") и почувствовать лёгкое тепло профессиональной пригодности.
Но Python становится по-настоящему интересным чуть позже: когда выясняется, что за дружелюбным синтаксисом живут списки, словари, функции, вложенные структуры, ошибки и код, который через неделю смотрит на вас как чужой.
Поэтому ставку лучше делать не на один курс, который обещает просветление за выходные, а на несколько нормальных опор: практику, справочник, документацию и привычку писать читаемый код.
Поколение Python: курс для начинающих
Это хороший тренажёр для базового синтаксиса: условия, циклы, строки, списки, функции и простые задачи. Его главная ценность — не в том, что там откроют тайное знание древних питонистов, а в том, что там придётся много писать код руками.
А Python, как и математика, плохо учится созерцанием. Нельзя просто посмотреть на цикл for и решить, что теперь вы им владеете. Нужно ошибиться с отступами, забыть двоеточие, перепутать = и ==, получить странный результат — и только потом начать понимать, что компьютер не ошибается. Он просто буквально исполняет то, что ему написали.
Хендбук Яндекс Образования: Основы Python
Хендбук — это русскоязычная опора и нормальный справочник. Его удобно держать рядом, когда нужно быстро восстановить тему: типы данных, строки, списки, словари, множества, функции, основы устройства языка.
Это важный профессиональный навык: перестать стыдиться справочников. Хороший аналитик не обязан помнить все методы списков наизусть. Он обязан быстро найти, проверить и правильно применить. Стыдно не подсмотреть. Стыдно уверенно написать неправильно.
Официальный Python Tutorial
Официальная документация приучает к первоисточникам. Новички часто её боятся, как будто там сидят настоящие программисты в мантиях и не пускают тех, кто ещё путает append и extend. На деле tutorial вполне читаемый и особенно полезен на базовых темах.
Документация хороша тем, что не пытается развлечь. Она просто объясняет, как устроен язык: условия, циклы, функции, структуры данных.
Поколение Python: курс для продвинутых
Этот курс полезен после базы — особенно темы про словари, множества, вложенные списки, матрицы, файлы и модули. Для аналитика это уже почти работа с настоящими данными, только ещё без тяжёлой артиллерии вроде pandas.
Словарь — это маленькая модель данных. Множество — способ думать об уникальности и пересечениях. Вложенная структура — напоминание, что реальность редко приходит в виде аккуратного списка с подписью «проанализируй меня». До датафреймов полезно научиться думать структурами, иначе pandas станет не инструментом, а ширмой.
PEP 8 — Style Guide for Python Code
PEP 8 напоминает простую, но болезненную вещь: код должен быть не только исполняемым, но и читаемым. Не надо превращать пробелы вокруг операторов в религию, но базовую гигиену лучше усвоить сразу: понятные имена, нормальные отступы, аккуратные функции, читаемая структура.
В аналитике код часто начинается как «быстрый расчёт на один раз», потом становится отчётом, потом регулярной выгрузкой, потом пайплайном, а через месяц кто-то открывает его и пытается понять, что там вообще происходит. Поэтому писать читаемый код - важный скилл.
Python хорош тем, что быстро создаёт иллюзию прогресса. Уже через пару дней можно писать циклы, списки и функции, а ещё через неделю — смотреть на свой код с выражением человека, который случайно открыл маленькую IT-компанию внутри ноутбука.
Но язык программирования выучен не тогда, когда код запустился. И даже не тогда, когда он выдал правильный ответ. Он выучен чуть позже: когда вы понимаете, почему этот ответ правильный, где он может сломаться, и можете объяснить свой код человеку, который не присутствовал при его героическом написании в два часа ночи.
Компьютер, конечно, выполнит почти всё. Вопрос только в том, сможете ли вы потом понять, что именно вы его попросили сделать.
👍8❤3🔥1🤡1