Перейти к содержимому
Ступень 1111.3 Собеседования

Теория ML и DL: вопросы с разбором

Банк из 53 частых теоретических вопросов собеседования по классическому ML и глубокому обучению: короткий ответ на 1–2 минуты, частая ошибка кандидата и ссылка на урок курса. Ответы спрятаны — тренируйтесь вслух с таймером.

УРОКstage-11/11-3-interviews/02-ml-theory-questions.mdx4 чУрок 2 из 6
После урока вы сможете
  • Отвечать на типовые теоретические вопросы по ML и DL за 1–2 минуты по схеме «определение → пример с числом → когда применять → ограничения»
  • Узнавать частые ошибки кандидатов и не повторять их — от accuracy при дисбалансе до забытого model.eval()
  • Выдерживать уточняющий вопрос «почему?», опираясь на вывод из урока курса, а не на заученную фразу
  • Построить свой цикл тренировки — таймер, тетрадь ошибок и интервальное повторение карточек

На теоретической секции собеседования (остальные этапы — в уроке 11.3.1) задают 10–20 коротких вопросов: «что такое переобучение», «почему AUC, а не accuracy», «чем AdamW отличается от Adam». Темы вы прошли на ступенях 1–3. Но знать и ответить за полторы минуты вслух, без подсказки — разные навыки, и второй тренируется только повторением.

Здесь 53 частых вопроса по классическому ML и глубокому обучению. В каждом ответе три части: что сказать за 1–2 минуты, типичная ошибка кандидата и ссылка на урок курса с выводом и кодом. Ответы спрятаны — сначала отвечайте сами. Кластеризацию и PCA спрашивают реже: повторите их по уроку 2.3.2, а k-means вы напишете с нуля в уроке 11.3.4.

flowchart LR
A["Прочитать вопрос"] --> B["Ответить вслух,<br/>таймер 1–2 минуты"]
B --> C["Раскрыть ответ<br/>и сравнить"]
C --> D{"Оценка 0 / 1 / 2"}
D -->|"2: полно, с примером"| E["Через неделю ещё раз"]
D -->|"0 или 1"| F["Записать в тетрадь ошибок,<br/>перечитать урок"]
F --> G["Повторить через 1, 3, 7 дней"]
E --> H["Карточки — на странице повторения"]
G --> H
Цикл тренировки: сначала без подсказки, потом сверка и повтор ошибок
  1. Вслух и с таймером. Секундомер на 1–2 минуты, отвечайте так, будто перед вами интервьюер. Мысль, «понятная в голове», часто разваливается на втором предложении. Ещё лучше — записать себя на диктофон.
  2. Сначала без подсказки. Раскрыть ответ раньше — значит тренировать узнавание, а не вспоминание. Работает именно практика извлеченияпрактика извлеченияEN retrieval practiceВспоминать ответ самому, без подсказки, вместо того чтобы перечитывать. Одна из самых надёжных учебных техник; на ней стоят квизы, карточки и повторы тетради ошибок.: вспоминать трудно, и это усилие закрепляет знание.
  3. Честная оценка. 2 — суть, пример или число и ограничения. 1 — суть верна, но нет «почему». 0 — не знали или ошиблись. Всё с оценкой 0 или 1 — в свою тетрадь ошибоктетрадь ошибокEN mistake notebookКитайская школьная практика — переписывать каждую ошибку с правильным решением и регулярно к ней возвращаться. На сайте это страница «Тетрадь ошибок», куда сами попадают ошибки из квизов.: вопрос, что сказали, что надо было сказать. Ошибки квиза в конце урока попадут в тетрадь ошибок на сайте сами.
  4. Интервальное повторение. Важнейшие вопросы собраны в карточки. Отметьте урок пройденным, и они появятся на странице повторения.

Схема хорошего ответа: определение одной фразой → пример с числом → когда применяют → ограничения. Дальше почти всегда звучит уточнение: «а почему?», «а если данных мало?». Поэтому за каждым ответом стоит урок с выводом: кто понимает вывод, тот ответ на уточнение выведет сам.

Удобный темп — 12–15 вопросов за подход. На вторых проходах берите только вопросы из тетради ошибок.

1. Что такое переобучение и как его заметить?

Ответ

ПереобучениепереобучениеEN overfitting — модель подогналась под шум обучающих данных: на train ошибка маленькая, на новых большая. Главный симптом — растущий разрыв между train и validation: train loss падает, а validation остановился и пошёл вверх. Пример из курса: полином 11-й степени на 12 точках проходит через каждую точку вместе с шумом и катастрофически ошибается на тесте. Лечение: больше данных, регуляризация, ранняя остановка, модель проще.

Частая ошибка: называть переобучением любую плохую ошибку на тесте. Плохо и на train — недообучение или баг; train и validation из разных распределений — сдвиг распределения.

Урок: 2.1.2

2. Что такое разложение на смещение и разброс (bias–variance)? Как оно помогает выбрать, что делать дальше?

Ответ

Для квадратичной ошибки ожидаемая ошибка в точке раскладывается на три слагаемых:

E[(y−f^D(x))2]=смещение2+разброс+σ2.\mathbb{E}\big[(y - \hat f_D(x))^2\big] = \text{смещение}^2 + \text{разброс} + \sigma^2 .

Смещение — насколько средняя по обучающим выборкам модель промахивается мимо истины. Разброс — насколько модели, обученные на разных выборках, отличаются друг от друга. σ2\sigma^2 — неустранимый шум. С ростом сложности смещение падает, разброс растёт, ошибка на тесте описывает U-кривую. Вывод для действий — по кривым обучения: train и validation сошлись на плохом уровне — это смещение, данные не помогут, нужна модель сложнее. Большой разрыв между ними — разброс: помогут данные, регуляризация, ансамбли.

Частая ошибка: назвать «tradeoff» без следствия для действий или считать U-кривую всей правдой: у больших нейросетей бывает двойной спускдвойной спускEN double descent.

Урок: 2.1.2

3. Чем L1-регуляризация отличается от L2? Почему L1 обнуляет веса?

Ответ

РегуляризациярегуляризацияEN regularization добавляет к loss штраф за сложность: L2 — λ∥w∥2\lambda \lVert w \rVert^2, L1 — λ∑j∣wj∣\lambda \sum_j \lvert w_j \rvert. Градиент L2 равен 2λw2\lambda w и слабеет у нуля: вес только приближается к нулю, каждый шаг умножает его на (1−2ηλ)(1 - 2\eta\lambda) — отсюда weight decay. У L1 сила постоянна, λ sign(w)\lambda\,\mathrm{sign}(w): если вклад признака в уменьшение loss меньше λ\lambda, оптимум ровно в нуле, и L1 отбирает признаки. Вероятностный смысл: L2 — MAP-оценка с гауссовым априорным распределением весов, L1 — с лапласовым. λ\lambda выбирают по валидации.

