Основы машинного обучения и метрики оценки моделей
Представьте, что компьютер учится распознавать, кто на фото — кот или собака, или предсказывает, пойдет ли завтра дождь. Это и есть машинное обучение: программа ищет закономерности в данных, чтобы потом делать выводы на новых примерах.
В этой статье мы разберём тест начального уровня по машинному обучению.
Эти базовые знания пригодятся тем, кто работает с данными, хочет автоматизировать рутинные решения или планирует устроиться в IT на позицию аналитика, тестировщика или младшего дата-специалиста.
Вся навигация по материалам в Telegram 👇🏻
Вопрос 1. Для каких из следующих задач может быть подходящим алгоритмом кластеризация методом K-средних?
1. По профилю пользователя на сайте определить мужчина это или женщина
2. Для множества электронных писем определить популярные темы
3. Получив набор новостных статей с различных новостных сайтов, выяснить являются ли они новостями культуры
4. Для множества данных о ценах акций предсказать будущую цену
5. Для сортировки элементов массива по возрастанию
Представь, что у нас есть куча разноцветных шариков, и мы хотим разложить их по кучкам так, чтобы в одной кучке были похожие друг на друга. Вот это и есть идея кластеризации.
Метод K-средних («K-means») берёт данные и пытается разбить их на K групп (кластеров), основываясь на том, как они «похожи» между собой.
- K-средних — это алгоритм без учителя. То есть ему не говорят заранее, где какие ярлыки (типы, классы), он сам находит «естественные группы» в данных.
1. Определить мужчина или женщина — это задача классификации, где уже есть заранее известные классы (мужчина / женщина). Это не кластеризация.
2. Определить популярные темы писем — тут мы не знаем заранее, какие темы будут. Мы хотим, чтобы алгоритм сам нашёл группы похожих писем. Это типичная задача кластеризации.
3. Выяснить, являются ли статьи новостями культуры — это классификация (есть или нет), скорее бинарная. Не подходит для K-средних.
4. Предсказать будущую цену акций — это регрессия, мы прогнозируем число. Тоже не кластеризация.
5. Сортировка массива — это вообще алгоритм упорядочивания данных по числу, не имеет отношения к кластеризации.
Для множества электронных писем определить популярные темы.
Вопрос 2. Компания разрабатывает систему предсказания спроса на продукцию в зависимости от сезона и региона. Какой тип задачи машинного обучения здесь применим?
Давай представим, что компания хочет узнать сколько человек купит их товар в июле в Москве. Или в ноябре в Сочи.
То есть они хотят предсказать конкретное числовое значение спроса, опираясь на такие факторы, как сезон и регион.
- Когда задача сводится к предсказанию числа (количества, цены, температуры, спроса) — это всегда регрессия.
- Классификация — это когда мы выбираем категорию («купит» или «не купит», «Москва» или «Питер»).
- Кластеризация — это когда нужно найти группы похожих данных без заранее заданных категорий.
- Поиск аномалий — это когда ищут необычные случаи (например, резкий скачок спроса).
- Поиск ассоциативных правил — это вроде «кто купил хлеб, купил и молоко».
Вопрос 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
Вопрос 5. Для чего используется линейная регрессия?
1. Кластеризация отзывов клиентов
2. Предсказание категориальной переменной
3. Моделирование нелинейных зависимостей
4. Создание векторных представлений
5. Предсказание числового значения целевой переменной
Линейная регрессия — это один из самых простых инструментов машинного обучения.
Представь, что у тебя есть таблица, где по одной колонке (например, температура) ты хочешь предсказать другую колонку (например, продажи мороженого). Линейная регрессия рисует прямую линию, которая лучше всего подходит к этим данным, и использует её для прогнозов.
· Линейная регрессия применяется для предсказания числового значения (сколько? какой рост? какая температура?).
· Она не используется для классификации категориальных переменных (типа «красный» или «зелёный»).
· Не для кластеризации (это совсем другая задача).
· Не для создания векторных представлений слов или текстов.
· И не для моделирования нелинейных зависимостей (для этого существуют полиномиальная регрессия, решающие деревья и др.).
Выбранный ответ: Предсказание числового значения целевой переменной
Вопрос 6. Вы обучаете модель на основе логистической регрессии. Выберите верное утверждение.
1. Увеличение сложности модели всегда ускоряет процесс обучения
2. Добавление нового признака в модель всегда приводит к равной или лучшей производительности на обучающей выборке
3. Введение регуляризации в модель всегда приводит к равной или лучшей производительности на данных, не входящих в обучающий набор
4. Добавление в модель новых признаков помогает предотвратить переобучение обучающей выборки
5. Введение регуляризации в модель всегда приводит к равной или лучшей производительности на обучающей выборке
· Увеличение сложности модели обычно наоборот замедляет обучение, т.к. больше параметров.
· Добавление нового признака чаще всего улучшает обучение на тренировочной выборке, но не всегда — может даже ухудшить, если шумный.
· Введение регуляризации (например, L1 или L2) снижает сложность модели и помогает избежать переобучения, то есть улучшает или сохраняет производительность на тестовых (не обучающих) данных. Это прямо известный факт из машинного обучения — регуляризация помогает бороться с переобучением и обычно повышает качество на новых данных.
· Добавление признаков не предотвращает переобучение — наоборот, часто усиливает.
· Введение регуляризации на обучающей выборке чаще даже ухудшает точность (так как «штрафует» слишком точное подгоняние), но зато улучшает на новых данных.
Выбранный ответ: Введение регуляризации в модель всегда приводит к равной или лучшей производительности на данных, не входящих в обучающий набор
Вопрос 7. Для чего используется линейный дискриминантный анализ (LDA)?
1. Для уменьшения размерности и классификации данных
5. Для кластеризации без разметки
Линейный дискриминантный анализ (LDA) используют в двух основных целях:
1. Для уменьшения размерности данных, чтобы их можно было легче визуализировать или быстрее обучать модель.
2. Для классификации, т.е. отделения объектов разных классов.
Он специально ищет такие линии или плоскости в данных, которые максимально хорошо разделяют разные классы.
- увеличение выборки,
- не поиск аномалий,
- не регрессия,
- не кластеризация без разметки (LDA как раз использует метки классов).
Выбранный ответ: Для уменьшения размерности и классификации данных
Вопрос 8. В какой задаче целесообразно использовать деревья решений?
3. Выделение скрытых тем в текстах
4. Классификация клиентов по уровню дохода
5. Прогнозирование курса валют
Деревья решений — это алгоритмы, которые хорошо подходят для:
Ø классификации (определить к какому классу относится объект: например, низкий, средний или высокий доход)
Ø а также для регрессии (предсказывать число), но чаще всего их показывают именно на задачах классификации.
· Дешифровка БД — криптографическая задача, деревья решений тут не помогут.
· Сжатие изображений — нужна трансформация данных, а не выбор классов по признакам.
· Выделение скрытых тем в текстах — это задача тематического моделирования (например LDA, но не деревья решений).
· Классификация клиентов по уровню дохода — это типичная задача для деревьев решений, которые на каждом шаге решают: если доход больше/меньше или есть такие-то признаки, то отнести в такой-то класс.
· Прогнозирование курса валют — для этого чаще используют временные ряды (ARIMA, LSTM), а не деревья (хотя можно пробовать и деревья для регрессии, но это менее «целесообразно» для временных зависимостей).
Выбранный ответ: Классификация клиентов по уровню дохода
Вопрос 9. Какая задача подходит для применения наивного байесовского классификатора?
1. Кластеризация медицинских записей
2. Вычисление среднеквадратической ошибки
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 и пробовать строить первые модели на практике.