August 16

От линейных моделей до ансамблей как оценивать качество ML-моделей и избегать переобучения

Машинное обучение умеет больше, чем просто угадывать категории. На продвинутом уровне мы говорим о байесовских подходах, градиентном бустинге, оптимизации гиперпараметров и оценке неопределённости прогнозов. Всё это — инструменты, которые позволяют строить надёжные и интерпретируемые модели для сложных бизнес-задач.

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

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

Вся навигация по материалам в Telegram 👇🏻


Вопрос 1. В задаче регрессии функцию потерь, измеряющую отклонение предсказанных значений A(x) от правильных значений y, изменили: вместо квадрата разности (A(x) – y)² стали использовать абсолютное значение разности |A(x) – y|. Как изменится поведение модели при обучении с такой функцией потерь?

Варианты:

1.     Малые отклонения будут игнорироваться

2.     Ухудшится интерпретируемость результата

3.     Результат ухудшится для целевой переменной с ассиметричным распределением

4.     Снизится чувствительность к выбросам

5.     Выбросы будут влиять сильнее

Когда мы используем (A(x) – y)² (MSE, среднеквадратичную ошибку), большие ошибки становятся ещё больше (они возводятся в квадрат). Поэтому модель сильно реагирует на выбросы — пытается подогнать предсказания так, чтобы минимизировать эти большие квадраты.

Когда же используем |A(x) – y| (MAE, среднюю абсолютную ошибку), то большие ошибки не «раздуваются» так сильно — абсолютное отклонение растёт линейно.
В результате:

  • Модель меньше «боится» выбросов, она не пытается всеми силами подогнать результат под экстремальные значения.
  • То есть чувствительность к выбросам снижается.

Теперь проверим варианты:

  • Малые отклонения не будут игнорироваться — наоборот, они будут влиять так же.
  • Интерпретируемость MAE даже проще: это «средняя ошибка в исходных единицах», например рублях.
  • Ассиметричность распределения целевой переменной влияет меньше.
  • Снижается чувствительность к выбросам.
  • Не будет так, что выбросы будут влиять сильнее — наоборот, меньше.

Выбранный ответ: Снизится чувствительность к выбросам


Вопрос 2. Как можно обнаружить проблему недообучения в модели линейной регрессии?

Варианты:

1.     Модель показывает низкую точность как на обучающих, так и на тестовых данных

2.     У модели высокий коэффициент детерминации R²

3.     Ошибки на тестовых данных полностью отсутствуют

4.     Модель демонстрирует высокую точность на обучающей выборке

5.     Ошибка на тестовых данных значительно выше, чем на обучающих

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

Она плохо работает и на обучающих, и на тестовых данных — то есть вообще не справляется с задачей.

Теперь по вариантам:

  • Низкая точность и на обучающих, и на тестовых данных — это как раз классическая картина недообучения.
  • Высокий R² говорит наоборот о хорошем объяснении вариации.
  • Ошибки, полностью отсутствующие на тесте, невозможны (это фантастика).
  • Высокая точность на обучающей выборке при низкой на тестовой — это переобучение, а не недообучение.
  • Ошибка на тестовых данных значительно выше, чем на обучающих — снова симптом переобучения.

Выбранный ответ: Модель показывает низкую точность как на обучающих, так и на тестовых данных


Вопрос 3. Модель логистической регрессии обучена на выборке с сильным дисбалансом классов (например, 95% одного класса). При этом значение Accuracy оказалось высоким. Какое поведение модели мы можем ожидать в такой ситуации?

Варианты:

1.     Вероятности предсказания будут точно отражать реальные распределения

2.     Модель автоматически применяет взвешивание классов

3.     Модель склонна предсказывать преобладающий класс, игнорируя миноритарный

4.     Логистическая регрессия устойчива к дисбалансу

5.     Высокая Accuracy подтверждает хорошее качество модели

Представь, что у тебя 95% пациентов здоровы, а 5% больны. Модель может просто всегда говорить: «пациент здоров», и угадает 95% случаев — Accuracy будет высокой.
Но при этом она полностью проигнорирует больных, то есть меньшинство.

Это стандартная проблема при дисбалансе классов — Accuracy в таких случаях обманчиво высока, а модель просто «ленится» искать редкие случаи.

