Классификация и дисбаланс классов
Подтемы:
Дайте определение классификации.
Классификация - это задача машинного обучения, в которой модель стремится присвоить объектам (например, изображениям, тексту, звуку) один из заранее определенных классов на основе их признаков. Иными словами, это процесс прогнозирования категории или метки для новых наблюдений на основе известных примеров обучающего набора данных.
Ссылки для изучения
Какие методы классификации вы знаете?
Основные методы классификации:
-
Логистическая регрессия: Используется для бинарной классификации, предсказывая вероятность принадлежности к одному из двух классов.
-
Метод k-ближайших соседей
(k-NN): Классифицирует объекты на основе их близости к другим объектам в обучающем наборе. -
Деревья решений и случайный лес: Построение и использование деревьев решений для принятия решений на основе значений признаков. Случайный лес - ансамбль деревьев решений.
-
Метод опорных векторов
(SVM): Находит разделяющую гиперплоскость между классами, максимизируя отступ и минимизируя ошибку. -
Нейронные сети: Используются для классификации на основе обучения на большом количестве данных и выявления сложных зависимостей.
-
Наивный байесовский классификатор: Основан на теореме Байеса и предполагает независимость признаков для упрощения модели.
-
Градиентный бустинг и его вариации: Строит ансамбль слабых моделей, постепенно улучшая результат путем добавления новых моделей, сконцентрированных на ошибках предыдущих.
Ссылки для изучения
Как метрики бинарной классификации связаны с матрицей ошибок?
В матрице ошибок TP и TN обозначают верные предсказания положительного и отрицательного классов, FP обозначает ложное срабатывание, FN обозначает пропуск положительного объекта. Из них считают:
Accuracy показывает общую долю верных ответов, но может вводить в заблуждение при дисбалансе классов. Precision отвечает, какая доля положительных прогнозов верна; Recall показывает, какую долю реальных положительных объектов нашли. F1 сводит precision и recall в одну метрику и не учитывает TN.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Собеседование Data Science: Артур Кузин/Sber Devices vs Сергей Колесников/Tinkoff | #Нанято S1E02RU · 15:00–17:35Мок-собеседование · Совместный разбор
Участники интервью разбирают ячейки confusion matrix и формулы precision, recall и F1 для бинарной классификации.
Чем micro-, macro- и weighted-усреднение метрик отличаются?
Micro сначала суммирует TP, FP и FN по классам, затем считает метрику, поэтому большой класс сильнее влияет на результат. Macro считает метрику отдельно для каждого класса и усредняет с равными весами, делая редкие классы заметными. Weighted также усредняет классовые метрики, но весит их по числу истинных объектов класса. При дисбалансе weighted-оценка может выглядеть высокой за счет частого класса. Поэтому вместе с одним числом полезно показывать метрики по классам и confusion matrix.
Ссылки для изучения
Как считать recall, если важный редкий класс помечен нулем?
Положительный класс в формуле recall задается смыслом задачи, а не числом 1. Если критичный редкий класс закодирован нулем, указывают pos_label=0, инвертируют таргет или явно берут нужную строку confusion matrix. Recall тогда равен доле найденных объектов этого класса среди всех его объектов. Порог подбирают на validation с учетом цены пропусков и ложных тревог, затем фиксируют до test. Accuracy здесь малоинформативна: предсказание только большинства может дать 95%.
Ссылки для изучения
Как выбрать порог при разной стоимости false positive и false negative?
Сначала переводят FP и FN в сопоставимые потери либо задают ограничение, например recall не ниже 95%. Для каждого порога на validation считают ожидаемую стоимость C_FP * FP + C_FN * FN и выбирают минимум с учетом операционной емкости. Если стоимости ненадежны, показывают кривую precision-recall и несколько сценариев. Порог выбирают после обучения, но до просмотра test. При изменении prevalence и стоимости ошибок его придется пересматривать и контролировать в production.
Ссылки для изучения
Можете ли вы объяснить основную идею метода опорных векторов (SVM)?
Основная идея метода опорных векторов SVM заключается в поиске оптимальной разделяющей гиперплоскости, которая максимизирует расстояние (зазор) между двумя классами данных. SVM стремится найти гиперплоскость, которая увеличивает расстояние до ближайших точек каждого класса, называемых опорными векторами. Этот подход позволяет достичь хорошей обобщающей способности и устойчивости к переобучению. Если данные нелинейно разделимы, SVM может использовать ядерные функции для перевода данных в пространство более высокой размерности, где они становятся линейно разделимыми.
Ссылки для изучения
Что делать, если в данных есть дисбаланс классов?
Если в данных присутствует дисбаланс классов, можно применить следующие подходы:
-
Использование весов классов: Некоторые модели, такие как логистическая регрессия и случайный лес, позволяют задать веса для классов, учитывая их дисбаланс. Это позволяет модели уделять больше внимания редким классам.
-
Undersampling: Уменьшение размера преобладающего класса путем случайного удаления некоторых его экземпляров до уровня меньшего класса.
-
Oversampling: Увеличение размера редкого класса путем добавления дополнительных экземпляров или создания синтетических данных.
-
Генерация синтетических данных: Использование алгоритмов генерации синтетических данных, таких как
SMOTE(Synthetic Minority Over-sampling Technique), для увеличения размера редкого класса.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Собеседование DS-инженера: ML system design · 1:07:30–1:09:35Мок-собеседование · Совместный разбор
В кейсе модерации кандидат выбирает метрику и порог для несбалансированных классов с учётом цены ложного бана и пропуска запрещённого контента.







