August 16

Основы машинного обучения и метрики оценки моделей

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

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

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

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


Вопрос 1. Для каких из следующих задач может быть подходящим алгоритмом кластеризация методом K-средних?

Варианты:

1.     По профилю пользователя на сайте определить мужчина это или женщина

2.     Для множества электронных писем определить популярные темы

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

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

5.     Для сортировки элементов массива по возрастанию

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

Метод K-средних («K-means») берёт данные и пытается разбить их на K групп (кластеров), основываясь на том, как они «похожи» между собой.

  • K-средних — это алгоритм без учителя. То есть ему не говорят заранее, где какие ярлыки (типы, классы), он сам находит «естественные группы» в данных.

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

1.     Определить мужчина или женщина — это задача классификации, где уже есть заранее известные классы (мужчина / женщина). Это не кластеризация.

2.     Определить популярные темы писем — тут мы не знаем заранее, какие темы будут. Мы хотим, чтобы алгоритм сам нашёл группы похожих писем. Это типичная задача кластеризации.

3.     Выяснить, являются ли статьи новостями культуры — это классификация (есть или нет), скорее бинарная. Не подходит для K-средних.

4.     Предсказать будущую цену акций — это регрессия, мы прогнозируем число. Тоже не кластеризация.

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

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

Для множества электронных писем определить популярные темы.


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

Варианты:

1.     Регрессия

2.     Поиск аномалий

3.     Классификация

4.     Кластеризация

5.     Поиск ассоциативных правил

Давай представим, что компания хочет узнать сколько человек купит их товар в июле в Москве. Или в ноябре в Сочи.

То есть они хотят предсказать конкретное числовое значение спроса, опираясь на такие факторы, как сезон и регион.

  • Когда задача сводится к предсказанию числа (количества, цены, температуры, спроса) — это всегда регрессия.
  • Классификация — это когда мы выбираем категорию («купит» или «не купит», «Москва» или «Питер»).
  • Кластеризация — это когда нужно найти группы похожих данных без заранее заданных категорий.
  • Поиск аномалий — это когда ищут необычные случаи (например, резкий скачок спроса).
  • Поиск ассоциативных правил — это вроде «кто купил хлеб, купил и молоко».

Выбранный ответ: Регрессия


Вопрос 3. Выберите НЕВЕРНОЕ описание метрики.

Варианты:

1.     F1-оценка — среднее гармоническое между точностью (Precision) и полнотой (Recall).

2.     Точность (Accuracy) — процент правильно классифицированных объектов среди всех объектов.

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

4.     Матрица ошибок (confusion matrix) — метрика, показывающая среднее количество неверных предсказаний модели.

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

Давай разберём каждое утверждение:

·        F1-оценка действительно — это гармоническое среднее между Precision и Recall. Всё верно.

·        Точность (Accuracy) — это сколько всего правильно угадали из всех случаев. Тоже правильно.

·        Объем данных — это просто характеристика набора данных, но это не метрика качества модели. Однако вопрос звучит не про это, а именно про НЕВЕРНОЕ описание метрики. Тут сказано, что это «количество примеров в обучающем наборе» — это по сути правда про объем данных, но объем данных — вообще не метрика, а характеристика данных. Но оставим пока.

·        Матрица ошибок (confusion matrix) — в описании сказано: «метрика, показывающая среднее количество неверных предсказаний модели». Это неправда.

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

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

·        Время обучения — это правда время, затраченное на обучение модели. Его иногда рассматривают как характеристику (скорость), но в ML это вполне нормальная метрика времени обучения.

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

Матрица ошибок (confusion matrix) — метрика, показывающая среднее количество неверных предсказаний модели.
(это неверное описание, т.к. confusion matrix показывает распределение предсказаний, а не среднее количество ошибок).


Вопрос 4. Представлены результаты работы бинарного классификатора:
Истинное значение 0 - Предсказано «0» (96) Предсказано «1» (4)
Истинное значение 1 - Предсказано «0» (8) Предсказано «1» (19)

Определите, какое из приведённых значений соответствует метрике accuracy.

Accuracy (точность по классификации в общем смысле) — это доля правильных предсказаний от всех предсказаний.

То есть:

Accuracy = TP+TN / TP+TN+FP+FN

Где:

1.     TP (True Positive) = 19 (истинные 1, правильно предсказаны как 1)

2.     TN (True Negative) = 96 (истинные 0, правильно предсказаны как 0)

3.     FP (False Positive) = 4 (истинные 0, ошибочно предсказаны как 1)

4.     FN (False Negative) = 8 (истинные 1, ошибочно предсказаны как 0)

Подставим числа:

Accuracy=96+19 / 96+4+8+19 = 115 / 127 ≈ 0.906

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


Вопрос 5. Для чего используется линейная регрессия?