Частая ошибка: штрафовать свободный член и забыть стандартизировать признаки. Штраф одинаков для всех весов, поэтому признак в тысячах и признак в долях единицы регуляризуются несопоставимо.

Урок: 2.1.2, 1.4.2

4. Какие ещё способы регуляризации вы знаете, кроме штрафа на веса?

Ответ

Больше данных и аугментация, ранняя остановкаранняя остановкаEN early stopping, dropout, ограничение сложности (глубина дерева, число параметров), ансамбли и шум в обучении. Ранняя остановка бесплатна: веса стартуют маленькими и не успевают подстроиться под шум (для линейных моделей это почти L2). Алгоритм: validation loss после каждой эпохи, сохранять лучший чекпоинт, после pp эпох без улучшения остановиться и откатиться к лучшему. У LLM при SFT главный рычаг того же рода — число эпох, обычно одна–три.

Частая ошибка: остановиться, но оставить веса последней эпохи, а не лучшей.

Урок: 2.1.2, 3.4.2

5. Зачем три выборки — train, validation и test? Почему тест смотрят один раз?

Ответ

Train — подбирать веса, validation — выбирать модель и гиперпараметры, test — один раз измерить итог. Каждый раз, когда вы смотрите на тест и что-то меняете, вы немного подгоняете модель под него, и тест превращается в ещё одну валидацию с оптимистичной оценкой. На Kaggle это видно, когда открывается закрытая часть лидерборда: участники, подбиравшие решения по публичной части, падают на десятки мест. Для LLM то же самое: бенчмарк — это тест, а промпт и температуру подбирают на отдельной dev-части.

Частая ошибка: называть validation и test синонимами или выбирать порог классификации по тесту.

Урок: 2.4.4

6. Как устроена k-fold кросс-валидация? Когда нужны StratifiedKFold, GroupKFold и TimeSeriesSplit?

Ответ

Данные режут на kk частей (обычно 5 или 10), каждая один раз служит валидацией, модель учат на остальных k−1k-1, итог — среднее и разброс kk оценок. Схема должна повторять применение модели. Стратифицированная сохраняет доли классов — для дисбаланса. Групповая держит все строки клиента или пациента в одном фолде — если в будущем придут новые группы. Временная учит на прошлом и проверяет на следующем отрезке. В курсе неверная схема дала AUC 0.875 вместо честных 0.601 на группах и RMSE 1.73 вместо 6.08 на временном ряду.

Частая ошибка: случайный KFold на временном ряду или на данных с несколькими строками на клиента.

Урок: 2.4.4, 2.1.2

7. Что такое утечка данных? Приведите примеры.

Ответ

Утечка данныхутечка данныхEN data leakage — в обучение или выбор модели просачивается информация, которой не будет при реальном применении. Пять видов: дубли теста в train; предобработка (нормализация, отбор признаков, пропуски) по всем данным до разбиения; признак-следствие цели («дата расторжения» при прогнозе ухода); случайное разбиение временного ряда; один пользователь в train и test. Пример из курса: 5000 признаков шума и случайные метки — отбор 20 признаков по всем данным даёт по кросс-валидации 88% точности, честно — 44%. Защита — Pipeline: всё, что обучается, обучается только на train-части фолда. Для LLM аналог — загрязнение бенчмарков.

Частая ошибка: считать главной утечкой стандартизацию по всем данным. На тысячах строк она почти безвредна; разрушительны признаки из будущего и неверная схема разбиения.

Урок: 2.1.2, 2.4.4

8. Как подбирать гиперпараметры? Почему лучшая оценка поиска оптимистична?

Ответ

Сетка перебирает все комбинации, случайный поиск — nn случайных точек. Случайный обычно лучше: важны 1–2 гиперпараметра, и 9 случайных попыток дают 9 значений learning rate против трёх у сетки 3×3. Масштабные параметры — по логарифмической шкале. Байесовская оптимизация (Optuna, TPE) выигрывает, когда попыток сотни и одно обучение дорогое. Максимум из 30 оценок — это ещё и та конфигурация, которой повезло на этих фолдах: в курсе 0.765 по CV превратилось в 0.747 на тесте. Поэтому в отчёт идёт тест или вложенная кросс-валидация.

Частая ошибка: сообщать лучшую оценку поиска как итоговое качество.

Урок: 2.4.4

9. Модель A на 0.01 лучше модели B по кросс-валидации. Это значимая разница?

Ответ

Смотреть надо на разброс: при std по фолдам 0.025 разница 0.01 сама по себе ничего не значит. Сравнивают на одних и тех же фолдах по парным разностям: в курсе разность «LightGBM − логрегрессия» имела среднее −0.040 при std 0.014, и LightGBM проиграл на 10 фолдах из 10. Для одного тестового набора нужен доверительный интервал (бутстрэп), а для двух моделей на одних примерах — парное сравнение. Оговорка: оценки по фолдам не независимы, формальные интервалы по ним слишком узкие.

Частая ошибка: сравнивать два средних «на глаз» или по разным разбиениям.

Урок: 2.4.4, 1.3.4

10. Почему accuracy плоха при дисбалансе классов?

Ответ

Если положительных примеров 10%, константа «всегда нет» получает accuracy 0.90, ни разу не найдя нужный класс. Чем реже класс, тем ближе бесполезная константа к 100%. Accuracy годится, когда классы сбалансированы и ошибки одинаково дороги, например в тестах с выбором ответа вроде MMLU. При дисбалансе смотрят на precision, recall, F1 и PR-кривую, а начинают с матрицы ошибок.

Частая ошибка: не назвать бейзлайн. Сильный ответ всегда сравнивает метрику с константным классификатором.

Урок: 2.2.3

11. Что такое precision и recall? Когда что важнее и как выбрать порог?

Ответ

Precisionточность (precision)EN precisionTP / (TP + FP). У Чжоу Чжихуа термин буквально означает «доля точных среди найденного». =TP/(TP+FP)= TP / (TP + FP) — какая доля отобранного правильна. Recallполнота (recall)EN recallTP / (TP + FN). Recall — буквально «отозвать, вернуть»: та же метрика recall@k в поиске и RAG. =TP/(TP+FN)= TP / (TP + FN) — какую долю всех положительных нашли. Пример из курса: из 1000 страниц 100 математических, модель отметила 120, из них 80 верно: precision 80/120≈0.66780/120 \approx 0.667, recall 80/100=0.880/100 = 0.8. Что важнее, решает цена ошибки: спам-фильтру дорог FP (потерянное письмо), поиску уязвимостей — FN. Порог не обучают вместе с весами: его выбирают после обучения на валидации под требование вроде «максимальный recall при precision не ниже 0.9».

