Лекция 2. Математические основы и оптимизация

Цель лекции

Изучить основные математические понятия, используемые в машинном обучении, и понять их роль в построении и обучении моделей. Рассмотреть способы представления данных, функции потерь, производные и градиенты, принципы оптимизации и регуляризации. Сформировать понимание того, как алгоритм изменяет параметры модели для уменьшения ошибок прогнозирования.

Ключевые понятия

Вектор (vector), матрица (matrix), пространство признаков (feature space), скалярное произведение (dot product), параметры модели (model parameters), производная (derivative), частная производная (partial derivative), градиент (gradient), функция потерь (loss function), эмпирический риск (empirical risk), оптимизация (optimization), градиентный спуск (gradient descent), скорость обучения (learning rate), сходимость (convergence), регуляризация (regularization), вероятность (probability), условная вероятность (conditional probability).


1. Математические основы машинного обучения

Машинное обучение предполагает построение математической модели, способной устанавливать зависимости между входными данными и результатом.

Для этого необходимо решить несколько взаимосвязанных задач: представить объекты в числовом виде, определить функцию прогнозирования, оценить её ошибки и подобрать параметры, обеспечивающие приемлемое качество.

Основными математическими инструментами машинного обучения являются:

Линейная алгебра — используется для представления данных и выполнения операций над признаками и параметрами.

Математический анализ — позволяет исследовать изменение функций и находить направления уменьшения ошибок.

Теория вероятностей — применяется для описания неопределённости и вероятностных зависимостей.

Оптимизация — позволяет подбирать параметры модели на основе заданного критерия качества.

Эти инструменты используются совместно. Например, линейная модель получает вектор признаков, вычисляет прогноз с помощью скалярного произведения, оценивает ошибку и изменяет параметры с помощью метода оптимизации.

2. Векторы и матрицы

2.1. Вектор признаков

Вектор — упорядоченный набор чисел, представляющий характеристики объекта.

Если объект описывается (d) признаками, его вектор записывается:

[
x=(x_1,x_2,\ldots,x_d)
]

или:

[
x\in\mathbb{R}^{d}
]

где (d) — количество признаков, а (\mathbb{R}) — множество действительных чисел.

Например, для прогнозирования стоимости квартиры могут использоваться площадь, количество комнат и возраст здания.

Тогда каждая квартира представляется вектором из трёх компонентов.

Такое представление позволяет применять к объектам математические операции независимо от их предметной области.

2.2. Пространство признаков

Пространство признаков — математическое пространство, в котором каждому объекту соответствует точка с координатами, определяемыми его признаками.

При двух признаках объект можно представить точкой на плоскости, при трёх — точкой в трёхмерном пространстве.

Если признаков больше, используется многомерное пространство.

Размерность пространства определяется количеством признаков, а не количеством наблюдений.

Это различие важно при работе с наборами данных: 1000 объектов с пятью признаками образуют 1000 точек в пятимерном пространстве.

2.3. Матрица данных

Для представления множества объектов используется матрица — прямоугольная таблица чисел.

Общая запись матрицы признаков:

[
X\in\mathbb{R}^{n\times d}
]

где:

Каждая строка матрицы соответствует отдельному объекту, а каждый столбец — определённому признаку.

Матричное представление позволяет обрабатывать большое количество наблюдений с помощью единых математических операций.

Оно широко используется при обучении линейных моделей, нейронных сетей и других алгоритмов.

2.4. Транспонирование

Транспонирование — операция, при которой строки матрицы становятся столбцами, а столбцы — строками.

Транспонированная матрица обозначается:

[
X^T
]

Если исходная матрица имеет размерность (n\times d), то транспонированная — (d\times n).

Транспонирование используется в матричных формулах и при вычислении скалярных произведений.

3. Скалярное произведение и параметры модели

3.1. Скалярное произведение

Скалярное произведение двух векторов одинаковой размерности — сумма произведений соответствующих компонентов.

Формула:

[
w^Tx=\sum_{j=1}^{d}w_jx_j
]

где:

Результатом скалярного произведения является одно число.

В машинном обучении эта операция позволяет объединять значения нескольких признаков с учётом их весов.

3.2. Линейная комбинация признаков

Простейшая модель может использовать выражение:

[
\hat y=w^Tx+b
]

где:

Вес показывает, как соответствующий признак участвует в вычислении прогноза при фиксированных остальных признаках.

Во время обучения значения весов и свободного коэффициента подбираются по данным.

Это пример параметров модели — величин, которые алгоритм определяет в процессе обучения.

