Основы машинного обучения¶
1. Типы обучения¶
Обучение с учителем (Supervised Learning)¶
Модель обучается на размеченных данных (X, y), где X - признаки, y - целевая переменная.
Задачи: - Классификация - предсказание дискретной метки - Регрессия - предсказание непрерывного значения
Алгоритмы:
Линейная регрессия → y = w·x + b
Логистическая регрессия → P(y=1|x) = σ(w·x + b)
Деревья решений → иерархическая структура правил
Случайный лес → ансамбль деревьев
SVM → максимизация зазора между классами
k-NN → классификация по ближайшим соседям
Обучение без учителя (Unsupervised Learning)¶
Модель работает с неразмеченными данными, находя скрытые структуры.
Задачи: - Кластеризация - группировка похожих объектов - Снижение размерности - сокращение числа признаков - Поиск аномалий - обнаружение выбросов
Алгоритмы:
K-means → центроиды кластеров
Hierarchical clustering → дендрограмма
DBSCAN → кластеры по плотности
PCA → главные компоненты
t-SNE → визуализация многомерных данных
Autoencoders → сжатие через нейросеть
Обучение с подкреплением (Reinforcement Learning)¶
Агент обучается, взаимодействуя со средой и получая награды.
Компоненты:
Агент → принимает решения
Среда → предоставляет состояния и награды
Политика π(s) → стратегия выбора действий
Функция ценности V(s) → ожидаемая награда
Q-функция Q(s,a) → ценность действия в состоянии
2. Метрики качества¶
Для классификации¶
Accuracy = (TP + TN) / (TP + TN + FP + FN)
Precision = TP / (TP + FP)
Recall (Sensitivity) = TP / (TP + FN)
F1-Score = 2 · (Precision · Recall) / (Precision + Recall)
ROC-AUC → площадь под ROC-кривой
Confusion Matrix:
Предсказано
+ -
Фактически + TP FN
- FP TN
Для регрессии¶
MSE = (1/n) · Σ(yᵢ - ŷᵢ)²
RMSE = √MSE
MAE = (1/n) · Σ|yᵢ - ŷᵢ|
R² = 1 - SS_res / SS_tot
3. Кросс-валидация¶
K-Fold Cross-Validation¶
1. Разделить данные на K равных частей
2. Для каждой части:
- Использовать как тестовую
- Остальные K-1 как обучающую
3. Усреднить результаты K прогонов
Типичные значения K: 5 или 10
Stratified K-Fold¶
Сохраняет распределение классов в каждом фолде.
Leave-One-Out (LOO)¶
K = n (каждый объект отдельно как тест). Дорого, но точно.
4. Bias-Variance Tradeoff¶
Ошибка = Bias² + Variance + Irreducible Error
Bias (смещение):
- Высокий → недообучение (underfitting)
- Модель слишком простая
Variance (разброс):
- Высокий → переобучение (overfitting)
- Модель слишком чувствительна к данным
Балансировка:
Недообучение → увеличить сложность модели
Переобучение → регуляризация, больше данных, упрощение
5. Предобработка данных¶
Нормализация и стандартизация¶
Min-Max Scaling: x' = (x - min) / (max - min)
Z-score Standardization: x' = (x - μ) / σ
Работа с пропусками¶
Удаление → если пропусков мало
Mean/Median imputation → замена средним/медианой
KNN imputation → замена по ближайшим соседям
Model-based → предсказание пропущенных значений
Кодирование категориальных признаков¶
One-Hot Encoding → бинарные векторы
Label Encoding → числовые метки
Target Encoding → замена средним таргета