Частая ошибка: путать формулы или считать порог 0.5 законом природы.

Урок: 2.2.3

12. Почему F1 — гармоническое среднее, а не обычное? Что делать с несколькими классами?

Ответ

F1=2PR/(P+R)F_1 = 2PR/(P + R) тянется к меньшему из двух чисел. Модель, нашедшая 2 из 100 нужных объектов без ошибок: P=1P = 1, R=0.02R = 0.02, среднее арифметическое 0.51, а F1≈0.039F_1 \approx 0.039 — честно. FβF_\beta при β>1\beta > 1 сильнее весит recall. Для KK классов считают «класс против остальных» и усредняют: macro — среднее по классам, редкий весит как частый; micro — сначала суммируют TP, FP, FN. При одной метке на пример micro-F1 равна accuracy, поэтому при дисбалансе честнее macro.

Частая ошибка: сообщать micro-F1 при сильном дисбалансе и считать, что модель хорошо работает на редких классах.

Урок: 2.2.3

13. Что означает ROC-AUC? Зависит ли он от порога и калибровки?

Ответ

ROC-AUCROC-AUC (площадь под ROC-кривой)EN ROC AUC (area under the ROC curve)Вероятность того, что случайный положительный пример получит скор выше случайного отрицательного. — площадь под кривой (FPR, TPR), которую рисуют, двигая порог от 1 к 0. Смысл: вероятность, что случайный положительный пример получит скор выше случайного отрицательного (ничья — половина пары). 0.5 — угадывание, 1.0 — идеальное ранжирование, меньше 0.5 — модель перепутала классы. AUC зависит только от порядка скоров: не от порога, не от калибровки и не от доли классов. Логиты и вероятности дают одинаковый AUC.

Частая ошибка: «AUC 0.8 — это 80% правильных ответов». Нет, это доля правильно упорядоченных пар.

Урок: 2.2.3

14. Положительных примеров 0.1%. ROC-AUC 0.98. Хорошая ли модель?

Ответ

Не обязательно. При миллионе отрицательных даже FPR 1% — это 10 000 ложных тревог на тысячу настоящих находок: precision около 9%. ROC-кривая этого не показывает, потому что FPR нормирован на огромное число отрицательных. При сильном дисбалансе смотрят PR-кривую (precision от recall) и площадь под ней — average precision, а также precision при нужном recall. Хороший ответ заканчивается вопросом к задаче: сколько ложных тревог в день готов разобрать человек.

Частая ошибка: считать AUC универсальной метрикой «для дисбаланса». Он нечувствителен к доле классов, и при редком классе это минус.

Урок: 2.2.3

15. MSE или MAE? Чем они отличаются по существу?

Ответ

MSE штрафует большие ошибки квадратично, MAE — линейно: один выброс в 3 секунды среди ошибок по 0.1 увеличил MAE в 6.8 раза, а MSE — в 120. Глубже: лучшая константа для MSE — среднее, для MAE — медиана; MSE — это MLE при гауссовом шуме. Важны редкие большие ошибки — MSE или RMSE (в единицах цели); нужна устойчивость к выбросам — MAE или квантили. Задержку инференса описывают перцентилями p50 и p99.

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

Урок: 2.2.3, 2.2.1

16. Почему модель учат на loss, а оценивают по метрике? Почему не учить сразу на accuracy?

Ответ

Accuracy — ступенчатая функция весов: малый сдвиг весов не меняет ни одного ответа, градиент ноль. Loss — гладкий суррогат, который видит уверенность: две модели с accuracy 75% имеют cross-entropy 0.683 и 1.159, вторая один раз уверенно ошиблась. И метрику с порогом выбирает задача, а не математика. С LLM то же: претрейн минимизирует cross-entropy следующего токена, а модели сравнивают по бенчмаркам. Помните закон Гудхарта: мера, ставшая целью, перестаёт быть хорошей мерой.

Частая ошибка: сказать «потому что так принято», не упомянув дифференцируемость.

Урок: 2.2.3

17. Что такое калибровка вероятностей и что её ломает?

Ответ

Калибровка вероятностейкалибровка вероятностейEN probability calibrationСреди объектов с прогнозом p событие происходит примерно в доле p случаев. Проверяют кривой калибровки и Brier score; чинят изотонической регрессией или сигмоидой Платта. — среди объектов с прогнозом 0.3 должно быть около 30% положительных. Она нужна, когда вероятность используют как число: «ожидаемые потери = вероятность × выручка». Проверяют кривой калибровки (средний прогноз против реальной доли по корзинам) и Brier score — MSE между вероятностью и меткой. Частая поломка — балансировка классов: с class_weight="balanced" в курсе средний прогноз стал 0.378 при реальной доле 0.194, а AUC почти не изменился. Чинят изотонической регрессией или сигмоидой Платта по кросс-валидации.

Частая ошибка: считать, что высокий AUC означает хорошие вероятности. AUC видит только порядок.

Урок: 2.4.4

18. Почему в линейной регрессии минимизируют сумму квадратов?

Ответ

Если шум гауссов, y=x⊤w+b+εy = x^\top w + b + \varepsilon, ε∼N(0,σ2)\varepsilon \sim \mathcal{N}(0, \sigma^2), то минус логарифм правдоподобия выборки равен 12σ2∑i(yi−y^i)2+const\frac{1}{2\sigma^2}\sum_i (y_i - \hat y_i)^2 + \text{const}. Максимизировать правдоподобие — то же самое, что минимизировать MSE. Ещё квадрат гладкий, и для линейной модели MSE выпукла. Решение — нормальное уравнение w=(X⊤X)−1X⊤yw = (X^\top X)^{-1} X^\top y или градиентный спуск. При тяжёлых хвостах шума лучше MAE или функция Хьюбера.

Частая ошибка: решать через inv(X.T @ X). Число обусловленности X⊤XX^\top X равно квадрату числа обусловленности XX, и теряются знаки; lstsq работает с самой XX.

Урок: 2.2.1

19. Зачем стандартизировать признаки? Когда это не нужно?

Ответ