По вариантам:

  • Вероятности вряд ли будут хорошо отражать реальные распределения — модель может «сместиться» в сторону преобладающего класса.
  • Логистическая регрессия сама по себе не применяет взвешивание классов, это нужно задавать явно.
  • Скорее всего модель будет предсказывать преобладающий класс, почти игнорируя миноритарный.
  • Логистическая регрессия не устойчива к дисбалансу.
  • Высокая Accuracy не всегда означает качество при дисбалансе.

Выбранный ответ: Модель склонна предсказывать преобладающий класс, игнорируя миноритарный


Вопрос 4. Линейный дискриминантный анализ предполагает, что классы имеют одинаковые ковариационные матрицы. Какие последствия могут возникнуть, если это предположение нарушено?

Варианты:

1.     Модель начнет объединять схожие классы в один

2.     Модель автоматически скорректирует ковариации под каждый класс

3.     Ошибки классификации будут равномерно распределены между классами

4.     Модель может построить неэффективную границу, ухудшая классификацию

5.     LDA начнет вести себя как метод ближайших соседей

ЛДА строит линейные границы между классами, исходя из предположения, что классы имеют одинаковую «форму» распределения (одинаковые ковариационные матрицы), но разные центры.

Если на практике это не так (например, один класс вытянут, а другой круглый), то ЛДА не сможет правильно «подогнать» границу, потому что она будет линейной, а данных — нет.
Это значит, что:

  1. модель может построить неэффективную (неудачную) границу, которая плохо отделит классы,
  2. и качество классификации снизится.

Теперь по вариантам:

  • Модель не начнет объединять классы в один.
  • ЛДА не скорректирует ковариации автоматически — это сделает QDA (Quadratic Discriminant Analysis), но не LDA.
  • Ошибки не будут равномерны, наоборот — в более «неудобных» классах ошибок будет больше.
  • Будет построена неэффективная граница, ухудшающая классификацию.
  • LDA не превратится в k-NN.

Выбранный ответ:

Модель может построить неэффективную границу, ухудшая классификацию


Вопрос 5. Почему деревья решений склонны к переобучению на обучающей выборке, особенно при большой глубине дерева?

Варианты:

1.     Ошибки в обучении происходят из-за недостаточной глубины

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

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

4.     При большой глубине деревья теряют способность учитывать редкие события

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

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

  1. идеально запомнить обучающую выборку, включая случайные шумы и выбросы,
  2. о есть просто «зубрить», а не учиться выявлять общие закономерности.

Такое поведение называется переобучением (overfitting).

Теперь по вариантам:

  • Недостаточная глубина ведёт наоборот к недообучению.
  • Полные (глубокие) деревья действительно могут идеально подстроиться, запоминая шум.
  • Плохая обработка числовых признаков не причина переобучения.
  • При большой глубине деревья наоборот слишком точно учитывают даже редкие события.
  • Глубокие деревья увеличивают, а не уменьшают переобучение.

Выбранный ответ:

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


Вопрос 6. Какие последствия могут возникнуть при использовании наивного байесовского классификатора на разреженных данных, содержащих редкие, но значимые признаки?

Варианты:

1.     Метод всегда покажет высокую точность, независимо от распределения признаков

2.     Классификатор увеличит вероятность редких признаков для повышения их значимости

3.     Метод не сможет работать с разреженными данными и выдаст ошибку

4.     Метод полностью проигнорирует редкие признаки, сконцентрировавшись на частых

5.     Метод может недооценить влияние редких признаков, что приведет к снижению точности классификации

Наивный байесовский классификатор оценивает вероятность класса исходя из умножения вероятностей признаков.

  • Если признаки редкие, то их вероятности малы.
  • При перемножении они могут очень быстро стать почти нулевыми, что приведет к «затиранию» их влияния.
  • В реальности метод не полностью их игнорирует, но сильно недооценивает их влияние, что снижает точность.

Поэтому вариант «полностью проигнорирует» некорректен буквально, а вот «может недооценить влияние редких признаков, что приведет к снижению точности» — максимально точное описание.

Теперь по вариантам:

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

«Полностью проигнорирует» — не совсем корректно, скорее он недооценит.

  • Недооценка редких признаков приведет к снижению точности.

Выбранный ответ:

Метод может недооценить влияние редких признаков, что приведет к снижению точности классификации


