100 вопросов и задач для собеседований Data Science 2025: подробный разбор

1. Что такое переобучение (overfitting) и как его предотвратить?
Overfitting — это ситуация, когда модель слишком хорошо запоминает обучающие данные, включая шум и случайные отклонения, и плохо обобщает на новых данных. Предотвратить переобучение помогают техники, такие как кросс‑валидация, регуляризация (L1/L2), использование простых моделей, сбор большего объёма данных, досрочное прекращение обучения (early stopping) и методы ансамблирования.
2. Объясните разницу между bias (смещение) и variance (разброс) в контексте моделей машинного обучения.
Смещение (bias) — это ошибка, возникающая из‑за упрощённых предположений модели; высокое смещение приводит к недообучению. Разброс (variance) — это чувствительность модели к изменению обучающего набора; высокое значение разброса ведёт к переобучению. Цель — найти баланс, чтобы суммарная ошибка (bias+variance) была минимальной.
3. Что такое перекрёстная проверка (cross‑validation) и зачем она нужна?
Перекрёстная проверка — это метод оценки качества модели, который делит данные на несколько фолдов: поочерёдно использует одни части данных для обучения, а оставшиеся — для тестирования. Это позволяет получить устойчивую оценку качества без выделения отдельного большого тестового набора и помогает подобрать гиперпараметры.
4. Какие отличия между методами случайного леса (Random Forest) и градиентного бустинга (Gradient Boosting)?
Random Forest строит множество независимых деревьев, обученных на случайных подвыборках данных и признаков, и усредняет результаты. Градиентный бустинг строит деревья последовательно, каждый раз пытаясь скорректировать ошибки предыдущих. Бустинг обычно даёт более высокую точность, но может быть чувствительнее к настройке параметров и склонен к переобучению.
5. Назовите несколько способов обработки несбалансированных выборок.
Для несбалансированных данных можно использовать: 1) взвешивание классов при обучении; 2) методы oversampling (например SMOTE) для увеличения числа примеров меньшего класса; 3) undersampling для уменьшения количества примеров большего класса; 4) модификацию порога принятия решения; 5) использование алгоритмов, устойчивых к дисбалансу (например XGBoost).
6. Как вычислить точность (precision), полноту (recall) и F1‑меру?
Точность = TP / (TP + FP), где TP — количество истинно‑положительных, а FP — ложноположительных. Полнота = TP / (TP + FN), где FN — ложноотрицательные. F1 = 2 * (precision * recall) / (precision + recall). Эти метрики помогают оценить качество классификаторов на несбалансированных данных.
7. В чём разница между бустингом и бэггингом?
Бэггинг (bagging) обучает несколько базовых моделей на разных подвыборках данных (обычно с возвратом) и усредняет их. Бустинг обучает модели последовательно, каждая новая модель корректирует ошибки предыдущих. Бэггинг снижает разброс модели, а бустинг — снижает смещение, но повышает риск переобучения.
8. Что такое градиентный спуск и какие существуют его варианты?
Градиентный спуск — это оптимизационный алгоритм, который минимизирует функцию потерь путём движения против градиента. Варианты: 1) Batch gradient descent — использует весь набор данных; 2) Stochastic gradient descent (SGD) — использует один пример; 3) Mini‑batch gradient descent — использует небольшие подвыборки; также существуют адаптивные методы (Adam, RMSprop, Adagrad).
9. Объясните понятие ‘feature engineering’ и приведите примеры.
Feature engineering — это процесс создания и выбора информативных признаков из исходных данных. Примеры: логарифмирование распределённых с перекосом значений, создание категориальных признаков из временных (день недели, месяц), генерация взаимодействий признаков (polynomial features), кодирование категориальных переменных (One‑Hot, Target Encoding).
10. Что такое кросс‑энтропия (binary cross‑entropy) в задаче бинарной классификации?
Кросс‑энтропия — функция потерь, измеряющая различие между истинными метками y и предсказанными вероятностями p. Для бинарной классификации: L = −[y * log(p) + (1−y) * log(1−p)]. Она штрафует неправильные и слишком уверенные предсказания и используется в логистической регрессии и нейронных сетях.
11. Как интерпретировать коэффициенты линейной регрессии?
Коэффициенты линейной регрессии отражают вклад соответствующих признаков в целевую переменную при прочих равных. Если коэффициент β_i положителен, увеличение признака x_i приводит к росту целевой переменной; если отрицателен — к уменьшению. Стандартные ошибки коэффициентов помогают понять их статистическую значимость.
12. Что такое регрессия Lasso и Ridge?
Обе регрессии добавляют регуляризацию для предотвращения переобучения. Ridge (L2) добавляет штраф λ * Σ w_i^2, распределяя веса и уменьшая их, но редко зануляет. Lasso (L1) добавляет штраф λ * Σ |w_i|, что может занулять неинформативные признаки, давая моделям интерпретируемость.
13. Поясните метод главных компонент (PCA).
PCA — это алгоритм снижения размерности, который преобразует исходные коррелированные признаки в набор ортогональных компонентов, упорядоченных по убыванию дисперсии. Основные шаги: стандартизация данных, вычисление ковариационной матрицы, поиск собственных векторов/значений, выбор k компонентов, формирование нового пространства признаков.
14. Что такое ROC‑кривая и AUC?
ROC‑кривая отображает зависимость чувствительности (True Positive Rate) от 1−специфичности (False Positive Rate) при изменении порога классификации. AUC (Area Under Curve) измеряет площадь под ROC‑кривой; значение 0,5 соответствует случайной модели, 1,0 — идеальной. Чем выше AUC, тем лучше модель различает классы.
15. Объясните разницу между k‑NN и k‑Means.
k‑NN — алгоритм для классификации/регрессии, который ищет k ближайших соседей в обучающей выборке и принимает решение на основе их меток. k‑Means — алгоритм кластеризации, который разбивает данные на k кластеров, минимизируя внутрикластерную дисперсию. k‑NN — метод обучения с учителем, k‑Means — без учителя.
16. Что такое деревья решений и как происходит разделение узлов?
Дерево решений — это модель, которая рекурсивно разделяет пространство признаков на области. В задачах классификации разделение узлов выбирается на основе максимального уменьшения неоднородности (например, снижение критерия Джини или энтропии). В регрессии используется снижение дисперсии или MSE.
17. Как работает алгоритм K‑Means?
K‑Means инициализирует k центров кластеров (случайно или методом k‑Means++), затем повторяет два шага: 1) назначает каждую точку ближайшему центру, 2) пересчитывает центр кластера как среднее точек. Процесс продолжается до сходимости. Итог зависит от начальной инициализации, поэтому часто выполняют несколько запусков.
18. Что такое регрессия Poisson и в каких случаях она применяется?
Пуассоновская регрессия используется для моделирования счётных данных (например, количество событий в единицу времени). Предполагается, что отклик имеет распределение Пуассона. Модель использует логарифмическую ссылочную функцию и подходит для моделирования редких событий.
19. Назовите и кратко опишите основные функции активации в нейронных сетях.
Популярные функции активации: 1) Sigmoid — формирует значения от 0 до 1; используется в выходном слое для бинарной классификации. 2) Tanh — значения от −1 до 1; более нуле‑центрированная. 3) ReLU (Rectified Linear Unit) — f(x)=max(0,x); широко используется в скрытых слоях из‑за простоты и хорошей сходимости. 4) Leaky ReLU — f(x)=max(0.01x,x); решает проблему нулевых градиентов.
20. Опишите алгоритм градиентного бустинга XGBoost и его преимущества.
XGBoost — эффективная реализация градиентного бустинга с регуляризацией. Особенности: продуманные шаги поиска оптимальных разделов, использование предсказаний и остатков, возможность работы с пропусками, параллельная обработка. XGBoost включает L1/L2‑регуляризацию, что улучшает обобщающую способность и уменьшает переобучение.
21. Что такое word embedding и как работает Word2Vec?
Word embedding представляет слова в виде плотных векторов, которые отражают семантические отношения. Word2Vec — алгоритм, который обучает векторные представления слов, решая задачу предсказания слова по контексту (CBOW) или контекста по слову (Skip‑Gram). Обученные векторы позволяют выполнять аналогии, вычислять сходства слов и использовать их как вход для нейросетей.
22. Приведите пример использования регуляризации dropout в нейронных сетях.
Dropout — это метод, при котором на каждой итерации обучения случайно “выбрасывается” часть нейронов, предотвращая их сильную взаимозависимость и переобучение. Ниже приведён пример кода в PyTorch:
import torch.nn as nn
class Net(nn.Module):
def __init__(self):
super().__init__()
self.fc1 = nn.Linear(784, 256)
self.dropout = nn.Dropout(p=0.5)
self.fc2 = nn.Linear(256, 10)
def forward(self, x):
x = torch.relu(self.fc1(x))
x = self.dropout(x)
x = self.fc2(x)
return x
23. Как работает алгоритм Apriori?
Apriori — алгоритм для поиска частых наборов элементов и ассоциативных правил в транзакционных данных. Он основывается на свойстве: если набор элементов является частым, то все его поднаборы тоже частые. Алгоритм итеративно строит кандидаты размерности k из частых наборов размерности k−1 и отбрасывает те, которые не удовлетворяют минимальной поддержке.
24. Чем отличается модель ARIMA от модели SARIMA?
ARIMA — модель для временных рядов, включающая авторегрессию (AR), интегрирование (I) и скользящее среднее (MA). SARIMA добавляет сезонные компоненты (Seasonal ARIMA), позволяя моделировать сезонные циклы. Она обозначается как ARIMA(p,d,q)(P,D,Q)_s, где (P,D,Q) — параметры сезонной части, s — длина сезона.
25. Для чего применяют метод t‑SNE?
t‑SNE — алгоритм для нелинейного снижения размерности, который хорошо отображает локальную структуру данных. Он строит вероятностное распределение расстояний в исходном пространстве и пытается сохранить его в низкоразмерном пространстве, минимизируя дивергенцию Кульбака–Лейблера. Чаще используется для визуализации высокоразмерных данных.