Признаки в разных масштабах превращают чашу loss в узкий овраг: шаг ограничен самым крутым направлением, и вдоль пологого спуск ползёт. В примере курса число обусловленности около 605 000 и миллион шагов, а после стандартизации x′=(x−μ)/σx' = (x - \mu)/\sigma — 31 шаг. Масштаб важен для kNN и k-means (расстояния), для регуляризации (одинаковый штраф) и для PCA. Деревьям и бустингу он не нужен: они сравнивают признак с порогом. Ещё X⊤XX^\top X может быть необратима из-за коллинеарных признаков: ridge-добавка λI\lambda I это лечит.

Частая ошибка: считать μ\mu и σ\sigma по всем данным, включая тест.

Урок: 2.2.1, 2.3.1

20. Почему логистическая регрессия — линейный классификатор? Что будет на линейно разделимых данных?

Ответ

p=σ(x⊤w+b)p = \sigma(x^\top w + b), а p≥0.5  ⟺  x⊤w+b≥0p \ge 0.5 \iff x^\top w + b \ge 0: граница решения — гиперплоскость. XOR из четырёх точек она не разделит, нужны нелинейные признаки или скрытый слой. Норма весов — уверенность: умножьте ww и bb на 10, граница не сдвинется, а сигмоида станет почти ступенькой. На линейно разделимых данных loss можно уменьшать бесконечно, увеличивая ∥w∥\lVert w \rVert, — веса уходят в бесконечность. Спасают L2-регуляризация и ранняя остановка.

Частая ошибка: называть её моделью регрессии, потому что так написано в названии.

Урок: 2.2.2

21. Как интерпретировать веса логистической регрессии?

Ответ

Модель утверждает, что логарифм шансов log⁡p1−p\log \frac{p}{1-p} линейно зависит от признаков. Рост признака xjx_j на единицу прибавляет wjw_j к логиту, то есть умножает шансы в ewje^{w_j} раз. При wj=1.5w_j = 1.5 шансы растут в e1.5≈4.5e^{1.5} \approx 4.5 раза: было 4 к 1 (p=0.8p = 0.8), стало 18 к 1 (p≈0.948p \approx 0.948). Сравнивать веса между собой можно, только если признаки стандартизованы и не сильно коррелируют.

Частая ошибка: говорить, что вероятность растёт на wjw_j. Растёт логит, а вероятность — нелинейно.

Урок: 2.2.2

22. Почему логистическую регрессию учат на cross-entropy, а не на MSE?

Ответ

BCE — отрицательное лог-правдоподобие распределения Бернулли. Она выпукла по весам, и её градиент по логиту сокращается до p−yp - y. MSE поверх сигмоиды невыпукла, а её градиент содержит множитель p(1−p)p(1-p), который гасит сигнал ровно при уверенной ошибке. При y=1y = 1 и p≈0.01p \approx 0.01 градиент BCE ≈−0.99\approx -0.99, а MSE — ≈−0.0195\approx -0.0195, в 50 раз слабее. На практике loss считают по логиту (BCEWithLogitsLoss), чтобы не взять log⁡0\log 0.

Частая ошибка: ответить «так принято» или передать в loss вероятности после сигмоиды вместо логитов.

Урок: 2.2.2, 1.3.2

23. Выведите градиент softmax + cross-entropy по логитам. Softmax или сигмоиды на каждый класс?

Ответ

L=−log⁡pyL = -\log p_y, p=softmax(z)p = \mathrm{softmax}(z), и ∂L/∂z=p−onehot(y)\partial L / \partial z = p - \mathrm{onehot}(y): «предсказание минус правда». Для z=[2.0,1.0,0.1]z = [2.0, 1.0, 0.1] и правильного второго класса p=[0.659,0.242,0.099]p = [0.659, 0.242, 0.099], градиент [0.659,−0.758,0.099][0.659, -0.758, 0.099]. Softmax — когда класс ровно один: вероятности конкурируют и в сумме дают 1. Если классы не исключают друг друга (multi-label), берут KK независимых сигмоид с BCE. Перед экспонентой вычитают максимум, чтобы не получить переполнение.

Частая ошибка: применить softmax дважды — в модели и внутри CrossEntropyLoss, которая ждёт логиты.

Урок: 1.3.2, 2.2.2, 3.3.3

24. Как дерево решений выбирает разбиение?

Ответ

Жадно: в каждом узле перебирает признаки и пороги и берёт разбиение, после которого дети «чище». Нечистоту меряют энтропией H=−∑kpklog⁡2pkH = -\sum_k p_k \log_2 p_k (критерий — прирост информации) или индексом Джини G=1−∑kpk2G = 1 - \sum_k p_k^2 — вероятностью, что два случайных примера узла разных классов. В узле 50/50 G=0.5G = 0.5, в чистом 0. Оба критерия выбирают почти одинаковые деревья, Джини дешевле. Числовые признаки режут порогами посередине между соседними значениями. Регрессионное дерево выбирает разбиения по уменьшению MSE и отвечает средним в листе.

Частая ошибка: забыть, что прирост информации любит признаки с уникальными значениями (номер объекта); C4.5 нормирует его отношением прироста.

Урок: 2.3.1

25. Почему одиночное дерево переобучается и как его регуляризовать?

Ответ

Глубокое дерево доходит до примера на лист и даёт 100% на train. Разброс высокий: чуть другие данные — другое дерево. Регуляризация — ограничения на глубину, размер листа и выигрыш от разбиения, обрезка. Главное лекарство — ансамбль. Ещё ограничения: ответ кусочно-постоянный (тренд за пределы данных не продолжит), границы параллельны осям.

Частая ошибка: утверждать, что деревья не переобучаются, «потому что они простые».

Урок: 2.3.1

26. Чем бэггинг отличается от бустинга? Что уменьшает каждый?

Ответ

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

Частая ошибка: говорить «бустинг — это много деревьев, как лес». Принцип противоположный.

Урок: 2.3.1

27. Откуда в случайном лесе случайность и зачем она?

Ответ

Два источника: бутстрэп-выборка для каждого дерева (в неё попадает около 1−1/e≈63.2%1 - 1/e \approx 63.2\% уникальных примеров, остальные — бесплатная out-of-bag валидация) и случайное подмножество признаков в каждом узле (обычно d\sqrt{d} для классификации). Зачем — видно из формулы разброса среднего BB моделей с попарной корреляцией ρ\rho:

Var=ρ σ2+1−ρB σ2.\mathrm{Var} = \rho\,\sigma^2 + \frac{1-\rho}{B}\,\sigma^2 .

