Базовая математика и ключевые понятия машинного обучения
Как эта тема связана с нейросетями
В прошлой статье мы разобрали, что нейросети учатся на примерах и затем применяются (инференс). Чтобы уверенно работать с готовыми моделями, правильно ставить задачи и оценивать результат, полезно понимать базовые элементы машинного обучения: что такое данные, признаки и метки, как измеряется ошибка, почему нужна оптимизация и откуда берётся переобучение.
Эта статья даёт минимальный математический фундамент, который нужен, чтобы:
понимать, что происходит при обучении модели;
выбирать метрики качества под задачу;
диагностировать проблемы вроде переобучения и утечки данных;
осознанно читать документацию и примеры кода.Данные: признаки, метки, выборка
В машинном обучении почти всегда есть три сущности.
Объект — один пример из данных (письмо, изображение, строка таблицы).
Признаки — числовое описание объекта (слова/токены, пиксели, столбцы таблицы).
Метка — правильный ответ для обучения (категория письма, класс на фото, число).Обычно данные записывают как:
матрицу признаков размера ;
вектор меток длины .Здесь:
— число объектов (строк, примеров);
— число признаков (столбцов, измерений);
— таблица чисел, где каждая строка — один объект;
— ответы (метки) для этих объектов.Важно: даже текст и изображения внутри модели превращаются в числа.
Векторы, матрицы и зачем они нужны
Вектор как список чисел
Вектор — это упорядоченный набор чисел, например признаки одного объекта:
Здесь:
— вектор признаков объекта;
— значение -го признака;
— количество признаков.Матрица как таблица чисел
Матрица — это таблица, например все объекты сразу:
Здесь — вектор признаков -го объекта.
Скалярное произведение и линейная модель
Очень базовая модель прогнозирования устроена так: берём признаки и веса, перемножаем и складываем.
Где:
— предсказание модели;
— признаки объекта;
— веса (параметры модели), по одному на каждый признак;
— вес -го признака;
— смещение (bias, свободный член);
— суммирование по всем признакам.Нейросети устроены сложнее линейной модели, но на уровне вычислений они постоянно используют те же идеи: векторы, матрицы, умножение и сложение.
!Наглядная схема вычисления предсказания в простой модели
Вероятности: что важно для ML
Вероятность как мера уверенности
Во многих задачах модель не просто говорит «класс A», а выдаёт
вероятности классов: например, 0.7 что это спам и 0.3 что не спам. Это удобно для:
выбора порога решения;
ранжирования;
оценки уверенности.Ошибки, шум и «лучше невозможно»
Даже идеальная модель не всегда может давать 100% точность:
данные могут быть шумными;
метки могут быть ошибочны;
классы могут пересекаться по признакам.Поэтому мы почти всегда работаем с компромиссом между ошибкой и сложностью модели.
Целевая функция (loss): как измеряется ошибка
Чтобы обучать модель, нужно формально определить, что такое «ошибка». Для этого вводят
функцию потерь (loss).
Пример для регрессии: среднеквадратичная ошибка
Если мы предсказываем число (например, цену), популярная функция потерь:
Где:
— средняя ошибка по всем объектам;
— число объектов;
— индекс объекта;
— истинное значение;
— предсказание модели;
— квадрат, чтобы сильнее штрафовать большие ошибки.Пример для классификации: кросс-энтропия
Если мы выбираем один класс из нескольких, часто используют
кросс-энтропию. В бинарном случае (класс 0 или 1):
Где:
— предсказанная вероятность класса 1 для объекта ;
— логарифм (нужен, чтобы сильно штрафовать «уверенные ошибки»);
— истинная метка.Если формула кажется тяжёлой, достаточно запомнить смысл: кросс-энтропия делает обучение устойчивым и поощряет модель повышать вероятность правильного класса.
Оптимизация: как модель учится уменьшать loss
Обучение — это подбор параметров (весов) так, чтобы loss стал меньше.
Градиент как «направление, куда уменьшать ошибку»
Интуитивно:
есть параметры модели (например, веса) ;
есть функция ошибки ;
мы хотим найти такие , при которых минимальна.В нейросетях для этого используют градиентный спуск.
Один шаг градиентного спуска
Где:
— текущие параметры;
— «присваивание» (обновляем значение);
— скорость обучения (learning rate), маленькое положительное число;
— градиент, то есть вектор, показывающий, как изменить параметры, чтобы увеличить loss; со знаком минус мы идём в сторону уменьшения loss.На практике вы чаще будете видеть это в настройках обучения как learning_rate.
!Типичная динамика loss во время обучения
Обучающая, валидационная и тестовая выборки
Чтобы честно оценивать качество, данные делят на части.
Train — на этом обучаем модель.
Validation — на этом подбираем настройки (гиперпараметры), выбираем лучшую версию.
Test — финальная проверка качества, которую нельзя использовать для подбора.Ключевой принцип: то, что использовалось для выбора настроек, уже не является «честной» проверкой.
Подробнее о терминах и хороших практиках есть в глоссарии scikit-learn: Глоссарий scikit-learn.
Переобучение и недообучение
Недообучение
Модель слишком простая или обучена недостаточно.
ошибка на train высокая;
ошибка на validation тоже высокая.Переобучение
Модель «запомнила» обучающие примеры, но плохо обобщает.
ошибка на train низкая;
ошибка на validation заметно выше.Как с этим борются
Базовые подходы:
больше и разнообразнее данные;
регуляризация (штраф за слишком большие веса);
ранняя остановка (early stopping);
упрощение модели или ограничение числа эпох;
аугментации (особенно для изображений).Нормализация и масштабирование признаков
Численные признаки часто имеют разные масштабы: возраст (0–100), доход (0–миллионы), количество кликов (0–тысячи). Многие методы (и оптимизация нейросетей тоже) работают стабильнее, если признаки приведены к сопоставимым масштабам.
Один из стандартных вариантов — стандартизация:
Где:
— исходное значение признака;
— среднее значение признака в обучающей выборке;
— стандартное отклонение признака в обучающей выборке;
— стандартизованное значение.Важно: и нужно считать только по train, а затем применять к validation/test — иначе получится утечка данных.
Метрики: как измерять качество «по-человечески»
Loss нужен для обучения, но для бизнеса и практики чаще важны
метрики.
Классификация
Accuracy — доля правильных ответов.
Precision — насколько «чисты» положительные срабатывания.
Recall — насколько хорошо мы находим все положительные случаи.
F1-score — баланс между precision и recall.Эти метрики удобно объяснять через матрицу ошибок (confusion matrix).
!Матрица ошибок для бинарной классификации
Регрессия
MAE — средняя абсолютная ошибка.
MSE/RMSE — квадратичные ошибки, сильнее штрафуют большие промахи.Выбор метрики зависит от задачи: например, в обнаружении мошенничества часто важнее recall (не пропустить мошенника), а в спам-фильтре может быть критичен precision (не отправить важное письмо в спам).
Гиперпараметры и параметры
Важно различать:
Параметры — то, что модель учит (веса нейросети).
Гиперпараметры — то, что выбираем мы (скорость обучения, число эпох, размер батча, архитектура, коэффициенты регуляризации).Подбор гиперпараметров делается по validation, а не по test.
Чек-лист практического понимания перед следующими темами
Если вы уверенно понимаете пункты ниже, вам будет легче в следующих статьях курса (про практическую работу с моделями и сборку проектов):
что такое (признаки) и (метки);
зачем нужна функция потерь и почему метрика не всегда равна loss;
что делает градиентный спуск и что такое learning_rate;
чем опасна утечка данных;
как выглядит переобучение по train/validation.Дополнительные источники
Базовые определения и контекст: Машинное обучение
Введение в ключевые идеи (книга): Deep Learning Book
Практические термины и определения: Глоссарий scikit-learn