Машинное обучение для практиков модели, метрики, ансамбли и рекомендации
Машинное обучение — это не магия и не «чёрный ящик», а строгая математика, которая помогает находить паттерны там, где человек быстро запутается. На среднем уровне знаний появляются вопросы про переобучение, регуляризацию, выбор метрик и работу с несбалансированными классами.
В этой статье мы детально разберём тест второго уровня, объясним, почему деревья решений склонны к переобучению, как влияет bias-variance tradeoff и что делать с шумными данными.
Эти знания пригодятся аналитикам, дата-специалистам и разработчикам, которые хотят перейти от простых дашбордов к автоматическому прогнозированию или построению рекомендательных систем.
Вся навигация по материалам в Telegram 👇🏻
Вопрос 1. Какое утверждение верно для обучения с учителем (supervised learning), но неверно для обучения без учителя (unsupervised learning)?
1. Может применяться только для задач классификации
2. Не требует разделения данных на обучающую и тестовую выборки
3. Используется для поиска скрытых закономерностей в данных
4. Требует одинакового количества примеров для каждого класса
5. Модель обучается на размеченных данных, где каждому примеру соответствует целевая переменная
Обучение с учителем — это когда у нас есть примеры и мы знаем правильный ответ (например: фото собаки и подпись «собака»). Модель учится по этим парам «пример — ответ».
Обучение без учителя — это когда мы просто даём кучу примеров без ответов и модель сама ищет закономерности.
1. Может применяться только для задач классификации — неверно, т.к. supervised learning используют также для регрессии (предсказывать числа).
2. Не требует разделения на train/test — неверно, supervised обычно требует разделения на обучающую и тестовую выборку для проверки.
3. Используется для поиска скрытых закономерностей — это как раз цель unsupervised learning, а не supervised.
4. Требует одинакового числа примеров для каждого класса — это вообще не требование supervised learning, можно учить и на несбалансированных выборках (будут другие подходы для борьбы с этим, но не требование).
5. Модель обучается на размеченных данных, где каждому примеру соответствует целевая переменная — да, это и есть ключевое различие supervised vs unsupervised. В unsupervised таких целевых переменных нет.
Модель обучается на размеченных данных, где каждому примеру соответствует целевая переменная
Вопрос 2. Что измеряет метрика Recall (полнота) в задаче бинарной классификации?
1. Среднюю ошибку модели на тестовой выборке
2. Долю истинно положительных предсказаний среди всех объектов, предсказанных как положительные
3. Количество ошибок модели на тренировочных данных
4. Соотношение ложных срабатываний к общему количеству прогнозов
5. Долю истинно положительных предсказаний среди всех фактически положительных объектов
Представь, что у тебя есть задачи «находить больных» среди всех пациентов.
«Из всех реально больных (положительных случаев) скольких мы нашли?»
- TP — истинно положительные (мы сказали «болен» и он действительно болен),
- FN — пропущенные больные (мы сказали «здоров», а он болен).
· Средняя ошибка — это скорее MSE / RMSE для регрессии, не для Recall.
· Доля TP среди всех предсказанных положительных — это Precision, а не Recall.
· Количество ошибок на тренировочных данных — это просто ошибка, не Recall.
· Соотношение ложных срабатываний — тоже не Recall.
· Доля истинно положительных предсказаний среди всех фактически положительных объектов — идеально описывает Recall.
Выбранный ответ: Долю истинно положительных предсказаний среди всех фактически положительных объектов
Вопрос 3. Какой из признаков обязательно должен быть исключён или преобразован перед использованием в линейной регрессии?
1. Отсутствующие значения, заменённые медианой
2. Числовой признак, нормализованный от 0 до 1
3. Положительная корреляция между двумя признаками
4. Категориальный признак с несколькими уникальными значениями
5. Нормальное распределение целевой переменной
Представим, что ты строишь модель, чтобы предсказывать цену квартиры.
- Линейная регрессия понимает только числа.
- Если у тебя есть категориальный признак, например «Город» = {Москва, СПб, Казань}, то регрессия просто не сможет с этим работать, пока ты не превратишь это в числа (например, через one-hot encoding).
· Отсутствующие значения, уже заменённые медианой — их уже обработали, линейная регрессия это «ест».
· Числовой признак, нормализованный — отлично подходит для регрессии.
· Положительная корреляция — это просто зависимость, не мешает напрямую.
· Категориальный признак с несколькими уникальными значениями — вот его обязательно надо кодировать (one-hot или label encoding). Если оставить в виде строк, регрессия не сможет их обработать.
· Нормальное распределение целевой переменной не требуется для самой регрессии (требуется нормальность ошибок для доверительных интервалов).
Выбранный ответ: Категориальный признак с несколькими уникальными значениями
Вопрос 4. Когда логистическая регрессия применима?
1. Для кластеризации пользователей по их поведению
2. Для восстановления пропущенных пикселей в изображении
3. Для прогнозирования стоимости акций через 1 год
4. Для предсказания возраста человека по его фотографии
5. Для предсказания вероятности дефолта клиента банка
Логистическая регрессия — это метод для предсказания вероятности события, которое имеет два возможных исхода (например, «да/нет», «будет дефолт / не будет», «клиент уйдёт / не уйдёт»).
· Кластеризация — это вообще задача без учителя, логистическая регрессия тут не подходит.
· Восстановление пикселей — это задача регрессии или генерации, но не бинарной классификации.
· Прогноз стоимости акций через год — задача регрессии, нужен непрерывный результат.
· Предсказание возраста — это тоже регрессия (число лет).
· Предсказание вероятности дефолта — это типичная задача для логистической регрессии: «будет дефолт / не будет», плюс модель сразу даёт вероятность.
Выбранный ответ: Для предсказания вероятности дефолта клиента банка
Вопрос 5. Вы обучили модель Линейного дискриминантного анализа (LDA) для задачи классификации четырех категорий клиентов. Какое максимальное количество линейно-независимых компонентов (новых признаков) может получить модель после преобразования?
1. Столько же, сколько исходных признаков
2. Четыре компоненты (по числу классов)
3. Три компоненты (число классов минус один)
4. Компоненты не используются в LDA
ЛДА (LDA) — это метод уменьшения размерности, который пытается максимально отделить классы.
Есть важное правило для LDA:
- Максимальное число новых признаков (компонент), которое можно получить после преобразования = (число классов - 1).
- Если есть 4 категории клиентов → максимум можно получить 3 линейно-независимые компоненты.
- Почему не 4? Потому что при разделении K классов, чтобы их полностью различить в пространстве, достаточно (K-1) направлений.
Выбранный ответ: Три компоненты (число классов минус один)
Вопрос 6. Как называется проблема, при которой дерево решений запоминает все особенности обучающей выборки, включая шум?
Представь, что дерево решений старается слишком сильно — оно так точно «выучивает» все данные, включая случайные колебания и шум, что на новых данных оно начинает ошибаться.
Это как если студент заучил билеты дословно, включая ошибки печати, и не может ответить на похожие, но слегка изменённые вопросы.
Такое поведение называется переобучение (overfitting).
· Недообучение (underfitting) — это когда модель слишком простая и даже на обучающих данных плохо справляется.
· Случайное разбиение — это просто процедура разделения данных на train/test, не ошибка модели.
· Регрессия и кластеризация — это типы задач, не проблемы модели.
· Переобучение — это и есть ситуация, когда дерево запомнило всё, включая шум.
Вопрос 7. Вы планируете использовать наивный байесовский классификатор для классификации отзывов пользователей как положительные или отрицательные. Какое ограничение этого метода следует учитывать при проектировании модели?
1. Он предполагает независимость признаков друг от друга, что редко выполняется на практике
2. Он требует предварительного уменьшения размерности
3. Он всегда даёт лучшее качество, чем деревья решений
4. Он не работает с категориальными признаками
5. Он может использовать только числовые признаки
Наивный байесовский классификатор работает по простой формуле вероятностей, где он считает, что каждый признак влияет на результат независимо от других признаков. Это очень сильное допущение (называется наивным предположением о независимости), которое на практике часто не выполняется, особенно в тексте, где слова связаны между собой.
· Он предполагает независимость признаков друг от друга, что редко выполняется на практике — это как раз его ключевое ограничение.
· Не требует уменьшения размерности — байес легко работает даже с большим числом признаков (слова в тексте — типичный пример).
· Не всегда даёт лучшее качество, чем деревья решений — наоборот, иногда хуже.
· Работает и с категориальными признаками, например в задаче фильтрации спама.
· Может использовать категориальные и числовые признаки.
Он предполагает независимость признаков друг от друга, что редко выполняется на практике
Вопрос 8. Для применения метода k-ближайших соседей на текстовых данных лучшей метрикой расстояния будет:
Когда мы сравниваем тексты, чаще всего представляем их в виде больших векторов (например, частота слов).
- Евклидово и Манхэттенское расстояния плохо работают на таких разреженных и высокоразмерных данных (например, векторы словаря могут иметь тысячи нулей).
- Хэмминг используется для бинарных строк одинаковой длины (например, битовые коды), а не для текстов с частотами.
- Махаланобис оценивает расстояние с учетом ковариации признаков, но для текстов и огромных разреженных матриц не применяется.
- Косинусное расстояние (по сути, мера близости углов между векторами) — идеально подходит для текстов, т.к. смотрит не на абсолютную величину, а на то, насколько тексты «направлены» в одну сторону (одни и те же слова встречаются пропорционально).
Выбранный ответ: Косинусное расстояние
Вопрос 9. Какова основная идея метода опорных векторов?
1. Случайное разбиение выборки
3. Предсказание вероятности события
4. Уменьшение размерности данных
5. Нахождение гиперплоскости, максимально разделяющей классы
Метод опорных векторов (SVM) — это алгоритм, который:
- ищет линию (или в многомерном пространстве — гиперплоскость),
- которая лучше всего разделяет разные классы данных,
- и делает это так, чтобы расстояние (запас) от ближайших точек до этой линии было максимальным (так модель становится более устойчивой к ошибкам).
- Случайное разбиение выборки — это подготовительный этап для обучения/валидации.
- Построение дерева решений — это метод decision tree.
- Предсказание вероятности события — делает логистическая регрессия и другие вероятностные модели.
- Уменьшение размерности — это PCA или LDA.
- Нахождение гиперплоскости, максимально разделяющей классы — это и есть суть SVM.
Нахождение гиперплоскости, максимально разделяющей классы
Вопрос 10. Какой эффект достигается за счёт объединения нескольких деревьев решений в случайный лес?
2. Повышение стабильности и точности предсказаний
4. Уменьшение количества признаков
5. Исключение категориальных переменных
Случайный лес (Random Forest) — это метод, где строят много деревьев решений на разных случайных подвыборках данных и признаков, а потом усредняют (или берут большинство голосов).
- Одно дерево решений часто переобучается (запоминает данные слишком детально).
- Но если взять много деревьев, каждое «ошибается» по-своему. Когда они голосуют вместе, ошибки взаимно гасятся.
- Это повышает стабильность и точность предсказаний, делает модель менее чувствительной к случайным колебаниям в данных.
- Увеличение переобучения — наоборот, лес снижает переобучение.
- Повышение стабильности и точности предсказаний — главная цель Random Forest.
- Ускорение работы — обычно наоборот, медленнее, так как много деревьев.
- Уменьшение количества признаков — не про лес, хотя он случайно отбирает подмножества признаков.
- Исключение категориальных переменных — не связано напрямую с лесом.
Повышение стабильности и точности предсказаний
Вопрос 11. Какой тип рекомендательной системы делает предложения на основе предпочтений других пользователей с похожим поведением?
Представь, что ты смотришь фильмы на платформе, а она тебе говорит:
«Пользователи, которые смотрели и полюбили те же фильмы, что и ты, также оценили вот эти фильмы.»
Это и есть коллаборативная фильтрация — она рекомендует, исходя из похожести пользователей по их поведению, то есть по их оценкам, лайкам, покупкам.
- Контентная фильтрация — делает предложения на основе характеристик самих объектов («ты любишь драмы — вот ещё драма»), не учитывая других пользователей.
- Фильтрация по новизне — просто показывает новые товары.
- Гибридная система — это сочетание коллаборативной и контентной, но здесь вопрос прямо про «основе предпочтений других пользователей».
- Случайная фильтрация — такого подхода в ML нет.
Выбранный ответ: Коллаборативная фильтрация
Вопрос 12. Какой метод оптимизации гиперпараметров позволяет последовательно выбирать новые параметры, основываясь на результатах предыдущих итераций и вероятностной модели качества?
2. Случайный поиск (Random Search)
3. Байесовская оптимизация (Bayesian Optimization)
5. Решетчатый поиск (Grid Search)
- Grid Search и Random Search просто перебирают значения (решётка или случайно), они не используют результаты прошлых запусков для выбора следующих точек.
- Градиентный спуск используется для обучения самих моделей (настройки весов), но не для поиска гиперпараметров, и точно не строит вероятностные модели.
- Генетические алгоритмы эволюционно отбирают комбинации, но не на основе строгой вероятностной модели ошибки.
- Байесовская оптимизация именно для этого и создана:
она строит вероятностную модель функции ошибки,
на её основе выбирает следующую точку для теста,
постепенно улучшает предсказания о том, где могут быть лучшие гиперпараметры.
Байесовская оптимизация (Bayesian Optimization)
Заключение
Вы разобрали задачи среднего уровня сложности и поняли, как вести себя с реальными данными: сглаживать шум, избегать переобучения, правильно подбирать функции потерь и понимать важность разброса и смещения. Теперь вы уже не просто «знаете про машинное обучение», а умеете задавать правильные вопросы к данным и результатам моделей. Это критический навык для того, чтобы расти до позиции дата-сайентиста или тимлида аналитиков и принимать решения, которые влияют на бизнес.