Второе слагаемое гасится числом деревьев, первое — только снижением корреляции. При ρ=0.3\rho = 0.3 и 100 деревьях разброс 0.307, но не ниже 0.3. Случайные признаки делают деревья непохожими и снижают ρ\rho.

Частая ошибка: не назвать вторую случайность — по признакам. Без неё это просто бэггинг деревьев.

Урок: 2.3.1

28. Почему градиентный бустинг называется градиентным? На что учится дерево в классификации?

Ответ

Градиентный бустингградиентный бустингEN gradient boosting (GBDT)Реализации — XGBoost, LightGBM, CatBoost. — градиентный спуск в пространстве функций. Предсказания на nn примерах — вектор F\mathbf{F}; новое дерево приближает антиградиент loss по нему и обобщает «куда двигаться» на новые xx. Для MSE антиградиент — остаток y−Fy - F, для MAE — знак остатка, для log-loss — y−py - p, p=σ(F)p = \sigma(F). Значения листьев для log-loss — шаг Ньютона: сумма антиградиентов на сумму p(1−p)p(1-p). Шаг ансамбля Fm=Fm−1+νhmF_m = F_{m-1} + \nu h_m: малый ν\nu требует больше деревьев, но приходит ниже; число деревьев выбирают ранней остановкой.

Частая ошибка: говорить, что каждое дерево учится на остатках, — это верно только для MSE.

Урок: 2.4.3

29. Чем отличаются XGBoost, LightGBM и CatBoost?

Ответ

XGBoost — регуляризованная цель второго порядка: вес листа w∗=−G/(H+λ)w^* = -G/(H + \lambda), разбиение — только при выигрыше больше γ\gamma; рост по уровням. LightGBM — гистограммы вместо перебора всех порогов (до 255 корзин), рост по листьям (главный параметр — num_leaves), GOSS и EFB. CatBoost (Яндекс) — симметричные деревья и ordered boosting: статистики по категориям и остатки считаются только по «прошлым» примерам случайной перестановки, это защищает от утечки цели. Все три умеют пропуски NaN без заполнения.

Частая ошибка: перебирать n_estimators сеткой вместо ранней остановки по валидации.

Урок: 2.4.3

30. Как узнать, какие признаки важны для модели? Какие здесь ловушки?

Ответ

Три вида важность признаковважность признаковEN feature importanceSplit — число разбиений по признаку, gain — суммарное уменьшение потери, permutation — рост ошибки на валидации при перемешивании признака. Описывает модель, а не причинность.: split (сколько раз признак использовался), gain (насколько уменьшился loss) и перестановочная (насколько вырастет ошибка на валидации, если перемешать признак). Split обманывает: шумные признаки можно делить сотни раз с крошечной пользой. Коррелированные копии делят важность между собой. Для объяснения одного прогноза — SHAPSHAP (значения Шепли)EN SHAP (Shapley additive explanations)Вклад каждого признака в конкретный прогноз по теории игр: базовое значение плюс сумма вкладов равно прогнозу. Для деревьев — точный алгоритм TreeSHAP.: значения Шепли складываются с базовым значением ровно в прогноз. Главное: важность описывает модель, а не мир, и не доказывает причинность.

Частая ошибка: считать перестановочную важность на train, а не на валидации.

Урок: 2.4.3

31. Для табличных данных что вы возьмёте первым — нейросеть или бустинг? Почему?

Ответ

Бустинг. На таблицах среднего размера деревья остаются сильнейшими (Гринштайн и соавторы, 2022, 45 датасетов). Причины — индуктивные смещения: цель в таблицах часто меняется скачками, а нейросети тяготеют к гладким функциям; бесполезные признаки мешают нейросети, а дерево их не выберет. Плюс практичность: пропуски и смешанные типы без предобработки, секунды на CPU, SHAP. Но сначала — простой бейзлайн: в курсе логистическая регрессия обыграла LightGBM, потому что данные были порождены логистической моделью.

Частая ошибка: не назвать бейзлайн и сразу предлагать самое сложное.

Урок: 2.3.1, 2.4.4

32. Что будет, если learning rate слишком большой или слишком маленький?

Ответ

Для чаши f=a2x2f = \frac{a}{2}x^2 шаг умножает xx на 1−ηa1 - \eta a: спуск сходится при 0<η<2/a0 < \eta < 2/a, идеален при η=1/a\eta = 1/a и расходится при η>2/a\eta > 2/a. Чем круче функция, тем меньше допустимый шаг, а при нескольких параметрах шаг ограничен самым крутым направлением. Маленький lr — loss падает мучительно медленно; большой — скачет, растёт или становится nan, а в сетях с ReLU появляются мёртвые нейроны. Подбирают по логарифмической сетке.

Частая ошибка: не связать предел шага с кривизной; ответ «надо подобрать» без механизма слаб.

Урок: 1.4.1, 3.3.3

33. Чем отличаются полный градиентный спуск, SGD и мини-батч?

Ответ

Полный спуск считает точный градиент по всем данным — слишком дорого. SGD берёт один пример, мини-батч — BB примеров. Оценка несмещённая, а её стандартное отклонение падает как 1/B1/\sqrt{B}: учетверили батч — шум вдвое меньше. Мини-батч — компромисс: шагов много, шум умеренный, а BB примеров считаются на GPU параллельно почти за время одного. Шум даже полезен: помогает уходить с седловых точек и плато. В больших сетях седла важнее плохих локальных минимумов.

Частая ошибка: говорить, что больший батч всегда лучше. Шагов на эпоху становится меньше, а выигрыш в шуме — лишь корень.

Урок: 1.4.1

34. Как работает momentum и зачем он нужен?

Ответ

v←βv+gv \leftarrow \beta v + g, θ←θ−ηv\theta \leftarrow \theta - \eta v. В овраге вдоль дна градиент всё время указывает в одну сторону, и скорость копится до g/(1−β)g/(1-\beta): при β=0.9\beta = 0.9 шаг в 10 раз длиннее. Поперёк оврага знак чередуется, и вклады гасят друг друга. Так momentum ускоряет спуск по пологим направлениям, не раскачивая крутые. Идея Бориса Поляка (1964), «метод тяжёлого шарика».

Частая ошибка: не заметить, что в учебниках встречается EMA-запись v←βv+(1−β)gv \leftarrow \beta v + (1-\beta) g, где learning rate другой по масштабу.

Урок: 1.4.2

35. Как устроен Adam? Зачем поправка смещения?

Ответ