Вопрос 7. При применении k-NN вы заметили, что один из классов доминирует в ближайших соседях из-за его численного превосходства в данных. Какое последствие это может иметь?

Варианты:

1.     Метод скорректирует веса автоматически для балансировки классов

2.     Доминирующий класс будет разбит на подклассы

3.     Это означает, что параметры модели подобраны оптимально

4.     Это увеличит точность классификации на редких классах

5.     Модель будет склонна предсказывать более частый класс, игнорируя редкие

Метод k-NN (k ближайших соседей) работает очень просто:

  • смотрит на k ближайших объектов в данных,
  • и отдаёт класс, который встречается среди них чаще всего.

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

  • склонна отдавать этот частый класс,
  • игнорируя редкие классы, у которых мало представителей.

По вариантам:

1.     Метод сам не балансирует веса (это надо специально задавать).

2.     Не будет дробить класс на подклассы.

3.     Наоборот, это признак плохого подбора данных или параметров.

4.     Это снизит, а не повысит точность на редких классах.

5.     Модель склонна предсказывать более частый класс, игнорируя редкие.

Выбранный ответ:

Модель будет склонна предсказывать более частый класс, игнорируя редкие


Вопрос 8. Вы рассматриваете использование метода опорных векторов (SVM) для классификации. Данные содержат много выбросов, а граница между классами размыта. Как можно охарактеризовать поведение метода SVM в такой ситуации?

Варианты:

1.     SVM автоматически удаляет выбросы перед построением гиперплоскости

2.     Метод чувствителен к шуму, но всегда точно разделяет классы с помощью линейного ядра

3.     SVM в любом случае строит жёсткую границу, поэтому выбросы не влияют на результат

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

5.     При наличии шумов SVM не применяется, так как требует идеального разделения классов

SVM действительно известен своей чувствительностью к выбросам, но именно для этого у него есть так называемый мягкий зазор (soft margin).

  • Этот зазор позволяет немного нарушить идеальное разделение, допуская, что некоторые точки окажутся не на той стороне гиперплоскости.
  • Это помогает SVM лучше работать на данных с шумом или пересекающимися классами, чем классический «жёсткий» SVM без допуска.

Теперь по вариантам:

1.     SVM не удаляет выбросы автоматически.

2.     Линейный SVM не всегда может точно разделить шумные данные.

3.     Жёсткая граница без мягкого зазора как раз очень плохо справляется с шумом.

4.     SVM с мягким зазором учитывает выбросы и может их частично пропускать, что помогает при пересечении классов.

5.     SVM не требует идеального разделения, именно поэтому и был придуман soft margin.

Выбранный ответ:

Метод с мягким зазором позволяет частично учитывать выбросы и лучше работает при пересечении классов


Вопрос 9. Почему интерпретируемость случайного леса (Random Forest) значительно ниже по сравнению с одиночным деревом?

Варианты:

1.     Random Forest требует обязательной стандартизации данных, что усложняет интерпретацию

2.     Random Forest игнорирует важные признаки, фокусируясь только на шумовых данных

3.     Деревья в Random Forest глубже, чем одиночное дерево, поэтому их сложнее визуализировать

4.     Random Forest использует только линейные комбинации признаков, что делает его менее прозрачным

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

Одиночное дерево решений можно легко «нарисовать» и показать путь принятия решения:

«если возраст > 30 и доход > 100 тыс, тогда класс 1».

А вот Random Forest состоит из сотен (или тысяч) деревьев, каждое из которых строит свои условия и решения.

  • Затем все эти деревья голосуют, а итоговое решение — это результат голосования.

Из-за этого:

  • нельзя вывести единого четкого набора правил, как для одного дерева.
  • мы теряем интерпретируемость — не можем просто так объяснить «почему именно этот клиент попал в этот класс».

Теперь по вариантам:

1.     Стандартизация для деревьев обычно не требуется.

2.     Random Forest наоборот снижает влияние шумовых данных.

3.     Глубина не является причиной низкой интерпретируемости, чаще лес даже из неглубоких деревьев.

4.     Random Forest не использует только линейные комбинации.

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

Выбранный ответ:

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


Вопрос 10. Какой способ поможет улучшить персонализацию рекомендаций в гибридной системе?

Варианты:

1.     Исключение метаданных из анализа

2.     Применение случайных подвыборок пользователей

3.     Использование одного метода без дополнительных признаков

