Глоссарий
Эта глава служит опорной точкой. Сюда можно возвращаться, если термин встречается в коде, формуле или описании алгоритма и хочется быстро освежить смысл без погружения в теорию.
Алгоритм
Алгоритм – это конечная последовательность шагов, которая преобразует входные данные в результат. В машинном обучении алгоритм обычно определяет, как именно мы подбираем параметры модели: например, градиентный спуск, стохастический градиентный спуск или -ближайших соседей.
Важно различать модель и алгоритм: модель – это форма зависимости, алгоритм – способ ее обучения или применения.
Аффинное преобразование
Аффинное преобразование – это преобразование вида
где – матрица весов, – входной вектор признаков, а – вектор смещений (bias).
Геометрически аффинное преобразование сочетает в себе линейное преобразование (повороты, растяжения, сжатия, отражения) и сдвиг. В отличие от чисто линейного преобразования, оно не обязано сохранять начало координат.
В машинном обучении аффинное преобразование лежит в основе большинства моделей:
линейной и логистической регрессии
полносвязных слоев нейросетей
преобразования эмбеддингов и признаков
Практически любая модель сначала выполняет аффинное преобразование входных данных, а затем применяет нелинейность или функцию решения. Поэтому выражение $$ можно считать фундаментальным строительным блоком современного ML.
Интуитивно аффинное преобразование отвечает за то, как модель "перевзвешивает" признаки и сдвигает результат в нужную область пространства.
Attention-механизм
Attention-механизм – это способ позволить модели избирательно "обращать внимание" на разные части входных данных в зависимости от контекста задачи.
Идея "внимания" состоит в том, что не все элементы входа одинаково важны. Для каждого элемента модель вычисляет, насколько сильно он связан с текущим запросом, и на основе этого взвешивает вклад информации.
В математической форме attention строится вокруг скалярных произведений. Для каждого элемента вычисляются три вектора:
Query (Q) – что мы сейчас ищем
Key (K) – что представляет каждый элемент
Value (V) – какую информацию он несет
Оценка важности обычно вычисляется как скалярное произведение , после чего применяется нормализация (чаще всего softmax). Итоговый результат – это взвешенная сумма векторов .
Attention-механизмы лежат в основе трансформеров и современных языковых моделей. Они позволяют учитывать зависимости между словами независимо от расстояния в тексте, что принципиально отличает их от классических последовательных моделей.
Интуитивно attention можно представить как динамический механизм фокуса: модель каждый раз по-новому решает, какие части входа важны именно сейчас. С практической точки зрения attention – это обобщение идеи сходства векторов, доведенное до масштаба целых моделей.
Backpropagation (обратное распространение ошибки)
Backpropagation, или backprop – это алгоритм вычисления градиентов функции ошибки по параметрам нейросети путем последовательного применения правила цепочки от выхода модели к ее входам.
Идея backprop заключается в том, что ошибка, вычисленная на выходе сети, распространяется назад по слоям, позволяя определить вклад каждого параметра в итоговую ошибку.
Математически backprop основан на правиле цепочки производных. Каждый слой получает градиент от следующего слоя, умножает его на свою локальную производную и передает дальше назад.
Backprop не является отдельным алгоритмом обучения, а служит механизмом вычисления градиентов. Сами параметры обновляются уже с помощью градиентного спуска, SGD или их вариантов.
В практическом смысле backprop делает возможным обучение многослойных моделей. Без него вычисление градиентов для нейросетей было бы вычислительно непрактичным.
Интуитивно backprop можно представить как пошаговый разбор ошибки: модель выясняет, какой именно слой и какие веса ответственны за неправильное предсказание, и корректирует их.
Bag-of-Words (мешок слов)
Bag-of-Words (BoW) – это способ представить текст в виде числового вектора. Каждый элемент вектора соответствует слову из словаря, а значение показывает, сколько раз это слово встретилось в тексте.
При этом порядок слов полностью игнорируется. Фразы "PHP любит ML" и "ML любит PHP" будут иметь одинаковое представление.
BoW прост, быстр и хорошо подходит для первых экспериментов, но плохо передает смысл и контекст.
Batch gradient descent
Batch gradient descent – это классический вариант градиентного спуска, при котором градиент функции ошибки вычисляется по всей обучающей выборке целиком перед каждым обновлением параметров модели.
На каждом шаге алгоритм использует все доступные данные, поэтому направление градиента является точным для текущей модели. Это делает траекторию обучения гладкой и стабильной.
Основные особенности batch gradient descent:
стабильные и предсказуемые обновления
отсутствие шума в градиенте
высокая вычислительная стоимость на больших датасетах
Из-за необходимости проходить по всем данным на каждом шаге batch gradient descent плохо масштабируется и редко используется в чистом виде для больших задач.
С практической точки зрения batch gradient descent удобно применять:
на небольших наборах данных
в учебных и аналитических примерах
когда важна воспроизводимость и точность шага
В реальных системах его часто заменяют mini-batch или стохастическим градиентным спуском, которые обеспечивают лучший баланс между скоростью и устойчивостью обучения.
Bias (смещение)
Bias – это свободный член модели, позволяющий сдвигать результат независимо от входных признаков. В линейной регрессии bias соответствует члену в формуле
Интуитивно bias отвечает за “базовый уровень” предсказания.
Cosine Similarity (косинусное сходство)
Cosine similarity – мера сходства двух векторов, основанная на косинусе угла между ними:
Она показывает, насколько два вектора направлены в одну сторону, игнорируя их длину. Это особенно важно при работе с текстами, эмбеддингами и TF-IDF.
Cosine similarity часто предпочтительнее евклидова расстояния для текстов, потому что нас интересует не абсолютный масштаб, а смысловое направление.
Вектор
Вектор – упорядоченный набор чисел, представляющий объект. В машинном обучении почти все является вектором: строка текста, пользователь, событие, изображение.
Работа с векторами – фундамент ML.
Данные
Данные – это наблюдения, представленные в числовой форме. В контексте машинного обучения данные почти всегда интерпретируются как точки в многомерном пространстве, где каждая координата – это признак.
Тексты, изображения, события, пользователи – все в итоге сводится к векторам чисел.
Dot product (скалярное произведение)
Скалярное произведение – это операция над двумя векторами, результатом которой является одно число. В координатной форме оно определяется как сумма произведений соответствующих компонент:
Геометрически скалярное произведение выражается через длины векторов и угол между ними:
Из этой формулы напрямую следует cosine similarity, которая по сути является нормированным скалярным произведением.
В машинном обучении скалярное произведение встречается повсюду. Линейная модель вычисляет предсказание как скалярное произведение вектора признаков и вектора весов с добавлением bias. Поиск похожих объектов, работа с эмбеддингами, TF-IDF и Bag-of-Words также сводятся к скалярным произведениям между векторами.
Интуитивно скалярное произведение отвечает на вопрос: "Насколько два вектора смотрят в одну сторону?" Если оно большое и положительное, объекты похожи; если близко к нулю – почти независимы; если отрицательное – направлены в разные стороны.
С практической точки зрения скалярное произведение – это базовая операция, вокруг которой построена большая часть классических и современных алгоритмов машинного обучения.
Embeddings (эмбеддинги)
Эмбеддинги – это плотные векторные представления объектов (слов, предложений, документов, изображений), которые кодируют их смысл.
В отличие от Bag-of-Words, эмбеддинги:
имеют фиксированную размерность
учитывают семантику
позволяют сравнивать смысл, а не просто совпадение слов
Современные эмбеддинги обычно получаются с помощью нейросетей и активно используются в поиске, рекомендациях и RAG-системах.
Epoch (эпоха)
Эпоха – это один полный проход алгоритма обучения по всей обучающей выборке.
Если используется batch gradient descent, одна эпоха соответствует одному обновлению параметров модели. При стохастическом или mini-batch градиентном спуске в течение одной эпохи выполняется много обновлений – по одному на каждый объект или батч данных.
Количество эпох определяет, сколько раз модель "увидит" все обучающие данные. Слишком малое число эпох приводит к недообучению, а слишком большое – к переобучению.
На практике число эпох выбирают исходя из:
поведения loss-функции
качества на валидационной выборке
скорости сходимости
Интуитивно эпоху можно представить как один учебный цикл, в течение которого модель последовательно знакомится со всеми примерами и постепенно корректирует свои параметры.
Евклидово расстояние
Евклидово расстояние – обычное расстояние “по линейке” между двумя точками:
Оно хорошо работает для числовых данных, но часто уступает cosine similarity для текстов и эмбеддингов.
Feature (признак)
Признак – это измеримая характеристика объекта. Для квартиры это может быть площадь, для пользователя – возраст, для текста – частота слова или значение эмбеддинга.
Модель работает не с "реальными объектами", а с их признаками.
Feature engineering
Feature engineering – процесс преобразования сырых данных в признаки, удобные для модели. Это может быть нормализация чисел, кодирование категорий, построение TF-IDF или генерация дополнительных признаков.
На практике качество признаков часто важнее выбора конкретного алгоритма.
Градиент
Градиент – это вектор производных функции по всем ее параметрам. Он указывает направление наибольшего роста функции в многомерном пространстве.
Если функция зависит от параметров , то градиент записывается как:
Геометрически градиент перпендикулярен линиям равного значения функции и показывает, куда "идет вверх" поверхность ошибки. Поэтому для минимизации функции (например, loss-функции) двигаются в противоположном направлении – против градиента.
В машинном обучении градиент используется для:
обновления параметров модели
обучения линейных моделей и нейросетей
оптимизации MSE, log loss и других функций
Интуитивно градиент отвечает на вопрос: "В какую сторону нужно изменить параметры, чтобы ошибка росла быстрее всего?" А значит, двигаясь в обратную сторону, мы быстрее всего уменьшаем ошибку.
С практической точки зрения почти все обучение моделей сводится к вычислению градиентов и небольшим шагам в пространстве параметров.
Градиентный спуск
Градиентный спуск – алгоритм оптимизации, который подбирает параметры модели, двигаясь в сторону уменьшения ошибки.
Он основан на вычислении производной (градиента) функции ошибки по параметрам модели и является базовым инструментом для линейных моделей и нейросетей.
L1-регуляризация
L1-регуляризация – это регуляризация, основанная на сумме абсолютных значений весов модели:
Ее ключевая особенность в том, что она стремится обнулять некоторые коэффициенты полностью. В результате модель начинает использовать только часть признаков, а остальные фактически отбрасывает.
С практической точки зрения L1-регуляризация выполняет неявный отбор признаков и особенно полезна в задачах с большим количеством признаков, например при использовании Bag-of-Words или TF-IDF.
Из-за этой особенности оптимизация с L1-регуляризацией сложнее, чем с L2, но итоговая модель часто получается более интерпретируемой.
L2-регуляризация
L2-регуляризация – это способ борьбы с переобучением, при котором модель штрафуется за слишком большие значения параметров.
Идея проста: если коэффициенты модели становятся слишком большими, значит она начинает слишком точно подгоняться под обучающие данные. L2-регуляризация добавляет к функции ошибки дополнительный член, зависящий от квадратов весов:
Здесь – коэффициент регуляризации, определяющий силу штрафа.
Интуитивно L2-регуляризация "размазывает" влияние признаков, заставляя модель использовать их более равномерно. Коэффициенты обычно становятся маленькими, но редко обнуляются полностью.
L2-регуляризация особенно хорошо работает в линейных моделях и логистической регрессии, когда признаки коррелированы между собой.
Learning rate (скорость обучения)
Learning rate – это коэффициент, определяющий размер шага, с которым модель изменяет свои параметры при движении против градиента.
В простейшем виде обновление параметров выглядит так:
где – learning rate, а – градиент функции ошибки.
Интуитивно learning rate отвечает на вопрос: "Насколько смело мы делаем шаг в выбранном направлении?"
Если шаг слишком большой, модель может перескакивать минимум и обучение станет нестабильным. Если слишком маленький – обучение будет идти очень медленно или практически остановится.
Learning rate – один из самых чувствительных гиперпараметров модели. Его выбор часто важнее выбора самой модели или количества данных.
На практике используют:
постоянный learning rate
уменьшающийся learning rate
адаптивные методы (например, Adam), которые подбирают шаг автоматически
С практической точки зрения learning rate определяет баланс между скоростью обучения и устойчивостью сходимости.
Loss-функция (функция потерь)
Loss-функция измеряет, насколько плохо модель предсказывает результат на конкретном примере. Примеры:
MSE для регрессии
log loss (logarithmic loss) для классификации
Минимизация loss-функции – центральная задача обучения модели.
Лемматизация
Лемматизация – это приведение слов к их базовой, словарной форме (лемме).
Например:
"бежал", "бегу", "бегут" → "бежать"
"книги", "книгой", "книгах" → "книга"
В отличие от простого стемминга, лемматизация учитывает морфологию и часть речи, поэтому результат обычно более корректен с точки зрения языка.
В задачах машинного обучения лемматизация используется как этап предобработки текста перед Bag-of-Words, TF-IDF или обучением моделей. Она уменьшает размер словаря и помогает модели лучше обобщать смысл, а не формы слов.
Линейная регрессия
Линейная регрессия – это базовая модель для задач регрессии, которая предсказывает числовое значение на основе линейной комбинации признаков:
где – вектор весов, – вектор признаков, а – bias.
Модель подбирает веса так, чтобы минимизировать MSE (среднеквадратичную ошибку) или эквивалентно через MLE для гауссовских ошибок. Обучение обычно выполняется с помощью градиентного спуска или его вариаций (batch, mini-batch, SGD).
Линейная регрессия проста, интерпретируема и хорошо подходит для первых экспериментов с данными. Она показывает, как каждый признак влияет на итоговое предсказание, и служит отправной точкой для более сложных моделей.
Интуитивно линейная регрессия отвечает на вопрос: "Как меняется результат при изменении признаков, если все остальные фиксированы?"
С практической точки зрения линейная регрессия используется:
для прогнозирования цен, спроса, температуры
в финансовых и экономических моделях
как базовая модель для проверки качества признаков и признакового пространства.
Логистическая регрессия
Логистическая регрессия – это модель для задач классификации, которая прогнозирует вероятность принадлежности объекта к определённому классу.
Идея состоит в том, чтобы сначала применить аффинное преобразование к признакам (взвесить их и добавить bias), а затем преобразовать результат с помощью логистической функции (sigmoid):
На выходе получается число от 0 до 1, которое интерпретируется как вероятность. Для бинарной классификации чаще всего используют log loss (cross-entropy) как функцию ошибки, а параметры модели подбираются с помощью градиентного спуска или MLE.
Логистическая регрессия проста, интерпретируема и часто служит базовой моделью для проверки признаков и понимания данных. При этом она может быть расширена на многоклассовую классификацию через softmax.
Интуитивно логистическая регрессия отвечает на вопрос: "Насколько вероятно, что объект принадлежит к этому классу, если взвесить все признаки?"
С практической точки зрения она хорошо работает для текстовой классификации, медицины, кредитных скорингов и любых задач, где важна вероятность принадлежности, а не точное численное предсказание.
MLE (Maximum Likelihood Estimation)
MLE – метод максимального правдоподобия, способ оценки параметров модели, при котором выбираются такие параметры, при которых наблюдаемые данные наиболее вероятны.
Идея MLE состоит в том, что мы не минимизируем ошибку напрямую, а максимизируем вероятность получить именно те данные, которые мы видим, при заданной модели.
Формально это выглядит как максимизация функции правдоподобия:
На практике чаще работают с логарифмом правдоподобия, так как он удобнее для вычислений.
Важный и полезный факт: для линейной регрессии с гауссовским шумом максимизация правдоподобия эквивалентна минимизации MSE. Именно поэтому MSE возникает не как произвольная формула, а как следствие вероятностных предположений о данных.
MLE лежит в основе многих моделей:
линейной и логистической регрессии
обобщенных линейных моделей
нейросетей (через log loss и cross-entropy)
Интуитивно MLE отвечает на вопрос: "При каких параметрах модели наблюдаемые данные выглядели бы наименее удивительными?"
С практической точки зрения MLE связывает машинное обучение с вероятностью и статистикой и позволяет осмысленно выбирать loss-функции, а не подбирать их наугад.
MSE (Mean Squared Error)
MSE – среднеквадратичная ошибка, одна из самых распространенных loss-функций для задач регрессии.
Она измеряет средний квадрат разницы между предсказанием модели и истинным значением:
Возведение ошибки в квадрат усиливает влияние больших отклонений, поэтому MSE особенно чувствительна к выбросам.
С интуитивной точки зрения MSE отвечает на вопрос: "Насколько в среднем модель промахивается, если крупные ошибки считать особенно плохими?"
MSE хорошо сочетается с линейными моделями, потому что:
она гладкая и дифференцируемая
имеет простой градиент
приводит к удобным аналитическим и численным решениям
В градиентном спуске производная MSE по параметрам модели прямо указывает направление, в котором нужно уменьшать ошибку.
На практике MSE часто используется не только как метрика качества, но и как функция, которую модель минимизирует в процессе обучения.
Модель
Модель – это математическая функция с параметрами, которая аппроксимирует зависимость между входными данными и результатом.
Примеры:
линейная регрессия
логистическая регрессия
нейросеть
Модель не "знает" мир – она лишь приближает его на основе данных.
Нормализация
Нормализация – приведение признаков к сопоставимому масштабу. Например, значения в диапазон [0, 1] или с нулевым средним и единичной дисперсией.
Без нормализации многие алгоритмы обучаются хуже или нестабильно.
One-hot encoding
One-hot encoding – это способ кодирования категориальных признаков в числовой вид с помощью бинарных векторов.
Каждой категории соответствует отдельная координата вектора. Для конкретного объекта ровно одна координата равна 1, а все остальные равны 0.
Например, признак "цвет" со значениями {красный, зеленый, синий} может быть закодирован так:
красный → [1, 0, 0]
зеленый → [0, 1, 0]
синий → [0, 0, 1]
One-hot encoding широко используется в линейных моделях, логистической регрессии и нейросетях, когда категории не имеют естественного порядка.
Главный недостаток one-hot encoding – рост размерности признакового пространства при большом количестве категорий. В текстовых задачах Bag-of-Words и TF-IDF по сути являются частным случаем one-hot представления, взвешенного по частоте.
В более сложных моделях и при большом числе категорий one-hot encoding часто заменяют эмбеддингами, которые позволяют компактно представить категориальные данные и учитывать скрытые связи между ними.
Ортогональные векторы
Ортогональные векторы – это векторы, которые перпендикулярны друг другу. Формально это означает, что их скалярное произведение равно нулю:
Геометрически ортогональность означает отсутствие проекции одного вектора на другой. Векторы не имеют общего направления и считаются полностью независимыми в смысле ориентации в пространстве.
В машинном обучении ортогональные векторы интерпретируются как несвязанные или несхожие признаки. Например, если cosine similarity равна нулю, соответствующие векторы ортогональны и не имеют смыслового пересечения.
Ортогональность играет важную роль в:
линейной алгебре и базисах признаков
снижении корреляции между признаками
анализе эмбеддингов
attention-механизмах, где ортогональные key-векторы не влияют на результат
Интуитивно ортогональные векторы отвечают ситуации, когда знание одного признака не дает информации о другом. Это понятие помогает понять, почему одни признаки усиливают друг друга, а другие не взаимодействуют вовсе.
Переобучение (Overfitting)
Переобучение возникает, когда модель слишком хорошо запоминает обучающие данные, но плохо обобщает на новые.
Обычно это следствие слишком сложной модели или недостатка данных.
Пространство признаков
Пространство признаков – это абстрактное пространство, в котором каждая ось соответствует одному признаку, а каждый объект – точка в этом пространстве.
Именно в этом пространстве мы считаем расстояния, углы и сходство.
Седловая точка
Седловая точка — это точка в пространстве параметров, в которой градиент функции равен нулю, но которая не является ни локальным минимумом, ни локальным максимумом.
В одних направлениях функция в седловой точке ведёт себя как минимум, а в других — как максимум. Геометрически такую точку можно представить в виде седла: вдоль одной оси поверхность «проваливается», а вдоль другой – "поднимается".
Для методов градиентного спуска седловые точки представляют особую проблему. Поскольку градиент в них равен нулю, алгоритм может временно "застрять" в такой точке, даже несмотря на то, что она не является точкой оптимума.
В высокоразмерных пространствах, характерных для задач машинного обучения, седловые точки встречаются значительно чаще, чем локальные минимумы. Именно поэтому процесс обучения иногда замедляется или выглядит нестабильным.
Стохастический градиентный спуск и его модификации помогают справляться с седловыми точками за счёт шума в оценке градиента. Этот шум позволяет алгоритму "выталкиваться" из плоских или квазистационарных областей.
Интуитивно седловую точку можно представить как ситуацию, в которой модель «не понимает», в каком направлении двигаться дальше: локально поверхность почти плоская, но глобально решение всё ещё далеко от оптимального.
Стемминг
Стемминг – это упрощенный способ приведения слов к общей основе (стему) путем механического отсечения окончаний и суффиксов.
Например:
"бегу”, "бежал", "бегущий" → "бег"
"connection", "connected", "connecting" → "connect"
В отличие от лемматизации, стемминг:
не опирается на словари и грамматику
работает быстрее
может порождать формы, которые не являются реальными словами
Стемминг часто используется как быстрый этап предобработки текста перед Bag-of-Words или TF-IDF, особенно в задачах, где точная языковая форма менее важна, чем общая тема документа.
Недостаток стемминга в том, что он может объединять слова с разным смыслом или, наоборот, не объединять близкие по значению формы. Поэтому в более точных системах, особенно для сложных языков, чаще предпочитают лемматизацию.
В практическом смысле выбор между стеммингом и лемматизацией – это компромисс между скоростью, простотой и качеством смыслового представления текста.
Стоп-слова
Стоп-слова – это часто встречающиеся слова, которые обычно несут мало смысловой нагрузки: "и", "в", "на", "это", "the", "is" и т.д.
При анализе текста такие слова часто удаляют, чтобы:
уменьшить размерность признаков
снизить шум
сосредоточиться на содержательных словах
Стоп-слова особенно актуальны при использовании Bag-of-Words и TF-IDF. Однако при работе с современными эмбеддингами и нейросетями их удаление не всегда необходимо и иногда даже вредно, поскольку модель может использовать контекст, в том числе служебные слова.
Стохастический градиентный спуск (SGD)
Стохастический градиентный спуск – это вариант градиентного спуска, при котором параметры модели обновляются не по всей обучающей выборке сразу, а по одному примеру или по небольшому случайному подмножеству данных.
В классическом градиентном спуске градиент вычисляется по всем данным, что дает точное направление, но требует больших вычислений. В SGD градиент является приближенным, но обновления происходят гораздо чаще.
Интуитивно SGD можно представить как движение к минимуму с шумом: каждый шаг может быть неточным, но в среднем модель движется в правильном направлении.
Стохастический градиентный спуск:
быстрее на больших данных
позволяет обучаться онлайн, по мере поступления данных
помогает выходить из неглубоких локальных минимумов
Недостатком SGD является более шумная траектория обучения и чувствительность к learning rate.
На практике чаще используют mini-batch SGD, при котором градиент считается по небольшим батчам данных. Этот подход сочетает устойчивость классического градиентного спуска и эффективность стохастического.
TF-IDF
TF-IDF (Term Frequency – Inverse Document Frequency) – улучшенная версия Bag-of-Words, которая учитывает не только частоту слова в документе, но и его редкость во всей коллекции.
Редкие, но информативные слова получают больший вес, чем частые служебные.
TF-IDF часто используется как базовое представление текста перед классификацией или поиском.
Train / Test split
Train/Test split – разделение данных на обучающую и тестовую выборки. Модель обучается на одной части данных и проверяется на другой.
Это позволяет оценить, насколько хорошо модель обобщает знания.
Last updated