AdamAdamEN Adam (adaptive moment estimation)Momentum + RMSProp + поправка смещения. Стандартный оптимизатор нейросетей с 2015 года. хранит для каждого параметра EMA градиента mm (направление, β1=0.9\beta_1 = 0.9) и EMA квадрата vv (масштаб, β2=0.999\beta_2 = 0.999, у LLM обычно 0.95) и шагает на η m^/(v^+ε)\eta\,\hat m / (\sqrt{\hat v} + \varepsilon). Поправка m^=m/(1−β1t)\hat m = m / (1 - \beta_1^t) компенсирует старт с нуля: без неё первая сотня шагов была бы в 3–6.5 раза длиннее. Шаг порядка η\eta при любом масштабе градиента (на первом шаге ровно ±η\pm\eta): lr в Adam — «насколько может сдвинуться вес за шаг». Цена — два числа на параметр: для 7B в FP32 это 56 ГБ только на состояние.

Частая ошибка: считать, что Adam «сам подбирает learning rate» и lr можно не настраивать.

Урок: 1.4.2

36. Чем AdamW отличается от Adam с L2-штрафом?

Ответ

В Adam с L2 слагаемое λθ\lambda\theta попадает в градиент и делится на v^\sqrt{\hat v}. Вес с большими градиентами почти не регуляризуется, а слабо обновляемый сжимается изо всех сил — разница в примере курса стократная. AdamW вычитает затухание отдельно: θ←θ−η(m^/(v^+ε)+λθ)\theta \leftarrow \theta - \eta(\hat m/(\sqrt{\hat v} + \varepsilon) + \lambda\theta), и оно одинаково для всех весов. В PyTorch это Adam(weight_decay=…) против AdamW(weight_decay=…). Для LLM типичный λ=0.1\lambda = 0.1; к смещениям и весам нормализаций его не применяют.

Частая ошибка: сказать, что это одно и то же. Для SGD — да, для адаптивных методов — нет.

Урок: 1.4.2, 3.4.2

37. Зачем разогрев learning rate и косинусный спад?

Ответ

В начале веса случайны, градиенты хаотичны, а оценка vv в Adam построена по считанным шагам: полный lr может взорвать обучение. Поэтому первые сотни или тысячи шагов lr линейно растёт до пика (у DeepSeek-V3 — 2000 шагов). В конце шум мини-батчей заставляет параметры дрожать вокруг минимума; уменьшение шага гасит дрожание, и loss в фазе спада заметно падает. Популярен косинус от пика до 10% пика. Post-Norm трансформеры без разогрева часто вообще не обучаются.

Частая ошибка: вызывать sched.step() до opt.step() или забыть, что расписание считается в шагах, а не в эпохах.

Урок: 1.4.2

38. Что такое backprop и почему градиент считают «с конца»?

Ответ

Backpropобратное распространение ошибкиEN backpropagation — цепное правило, применённое к вычислительному графу в обратном порядке. Loss — одно число, параметров — миллионы. Цепное правило — произведение якобианов слоёв; если перемножать с конца, каждый раз умножается вектор на матрицу, и один проход даёт производные по всем параметрам. Прямой режим протаскивал бы производную по одному входу и повторялся бы NN раз. Численный градиент — 2N2N прямых проходов: для 7B это 14 млрд проходов на шаг.

Частая ошибка: путать backprop (способ посчитать градиент) с градиентным спуском (способ им воспользоваться).

Урок: 1.2.2, 3.1.2

39. Сколько стоит обратный проход по сравнению с прямым? Чем за него платят?

Ответ

Для линейного слоя прямой проход Y=XWY = XW стоит 2ndm2ndm FLOPs, обратный — два умножения той же формы: dX=dY W⊤dX = dY\,W^\top и dW=X⊤dYdW = X^\top dY. Обратный ≈ два прямых, шаг ≈ три. Отсюда правило бюджета LLM: ≈6N\approx 6N FLOPs на токен; 7B-модель на 1 трлн токенов — около 4.2⋅10224.2 \cdot 10^{22} FLOPs. Платят памятью: все промежуточные активации хранятся до обратного прохода, и при длинном контексте они больше весов. Экономят пересчётом (activation checkpointing): меньше памяти за счёт лишних вычислений.

Частая ошибка: не упомянуть память на активации — это главный ограничитель на практике.

Урок: 3.1.2

40. Как проверить, что градиенты посчитаны правильно?

Ответ

Градиентной проверкой: сравнить аналитический градиент с численным по центральной разности L(θ+ε)−L(θ−ε)2ε\frac{L(\theta + \varepsilon) - L(\theta - \varepsilon)}{2\varepsilon}, ошибка которой пропорциональна ε2\varepsilon^2. Сравнивают относительную ошибку: меньше 10−710^{-7} — верно, больше 10−210^{-2} — почти наверняка баг. Правила: float64, ε≈10−5\varepsilon \approx 10^{-5}, маленькая сеть и маленький батч, осторожно с изломом ReLU, вернуть параметр на место.

Частая ошибка: проверять в float32 или сравнивать абсолютную разницу.

Урок: 3.1.2

41. Почему градиенты накапливаются, и зачем zero_grad()?

Ответ

Если величина влияет на loss по нескольким путям, её производная — сумма по путям. Поэтому _backward пишет +=: для b=a+ab = a + a получится 2, а не 1. Так устроены веса в батче, общие веса по позициям трансформера, остаточные связи. Обратная сторона: .grad копит всё, что в него добавили, и без opt.zero_grad() градиенты прошлых шагов складываются с новыми. Это же свойство используют намеренно: накопление градиентов по нескольким микробатчам заменяет большой батч, когда не хватает памяти.

Частая ошибка: забыть zero_grad() — loss ведёт себя странно, а ошибки в коде не видно.

Урок: 3.2.2, 3.3.3

42. Почему веса нельзя инициализировать нулями?

Ответ

Нейроны одного слоя с одинаковыми весами получают одинаковые градиенты и остаются копиями друг друга навсегда — симметрия не нарушается, и слой из 256 нейронов работает как один. Поэтому веса берут случайными со средним 0. Масштаб тоже важен: каждый слой умножает дисперсию сигнала на n⋅Var(w)n \cdot \mathrm{Var}(w). При std 1 и n=512n = 512 это 512, и tanh насыщается; при std 0.01 сигнал к 10-му слою падает до 10−710^{-7}.

Частая ошибка: ответить только про симметрию и не сказать про масштаб.

Урок: 3.4.1, 3.2.3

43. Чем инициализация Xavier отличается от Kaiming?

Ответ