4.     Учет только новых объектов в системе

5.     Совмещение коллаборативной и контентной фильтрации

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

  1. контентную фильтрацию (рекомендует товары, похожие на те, что тебе уже нравились, по их характеристикам), и
  2. коллаборативную фильтрацию (смотрит, что любят пользователи с похожим на твой вкус).

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

Теперь по вариантам:

1.     Исключение метаданных только ухудшит качество.

2.     Случайные подвыборки пользователей не связаны с персонализацией.

3.     Один метод без дополнительных признаков — наоборот, меньше информации.

4.     Учет только новых объектов — это узко.

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

Выбранный ответ:

Совмещение коллаборативной и контентной фильтрации


Вопрос 11. Каким является основное преимущество решетчатого поиска (Grid Search) при оптимизации гиперпараметров?

Варианты:

1.     Возможность гибкого поиска без строгой сетки

2.     Быстрая обработка больших пространств параметров

3.     Полное исследование всех возможных комбинаций гиперпараметров

4.     Низкая вычислительная сложность

5.     Эффективность при большом количестве гиперпараметров

Grid Search — это такой «тупой, но надёжный» способ подбора гиперпараметров.
Он просто:

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

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

Теперь по вариантам:

1.     Нет гибкости без строгой сетки — наоборот, Grid Search работает строго по сетке.

2.     Он не быстрый, особенно при большом числе параметров (комбинаторный взрыв).

3.     Зато он гарантирует полное исследование всех возможных комбинаций, заданных в сетке.

4.     Низкой вычислительной сложности нет, наоборот — это главный его минус.

5.     И при большом числе параметров становится очень неэффективен.

Выбранный ответ:

Полное исследование всех возможных комбинаций гиперпараметров


Вопрос 12. Вы хотите восстановить производную функции по экспериментальным данным, содержащим шум. С помощью какого решения вы сможете это сделать?

Варианты:

1.     Использование метода главных компонент (РСA) для уменьшения шума перед вычислением производной

2.     Кластеризация данных методом k-средних перед вычислением производной

3.     Сглаживание данных сплайнами или ядерными методами с последующим численным дифференцированием

4.     Наивное численное дифференцирование (например, метод конечных разностей) без предварительной обработки

5.     Линейная регрессия на исходные данные с взятием производной от уравнения регрессии

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

Лучшее, что можно сделать, — сначала сгладить данные, убрав шум, а потом уже взять производную.
Это делается с помощью:

Ø сглаживания сплайнами (подгоняем плавную кривую),

Ø или ядровыми методами (например, сглаживающее окно),
после чего вычисляем производную от полученной сглаженной кривой.

Теперь по вариантам:

1.     Использование PCA перед вычислением производной в первую очередь применяется для уменьшения размерности, но не решает задачу сглаживания в одном временном ряду.

2.     Кластеризация k-средних не имеет отношения к сглаживанию и нахождению производных.

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

4.     Наивное численное дифференцирование без предварительной обработки только усилит шум.

5.     Линейная регрессия и нахождение производной от уравнения регрессии подходит для общей трендовой зависимости, но в явном виде это не лучший выбор для шума и локальной производной.

Выбранный ответ:
Сглаживание данных сплайнами или ядровыми методами с последующим численным дифференцированием.


Вопрос 13. Какая часть ошибки в bias-variance decomposition считается неизбежной и не может быть устранена улучшением модели?

Варианты:

1.     Ошибка из-за шума в данных (Noise Error)

2.     Ошибка из-за разброса (Variance Error)

3.     Ошибка в выборе метрики модели

4.     Ошибка из-за смещения (Bias Error)

5.     Сумма смещения и разброса

Когда мы разлагаем ошибку модели на составляющие (bias-variance decomposition), она обычно представляется так:

  • Ошибка из-за смещения (Bias Error) — ошибка, связанная с тем, что модель слишком простая и не способна уловить закономерность (например, линейная модель пытается аппроксимировать синус). Ее можно уменьшить, сделав модель более гибкой.
  • Ошибка из-за разброса (Variance Error) — ошибка, которая возникает из-за того, что модель слишком сильно реагирует на конкретные данные (переобучается). Ее можно уменьшить за счет регуляризации, больше данных или уменьшения сложности.
  • Ошибка из-за шума в данных (Noise Error, Irreducible Error) — это часть ошибки, которая связана с естественной случайностью или ошибками измерений в данных, и она неизбежна. Сколько бы мы ни улучшали модель, убрать этот шум невозможно, если он реально есть в природе.