Подробно линейные модели рассматриваются в лекции 4.

3.3. Нормы векторов

Норма вектора — числовая характеристика его величины.

Наиболее распространены нормы L1 и L2.

L1-норма:

[
|w|1=\sum{j=1}^{d}|w_j|
]

L2-норма:

[
|w|2=\sqrt{\sum{j=1}^{d}w_j^2}
]

Нормы используются для оценки величины весов и ограничения сложности модели.

В частности, они применяются при регуляризации.

4. Производная и градиент

4.1. Понятие производной

Производная — математическая величина, характеризующая скорость изменения функции при изменении её аргумента.

Для функции (f(x)) производная обозначается:

[
f'(x)=\frac{df(x)}{dx}
]

Производная позволяет определить, возрастает или убывает функция вблизи рассматриваемой точки.

Если производная положительна, функция локально возрастает.

Если отрицательна — локально убывает.

Если производная равна нулю, точка является стационарной. Такая точка может быть минимумом, максимумом или другой стационарной точкой.

В машинном обучении производные используются для исследования функции потерь и определения направления изменения параметров.

4.2. Частные производные

Модели обычно имеют несколько параметров, поэтому функция потерь зависит от множества переменных.

Частная производная показывает изменение функции по одному параметру при фиксированных остальных параметрах.

Например, для функции:

[
L(w_1,w_2)
]

частные производные записываются:

[
\frac{\partial L}{\partial w_1},
\qquad
\frac{\partial L}{\partial w_2}
]

Каждая из них характеризует чувствительность функции к соответствующему параметру.

4.3. Градиент

Градиент — вектор, состоящий из частных производных функции по всем её параметрам.

Общая запись:

[
\nabla L(\theta)=
\begin{bmatrix}
\frac{\partial L}{\partial \theta_1}\
\frac{\partial L}{\partial \theta_2}\
\vdots\
\frac{\partial L}{\partial \theta_d}
\end{bmatrix}
]

где (\theta) — вектор параметров модели.

Градиент указывает направление наиболее быстрого локального роста функции в обычной евклидовой геометрии.

Следовательно, направление, противоположное градиенту, используется для локального уменьшения функции.

Это свойство лежит в основе градиентного спуска.

4.4. Правило цепочки

Правило цепочки позволяет вычислять производные сложных функций, состоящих из нескольких последовательно применяемых преобразований.

Если:

[
y=f(g(x))
]

то:

[
\frac{dy}{dx}=f'(g(x))g'(x)
]

Это правило особенно важно для моделей, в которых результат одного преобразования становится входом следующего.

Например, при обучении многослойных нейронных сетей правило цепочки используется для передачи информации об ошибке через последовательность слоёв.

Подробно этот механизм рассматривается в лекции 12.

5. Функция потерь

5.1. Назначение функции потерь

Для обучения модели необходимо определить, насколько её прогнозы отличаются от правильных ответов.

Функция потерь (loss function) — математическая функция, измеряющая ошибку прогнозирования.

Для отдельного наблюдения она записывается:

[
\ell(\hat y_i,y_i)
]

где:

В зависимости от задачи используются различные функции потерь.

Для регрессии часто применяется квадратичная ошибка, а для классификации — функции, учитывающие правильность предсказанного класса и вероятностные оценки.

5.2. Средняя квадратичная ошибка

Один из распространённых вариантов функции потерь для регрессии — средняя квадратичная ошибка (Mean Squared Error, MSE):

[
MSE=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat y_i)^2
]

где (n) — количество наблюдений.

Сначала для каждого объекта определяется разность между фактическим и прогнозируемым значениями. Затем ошибки возводятся в квадрат и усредняются.

Возведение в квадрат делает большие отклонения более значимыми.

Например, ошибка величиной 4 вносит в сумму квадратов вклад 16, а ошибка величиной 2 — вклад 4.

Поэтому MSE особенно чувствительна к крупным ошибкам.

5.3. Эмпирический риск

Эмпирический риск — среднее значение функции потерь на обучающей выборке.

Общая формула:

[
R_{\mathrm{emp}}(\theta)=
\frac{1}{n}\sum_{i=1}^{n}
\ell(f_\theta(x_i),y_i)
]

где:

Обучение модели можно представить как задачу поиска параметров, минимизирующих эмпирический риск:

[
\theta^*=\arg\min_\theta R_{\mathrm{emp}}(\theta)
]

Символ (\arg\min) обозначает поиск значений параметров, при которых функция достигает минимума.