Обе держат дисперсию сигнала постоянной от слоя к слою. Xavier: Var(w)=2/(nin+nout)\mathrm{Var}(w) = 2/(n_{in} + n_{out}) — компромисс между прямым и обратным проходом; вывод предполагает, что активация у нуля похожа на тождество (tanh). ReLU обнуляет половину сигнала, поэтому Kaiming удваивает дисперсию: Var(w)=2/nin\mathrm{Var}(w) = 2/n_{in}, для nin=512n_{in} = 512 std 0.0625. В сети из 30 слоёв с ReLU при Xavier std активаций к последнему слою 10−510^{-5}, при Kaiming — около 0.66. В трансформерах берут std 0.02 и уменьшают выходные проекции в 2N\sqrt{2N} раз.

Частая ошибка: думать, что nn.Linear по умолчанию инициализирует по Kaiming для ReLU. Его std 1/3n1/\sqrt{3n} — в 2.4 раза меньше нужного.

Урок: 3.4.1

44. Как работает BatchNorm и чем опасен?

Ответ

BatchNormпакетная нормализация (BatchNorm)EN batch normalizationНормирует каждый признак по примерам батча, хранит скользящие статистики для инференса (Ioffe, Szegedy, 2015). Стандарт CNN; в LLM не используется. нормирует каждый признак по примерам батча, затем применяет обучаемые γ\gamma и β\beta; он позволил обучать глубокие CNN с большим lr. Минусы: выход примера зависит от соседей по батчу; на маленьких батчах статистика шумит; обучение и инференс различаются — при обучении он копит скользящие средние и использует их в model.eval(). Для LLM он не подходит ещё и потому, что статистика по позициям включала бы будущие токены.

Частая ошибка: забыть model.eval() перед валидацией.

Урок: 3.4.1

45. LayerNorm, RMSNorm, Pre-Norm и Post-Norm — что выбирают в LLM и почему?

Ответ

LayerNormнормализация слояEN layer normalization нормирует вектор одного токена по его признакам: вычитает среднее и делит на std. RMSNormRMSNorm (нормализация по среднеквадратичному)EN root mean square layer normalization (RMSNorm)x / sqrt(mean(x²) + ε) · g — LayerNorm без вычитания среднего и без сдвига β (Zhang, Sennrich, 2019). Стандарт Llama, Qwen, DeepSeek, MiniMind. не центрирует и не сдвигает: делит на 1d∑xk2+ε\sqrt{\frac{1}{d}\sum x_k^2 + \varepsilon} — дешевле, качество то же; так делают Llama, Qwen, DeepSeek. Pre-Norm x+F(Norm(x))x + F(\mathrm{Norm}(x)) оставляет чистый остаточный путь, и градиент проходит по «трассе» тождества; Post-Norm Norm(x+F(x))\mathrm{Norm}(x + F(x)) глубоких сетей без разогрева разваливается. Поэтому почти все LLM — Pre-Norm с финальной нормой перед LM-головой.

Частая ошибка: путать, по какой оси нормирует LayerNorm и по какой BatchNorm.

Урок: 3.4.1

Dropout, остаточные связи и затухающие градиенты

Заголовок раздела «Dropout, остаточные связи и затухающие градиенты»

46. Как работает dropout? Что происходит на инференсе?

Ответ

Dropoutдропаут (dropout)EN dropoutНа обучении каждая активация обнуляется с вероятностью p, остальные умножаются на 1/(1 − p); на инференсе слой ничего не делает. В претрейне современных LLM обычно p = 0. на обучении обнуляет каждую активацию с вероятностью pp, а выжившие умножает на 1/(1−p)1/(1-p), чтобы среднее не изменилось: при p=0.25p = 0.25 — на 1.33. На инференсе он выключен. Интуиции: нейроны не могут «сговориться», а обучение похоже на ансамбль прореженных подсетей с общими весами. В претрейне современных LLM dropout обычно 0: модель недообучена, и он только выбрасывает сигнал. При дообучении на маленьких данных он снова полезен (lora_dropout).

Частая ошибка: забыть про масштаб 1/(1−p)1/(1-p) или оценивать модель в режиме train().

Урок: 3.4.2

47. Зачем нужны остаточные связи?

Ответ

Глубокая «обычная» сеть может учиться хуже мелкой даже на train — проблема деградации: оптимизатору трудно сделать стопку нелинейных слоёв тождеством. В блоке y=x+F(x)y = x + F(x) для тождества достаточно F=0F = 0. Через градиенты: ∂y/∂x=I+∂F/∂x\partial y / \partial x = I + \partial F / \partial x, и градиент проходит блок без затухания: произведение множителей заменяется суммой. В курсе 32-слойная сеть без остатков застряла на loss ln⁡2\ln 2, с остатками решила задачу. В трансформере это остаточный поток — общая шина, в которую подслои дописывают поправки.

Частая ошибка: говорить, что ResNet лечит переобучение. Он лечит оптимизацию.

Урок: 3.4.2

48. Что такое затухающие и взрывающиеся градиенты? Как с ними бороться?

Ответ

Градиент первого слоя — произведение множителей от всех слоёв выше. Множитель меньше 1 — затухание градиентовзатухание градиентовEN vanishing gradientsГрадиент первых слоёв — произведение множителей всех слоёв выше; если они меньше 1, он экспоненциально уменьшается с глубиной (0.9⁵⁰ ≈ 0.005), и нижние слои перестают учиться.: у сигмоиды производная не больше 0.25, и через 10 слоёв остаётся 0.2510≈10−60.25^{10} \approx 10^{-6}. Больше 1 — взрыв и nan. Лекарства: ReLU вместо сигмоиды, инициализация Kaiming/Xavier, нормализация, остаточные связи, LSTM для последовательностей и обрезка градиентаобрезка градиента (gradient clipping)EN gradient clippingЕсли норма градиента больше порога, градиент масштабируют до порога: clip_grad_norm_(params, 1.0). Стандарт в обучении LLM. против взрыва. У ReLU своя беда — мёртвые нейроны: если вход всегда отрицателен, выход и градиент нулевые навсегда. В курсе при lr = 1 мёртвыми стали 75% нейронов.

Частая ошибка: предлагать клиппинг против затухания. Он ограничивает только слишком большие градиенты.

Урок: 3.4.1, 1.2.2, 3.3.3

49. Сеть не учится. Что вы проверите в первую очередь?

Ответ

По порядку. Вход: формы, dtype, метки совпадают с примерами. Loss на старте около ln⁡C\ln C: 0.69 для двух классов, 2.30 для десяти, 11.93 для словаря Qwen. Затем переобучить один батч: если даже 32 примера не запоминаются, баг в модели, loss или оптимизаторе (забытый zero_grad, softmax дважды, не та ось). Дальше — lr: loss растёт или nan — уменьшить в 3–10 раз. Следить за нормой градиента и отношением «обновление / вес» около 10−310^{-3}.

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