Теперь по вариантам:

1.     Ошибка из-за смещения и ошибка из-за разброса — могут быть уменьшены путем изменения модели.

2.     Сумма смещения и разброса тоже может изменяться.

3.     Ошибка в выборе метрики — не часть bias-variance decomposition.

4.     А вот ошибка из-за шума в данных (Noise Error) — это та самая неизбежная часть, которую улучшением модели не устранить.

Выбранный ответ:
Ошибка из-за шума в данных (Noise Error).


Вопрос 14. Вы обучаете модель классификации и хотите выполнить отбор признаков для повышения её обобщающей способности. Какой из предложенных подходов соответствует отбору признаков с использованием модели?

Варианты:

1.     Использовать веса коэффициентов линейной модели для оценки важности признаков

2.     Применить метод главных компонент (РСА) для снижения размерности

3.     Удалить признаки с низкой дисперсией

4.     Исключить признаки, имеющие пропущенные значения

5.     Стандартизировать все числовые признаки перед обучением

Есть разные способы отбора признаков:

  • Фильтрационные методы (filter) — без использования модели. Например, удаление признаков с низкой дисперсией, удаление признаков с большим количеством пропусков или высокими корреляциями между собой.
  • Методы снижения размерности (PCA) — тоже не используют модель для отбора признаков, они преобразуют признаки в новые оси.
  • Отбор признаков с использованием модели (embedded или wrapper) — когда мы строим модель и по её результатам решаем, какие признаки оставить. Например, смотрим на веса коэффициентов в линейной регрессии или важности признаков в деревьях.

Теперь по вариантам:

1.     Использовать веса коэффициентов линейной модели для оценки важности признаков — это и есть отбор с использованием модели (embedded).

2.     PCA не относится к отбору на основе модели — это метод преобразования.

3.     Удаление признаков с низкой дисперсией — статистический подход (filter), без обучения модели.

4.     Исключение признаков с пропущенными значениями — просто предобработка.

5.     Стандартизация — подготовка признаков, но не их отбор.

Выбранный ответ:
Использовать веса коэффициентов линейной модели для оценки важности признаков.


Вопрос 15. Для данных анализов пациентов требуется оценить уверенность прогноза заболевания. Какой метод лучше подходит для этой задачи?

Варианты:

1.     Логистическая регрессия с L2

2.     Ensemble из градиентного бустинга и логистической регрессии

3.     Дерево решений

4.     Bayesian Neural Network

5.     K-Nearest Neighbors

В этом вопросе важно не просто предсказать класс (болен / не болен), а именно оценить уверенность прогноза, то есть получить прогноз вместе с вероятностью и понять, насколько модель «сомневается».

  • Логистическая регрессия сразу даёт вероятности принадлежности к классам, но её вероятности часто бывают плохо откалиброваны.
  • Ensemble из бустинга и логистической регрессии чаще оптимизирован на точность классификации, но для интерпретации вероятностей не лучший.
  • Деревья решений дают прогнозы классов, но вероятность у них не очень надёжна.
  • Bayesian Neural Network (байесовская нейронная сеть) специально строится для того, чтобы моделировать распределение вероятностей предсказания, учитывая априорные и апостериорные распределения параметров. Это позволяет не просто сказать: «вероятность болезни 0.7», но и оценить неопределённость этой вероятности.
  • K-NN даёт долю ближайших соседей данного класса, что не даёт строгой вероятности и не учитывает априорную неопределённость.

Для медицинских прогнозов, где важна именно оценка уверенности, Байесовские методы считаются наиболее подходящими.

Выбранныйответ:
Bayesian Neural Network.


Заключение

После разбора теста продвинутого уровня вам станет легче понимать, почему важна калибровка вероятностей, чем хороши байесовские нейронные сети для оценки уверенности, как устроена оптимизация Grid Search и что делать с разбросом в данных.
Это даёт вам возможность выходить на проекты, где важно не просто «получить модель», а строить обоснованные прогнозы, управлять рисками и давать бизнесу понятные ответы. А значит — открывает путь к высоким позициям и интересным задачам в сфере AI и ML.