Варианты:

1.     Кластеризация отзывов клиентов

2.     Предсказание категориальной переменной

3.     Моделирование нелинейных зависимостей

4.     Создание векторных представлений

5.     Предсказание числового значения целевой переменной

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

·        Линейная регрессия применяется для предсказания числового значения (сколько? какой рост? какая температура?).

·        Она не используется для классификации категориальных переменных (типа «красный» или «зелёный»).

·        Не для кластеризации (это совсем другая задача).

·        Не для создания векторных представлений слов или текстов.

·        И не для моделирования нелинейных зависимостей (для этого существуют полиномиальная регрессия, решающие деревья и др.).

Выбранный ответ: Предсказание числового значения целевой переменной


Вопрос 6. Вы обучаете модель на основе логистической регрессии. Выберите верное утверждение.

Варианты:

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

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

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

4.     Добавление в модель новых признаков помогает предотвратить переобучение обучающей выборки

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

·        Увеличение сложности модели обычно наоборот замедляет обучение, т.к. больше параметров.

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

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

·        Добавление признаков не предотвращает переобучение — наоборот, часто усиливает.

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

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


Вопрос 7. Для чего используется линейный дискриминантный анализ (LDA)?

Варианты:

1.     Для уменьшения размерности и классификации данных

2.     Для увеличения выборки

3.     Для поиска аномалий

4.     Для регрессионного анализа

5.     Для кластеризации без разметки

Линейный дискриминантный анализ (LDA) используют в двух основных целях:

1.     Для уменьшения размерности данных, чтобы их можно было легче визуализировать или быстрее обучать модель.

2.     Для классификации, т.е. отделения объектов разных классов.
Он специально ищет такие линии или плоскости в данных, которые максимально хорошо разделяют разные классы.

Это не:

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

Выбранный ответ: Для уменьшения размерности и классификации данных


Вопрос 8. В какой задаче целесообразно использовать деревья решений?

Варианты:

1.     Дешифровка базы данных

2.     Сжатие изображений

3.     Выделение скрытых тем в текстах

4.     Классификация клиентов по уровню дохода

5.     Прогнозирование курса валют

Деревья решений — это алгоритмы, которые хорошо подходят для:

Ø классификации (определить к какому классу относится объект: например, низкий, средний или высокий доход)

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

А теперь разберём по пунктам:

·        Дешифровка БД — криптографическая задача, деревья решений тут не помогут.

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

·        Выделение скрытых тем в текстах — это задача тематического моделирования (например LDA, но не деревья решений).

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

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

Выбранный ответ: Классификация клиентов по уровню дохода


Вопрос 9. Какая задача подходит для применения наивного байесовского классификатора?

Варианты:

1.     Кластеризация медицинских записей

2.     Вычисление среднеквадратической ошибки

3.     Поиск выбросов в данных

4.     Классификация текстов по тональности

5.     Прогнозирование стоимости акций

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

Ø для определения тональности отзывов (положительный/отрицательный),

Ø для фильтрации спама.

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

·        Кластеризация — это задача без учителя (unsupervised), а наивный Байес — supervised.

·        Среднеквадратическая ошибка — это метрика для регрессии.

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

·        Классификация текстов по тональности — классический пример для наивного байеса.

·        Прогнозирование стоимости акций — задача регрессии.

Выбранный ответ: Классификация текстов по тональности


Вопрос 10. Какую задачу можно решить с помощью метода k-NN?

Варианты:

1.     Поиск скрытых тем в текстах

2.     Определение линейной зависимости

3.     Прогнозирование временных рядов

4.     Классификация изображений по категориям

5.     Кластеризация больших данных

Метод k-NN (k ближайших соседей) — это очень интуитивный способ классификации:

Ø мы смотрим, кто окружает объект в многомерном пространстве признаков,

Ø если большинство соседей из класса «кот», значит и этот объект — «кот».

Можно также использовать k-NN для регрессии (среднее значение соседей), но чаще всего — для классификации.

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

·        Поиск скрытых тем в текстах — тематическое моделирование, например LDA.

·        Определение линейной зависимости — это линейная регрессия.

·        Прогнозирование временных рядов — это ARIMA, LSTM и др.

·        Классификация изображений по категориям — классический кейс для k-NN.

·        Кластеризация — это без учителя, а k-NN — метод обучения с учителем.

Выбранный ответ: Классификация изображений по категориям


Заключение

Теперь вам будет проще ориентироваться в основах машинного обучения: что такое обучение с учителем и без него, как работает классификация и регрессия, почему важны выборки и метрики. После такого разбора вы начнёте понимать, какие задачи можно решать ML-моделями. Это отличный фундамент для роста: дальше можно изучать Python, библиотеки Scikit-learn и пробовать строить первые модели на практике.