Урок: 3.3.3

50. Почему для изображений свёртка лучше полносвязного слоя?

Ответ

Картинка 224×224×3 — это 150 528 чисел; полносвязный слой на 1000 нейронов — 150 млн весов. Свёртка встраивает две подсказки: локальность (смысл в соседних пикселях) и разделение весов (одно ядро во всех позициях), отсюда эквивариантность к сдвигу. У Conv2d(3, 64, 3) всего 3⋅3⋅3⋅64+64=17923 \cdot 3 \cdot 3 \cdot 64 + 64 = 1792 параметра. Это сильное индуктивное смещение: CNN нужно меньше данных, а ViT без такой подсказки выигрывает на больших данных.

Частая ошибка: говорить, что свёртка инвариантна к сдвигу. Она эквивариантна; инвариантность дают пулинг и глобальное усреднение.

Урок: 3.4.3

51. Посчитайте размер выхода свёртки и рецептивное поле. Почему VGG ставит три свёртки 3×3 вместо одной 7×7?

Ответ

nout=⌊(n+2p−k)/s⌋+1n_{out} = \lfloor (n + 2p - k)/s \rfloor + 1. Первый слой ResNet (k=7k = 7, p=3p = 3, s=2s = 2) переводит 224 в ⌊223/2⌋+1=112\lfloor 223/2 \rfloor + 1 = 112. Две свёртки 3×3 подряд видят 5×5, три — 7×7; шаги и пулинг растят поле быстрее. Три свёртки 3×3 видят столько же, сколько одна 7×7, но весов на пару каналов 3⋅9=273 \cdot 9 = 27 вместо 49 (на 45% меньше), а нелинейностей три вместо одной.

Частая ошибка: забыть padding в формуле или думать, что параметры свёртки растут с размером картинки. Растут вычисления — пропорционально площади карты.

Урок: 3.4.3, 3.5.1

52. Почему простая RNN плохо помнит длинный контекст и как это решает LSTM?

Ответ

Градиент от шага TT к шагу tt — произведение T−tT - t множителей diag(tanh⁡′) Whh\mathrm{diag}(\tanh^\prime)\,W_{hh} с одной и той же матрицей: при множителе 0.9 через 100 шагов остаётся 3⋅10−53 \cdot 10^{-5}, при 1.1 — около 14 000. LSTMLSTM (долгая краткосрочная память)EN long short-term memory (LSTM)RNN с ячейкой памяти c_t и тремя гейтами (Hochreiter, Schmidhuber, 1997). Ячейка обновляется сложением c_t = f·c_{t−1} + i·g — «остаточная связь во времени». добавляет ячейку памяти, которая обновляется сложением: ct=ft⊙ct−1+it⊙gtc_t = f_t \odot c_{t-1} + i_t \odot g_t. Производная по прямому пути — гейт забывания ftf_t, без WhhW_{hh} и tanh⁡′\tanh^\prime; при ft≈1f_t \approx 1 это остаточная связь во времени. Цена — вчетверо больше параметров. GRU — упрощение с двумя гейтами.

Частая ошибка: говорить, что LSTM решает и взрыв градиентов. Против взрыва по-прежнему нужен клиппинг.

Урок: 3.4.3

53. Почему трансформер вытеснил RNN?

Ответ

Два свойства self-attention: все позиции считаются параллельно (последовательных шагов O(1)O(1) против O(n)O(n) у RNN), и любой токен смотрит на любой напрямую (длина пути O(1)O(1) против O(n)O(n)). Первое загружает GPU большими умножениями матриц, второе убирает затухание на длинных расстояниях. Цена — O(n2)O(n^2) вычислений и памяти по длине, с которой борются на ступени 5. У RNN было сильное смещение «порядок и свежесть», у трансформера его почти нет — ему нужно больше данных.

Частая ошибка: «attention лучше понимает смысл». Конкретнее — параллельность и короткий путь.

Урок: 3.4.3, 4.4.2

Квиз — тренажёр на те же темы, но с другими числами. Ошибки сами попадут в тетрадь ошибок.

Проверь себя12 вопросов
1 TP=30TP = 30, FP=10FP = 10, FN=20FN = 20. Чему равна F1F_1? Округлите до двух знаков.
2 Что из этого — утечка данных? Выберите все верные.Можно выбрать несколько ответов
3 ROC-AUC модели равен 0.8. Что это значит?
4 Бутстрэп: nn объектов тянут с возвращением из nn. Какая доля объектов попадёт в выборку хотя бы раз при большом nn? Два знака.
5 Ансамбль из B=50B = 50 деревьев, разброс каждого σ2=1\sigma^2 = 1, попарная корреляция ρ=0.5\rho = 0.5. Разброс среднего? Два знака.
6 Что уменьшает разброс (variance) модели? Выберите все верные.Можно выбрать несколько ответов
7 Почему логистическую регрессию не учат на MSE поверх сигмоиды?
8 Чем torch.optim.AdamW(weight_decay=0.1) отличается от torch.optim.Adam(weight_decay=0.1)?
9 Новая сеть, 10 классов. Какой cross-entropy loss (натуральный логарифм) ожидать на первом шаге? Два знака.
10 Dropout с p=0.2p = 0.2 в режиме обучения. На что умножаются выжившие активации?
11 Что помогает против затухания градиентов в глубокой сети? Выберите все верные.Можно выбрать несколько ответов
12 Свёртка: вход 64×64, ядро 3×3, padding 1, шаг 2. Какой размер выхода по одной оси?
  • Теоретическая секция проверяет рассуждение: определение, пример с числом, когда применять, ограничения. Уточнение «почему?» выдерживает только тот, кто знает вывод.
  • В классическом ML чаще всего спрашивают о bias–variance, регуляризации, утечках и валидации, метриках при дисбалансе, вероятностном смысле линейных моделей, бэггинге и бустинге.
  • В DL — о backprop и его цене, Adam и AdamW, инициализации и нормализации, dropout, остаточных связях, затухании градиентов, CNN и RNN.
  • Тренируйтесь вслух с таймером, сначала без подсказки; ошибки — в тетрадь ошибок, важное — в карточки. Сборники «багу» — список вопросов, а не ответов.

Дальше: урок 11.3.3 — такой же банк по LLM: токенизация, внимание, KV-кэш, MoE, масштабирование, пост-трейнинг, инференс, RAG и агенты, плюс пять задач на оценку памяти и вычислений.