Однако уменьшение ошибки на обучающих данных не всегда гарантирует хорошее качество на новых наблюдениях. Поэтому при обучении необходимо учитывать сложность модели и её обобщающую способность.

6. Оптимизация в машинном обучении

6.1. Что такое оптимизация?

Оптимизация — процесс поиска значений параметров, обеспечивающих минимальное или максимальное значение выбранной функции.

В машинном обучении обычно требуется минимизировать функцию потерь.

Для простых математических функций оптимальное решение иногда можно найти аналитически.

Однако многие модели содержат большое количество параметров, поэтому применяются численные методы оптимизации.

Одним из основных таких методов является градиентный спуск.

6.2. Градиентный спуск

Градиентный спуск (Gradient Descent) — итерационный метод оптимизации, который последовательно обновляет параметры модели в направлении, противоположном градиенту функции потерь.

Основная формула:

[
\theta_{t+1}=\theta_t-\eta\nabla L(\theta_t)
]

где:

Алгоритм выполняет повторяющуюся последовательность действий:

  1. Вычисляет прогнозы с текущими параметрами.
  2. Определяет значение функции потерь.
  3. Вычисляет градиент.
  4. Обновляет параметры.
  5. Повторяет процесс до выполнения условия остановки.

Таким образом, обучение можно представить схемой:

Данные → Прогноз → Ошибка → Градиент → Обновление параметров → Новый прогноз.

6.3. Скорость обучения

Скорость обучения (learning rate) — гиперпараметр, определяющий величину шага при обновлении параметров.

Обозначается:

[
\eta
]

Если скорость обучения слишком маленькая, алгоритм изменяет параметры небольшими шагами и может обучаться очень медленно.

Если скорость слишком большая, алгоритм может перескакивать через минимум, колебаться или расходиться.

Поэтому выбор скорости обучения существенно влияет на процесс оптимизации.

6.4. Сходимость

Сходимость (convergence) — свойство итерационного процесса, при котором последовательность параметров или значений функции приближается к определённому пределу.

При успешной оптимизации функция потерь обычно уменьшается и постепенно стабилизируется.

Однако не для каждой функции и не при любых настройках градиентный спуск гарантированно достигает глобального минимума.

Результат зависит от формы функции потерь, начальных параметров и скорости обучения.

6.5. Короткий пример градиентного спуска

Рассмотрим функцию из исходной лекции:

[
L(w)=(w-3)^2
]

Её производная:

[
L'(w)=2(w-3)
]

Пусть начальное значение (w_0=0), а скорость обучения (\eta=0.1).

Тогда после первого обновления:

[
w_1=0.6
]

После второго:

[
w_2=1.08
]

При дальнейших итерациях параметр приближается к значению (w=3), при котором функция потерь минимальна.

Этот пример показывает основной принцип: градиентный спуск постепенно изменяет параметр, ориентируясь на производную функции потерь.

6.6. Градиентный спуск в Python

def loss(w):

    return (w - 3) ** 2

 

def gradient(w):

    return 2 * (w - 3)

 

w = 0.0

learning_rate = 0.1

 

for iteration in range(10):

    print(

        f"Итерация {iteration}: "

        f"w={w:.4f}, "

        f"loss={loss(w):.4f}"

    )

 

    w = w - learning_rate * gradient(w)

Программа демонстрирует последовательное уменьшение функции потерь.

Изменяя learning_rate, можно наблюдать, как величина шага влияет на процесс обучения.

7. Регуляризация

7.1. Назначение регуляризации

Регуляризация (regularization) — подход, при котором к критерию обучения добавляется ограничение или штраф, связанный со сложностью модели.

Модель может очень хорошо описывать обучающие данные, но при этом плохо работать на новых наблюдениях.

Один из способов уменьшить риск такого поведения — ограничивать величину параметров модели.

7.2. Общая математическая модель

Функция обучения с регуляризацией может быть записана следующим образом:

[
L(\theta)=
\frac{1}{n}\sum_{i=1}^{n}
\ell(f_\theta(x_i),y_i)
+\lambda\Omega(\theta)
]

где:

Коэффициент (\lambda) определяет, насколько сильно штраф влияет на итоговую функцию.

При (\lambda=0) штраф отсутствует.

При увеличении (\lambda) влияние регуляризации возрастает.

7.3. Основные виды регуляризации

L1-регуляризация использует сумму абсолютных значений весов:

[
\Omega(w)=\sum_{j=1}^{d}|w_j|
]

Она может приводить к обнулению отдельных коэффициентов.

L2-регуляризация использует сумму квадратов весов:

[
\Omega(w)=\sum_{j=1}^{d}w_j^2
]

Она штрафует большие веса и часто способствует получению более устойчивых решений.

Обе формы регуляризации используются при обучении различных моделей.

Их подробное применение к линейной регрессии рассматривается в лекции 4.

7.4. Выбор коэффициента регуляризации

Слишком слабая регуляризация может не ограничить чрезмерную сложность модели.

Слишком сильная — привести к тому, что модель перестанет достаточно хорошо описывать данные.

Поэтому коэффициент регуляризации выбирается с помощью валидации, а не на основе итоговой тестовой выборки.

8. Вероятности и статистическая неопределённость

8.1. Вероятность события

Вероятность — числовая характеристика возможности наступления события.

Для события (A):

[
0\leq P(A)\leq1
]

Например, вероятность 0,8 соответствует оценке 80%.

Вероятностные модели могут оценивать вероятность принадлежности объекта к определённому классу.

При этом вероятность не является гарантией наступления события.

8.2. Условная вероятность

Условная вероятность — вероятность события при наличии определённой информации.

Обозначается:

[
P(A\mid B)
]

Если (P(B)>0), то:

[
P(A\mid B)=\frac{P(A\cap B)}{P(B)}
]

В задачах классификации может оцениваться вероятность целевого класса при известных признаках:

[
P(Y=1\mid X=x)
]

Например, модель может оценивать вероятность ухода клиента на основе истории его активности.

8.3. Математическое ожидание

Математическое ожидание характеризует среднее значение случайной величины с учётом вероятностей возможных исходов.

Для дискретной случайной величины:

[
\mathbb{E}[X]=\sum_i x_iP(X=x_i)
]

В машинном обучении математическое ожидание используется при описании средней ошибки на возможных будущих наблюдениях.

Поскольку полное распределение реальных данных обычно неизвестно, на практике используются выборочные оценки.

8.4. Почему вероятность важна для машинного обучения?

Реальные данные часто содержат неопределённость.

Даже при одинаковых признаках объекты не всегда имеют одинаковые результаты.

Вероятностный подход позволяет учитывать эту неопределённость и формировать оценки, которые не ограничиваются однозначными решениями.

Более подробно вероятностная классификация рассматривается в лекции 5.

9. Практические ограничения математической оптимизации

9.1. Зависимость от качества данных

Даже математически корректный алгоритм может обучить некачественную модель, если исходные данные содержат ошибки или не отражают реальные условия.

Поэтому оптимизация должна рассматриваться вместе с подготовкой данных и независимой оценкой результатов.

9.2. Масштаб признаков

Признаки могут измеряться в разных единицах и иметь существенно различающиеся диапазоны значений.

Это способно влиять на численное поведение некоторых методов оптимизации.

Для таких задач применяются масштабирование и нормализация, которые подробно рассматриваются в лекции 3.

9.3. Выбор функции потерь

Разные функции потерь по-разному реагируют на ошибки.

Поэтому выбор критерия должен соответствовать типу задачи и практическим требованиям.

Например, для прогнозирования числовых значений можно использовать квадратичную ошибку, а для классификации — другие функции потерь.

9.4. Вычислительные ресурсы

Сложность оптимизации зависит от количества наблюдений, числа параметров и особенностей алгоритма.

При больших объёмах данных обучение может требовать значительного времени и вычислительных ресурсов.

Поэтому на практике необходимо учитывать не только качество модели, но и стоимость её обучения.

10. Выводы

Математический аппарат машинного обучения позволяет представить данные, определить функцию прогнозирования и подобрать её параметры.

Векторы используются для описания отдельных объектов, матрицы — для представления наборов данных.

Скалярное произведение объединяет значения признаков с соответствующими весами.

Производная характеризует изменение функции, а градиент показывает направление её наиболее быстрого локального роста.

Функция потерь измеряет расхождение между прогнозами и фактическими значениями. Среднее значение потерь на обучающей выборке называется эмпирическим риском.

Градиентный спуск позволяет последовательно изменять параметры модели в направлении уменьшения функции потерь. Скорость обучения определяет величину шага и влияет на сходимость.

Регуляризация добавляет к критерию обучения штраф, позволяющий управлять некоторыми свойствами модели и ограничивать её сложность.

Теория вероятностей помогает описывать неопределённость и условные зависимости между признаками и результатами.

Главный результат лекции: понимание математической основы процесса обучения модели — от представления данных и вычисления ошибки до определения градиента, обновления параметров и применения регуляризации.