Модели машинного обучения на основе рефлексов Afshine Amidi и Shervine Amidi; Alexandr Parkhomenko и Труш Георгий (Georgy Trush)
Линейные предсказатели
В этом разделе мы рассмотрим модели, основанные на рефлексах, которые улучшаются по мере накопления опыта, обучаясь на парах наблюдений вход-выход.
Вектор признаков Вектор признаков входного сигнала $x$ обозначается как $\phi(x)$ и таков, что:
Оценка Оценка $s(x,w)$ примера $(\phi(x),y) \in \mathbb{R}^d \times \mathbb{R}$, связанного с линейной моделью весов $w \in \mathbb{R}^d$, задается скалярным произведением:
Классификация
Линейный классификатор Для вектора весов $w\in\mathbb{R}^d$ и вектора признаков $\phi(x)\in\mathbb{R}^d$ бинарный линейный классификатор $f_w$ имеет вид:

Зазор Отступ $m(x,y,w) \in \mathbb{R}$ примера $(\phi(x),y) \in \mathbb{R}^d \times \{-1,+1\}$, связанная с линейной моделью весов $w\in \mathbb{R}^d$, количественно оценивает уверенность прогноза: большие значения лучше. Задается следующим образом:
Регрессия
Линейная регрессия Для данного вектора весов $w\in\mathbb{R}^d$ и вектора признаков $\phi(x)\in\mathbb{R}^d$ результат линейной регрессии весов $w$, обозначенный как $f_w$, определяется выражением:
Остаток Разность Residual $\textrm{res}(x,y,w) \in \mathbb{R}$ определяется как величина, на которую прогноз $f_w(x)$ превышает целевой $y$:
Минимизация потерь
Функция потерь Функция потерь $\textrm{Loss}(x,y,w)$ количественно определяет, насколько мы недовольны весами $w$ модели в задаче прогнозирования выхода $y$ по известному входу $x$. Это количество, которое мы хотим минимизировать во время тренировочного процесса.
Случай классификации Классификация выборки $x$ истинной метки $y\in \{-1,+1\}$ с линейной моделью весов $w$ может быть выполнена с помощью предиктора $f_w(x) \triangleq \textrm{sign}(s(x,w))$. В этой ситуации интересующий показатель, определяющий качество классификации, задается зазором $m(x,y,w)$ и может использоваться со следующими функциями потерь:
Название | Zero-one loss | Hinge loss | Logistic loss |
$\textrm{Loss}(x,y,w)$ | $1_{\{m(x,y,w) \leqslant 0\}}$ | $\max(1-m(x,y,w), 0)$ | $\log(1+e^{-m(x,y,w)})$ |
График | ![]() |
![]() |
![]() |
Случай регрессии Предсказание выборки $x$ истинной метки $y \in \mathbb{R}$ с помощью линейной модели весов $w$ может быть выполнено с помощью предиктора $f_w(x) \triangleq s(x,w)$. В этой ситуации интересующий показатель, количественно оценивающий качество регрессии, задается зазором $\textrm{res}(x,y,w)$ и может использоваться со следующими функциями потерь:
Название | Квадратичная потеря | Абсолютное отклонение |
$\textrm{Loss}(x,y,w)$ | $(\textrm{res}(x,y,w))^2$ | $|\textrm{res}(x,y,w)|$ |
График | ![]() |
![]() |
Фреймворк минимизации потерь чтобы обучить модель, мы хотим минимизировать потери при обучении, которые определяются следующим образом:
Нелинейные предсказатели
Алгоритм $k$-ближайших соседей широко известен как $k$-NN, представляет собой непараметрический подход, в котором метка новой точки данных определяется признаками её $k$ соседей из обучающего набора. Его можно использовать в случаях как классификации, так и регрессии.

Примечание: чем выше параметр $k$, тем выше смещение, а чем ниже параметр $k$, тем выше дисперсия.
Нейронные сети Нейронные сети - это класс моделей, построенных с использованием слоёв. Обычно используемые типы нейронных сетей включают сверточные и рекуррентные нейронные сети. Словарь архитектур нейронных сетей представлен на рисунке ниже:

Обозначим $i$ - это $i$-й уровень сети, а $j$ - $j$-й скрытый блок слоя, у нас есть:
где мы обозначаем $w$, $b$, $x$, $z$ вес, смещение, вход и неактивированный выход нейрона соответственно.
Стохастический градиентный спуск
Градиентный спуск Gradient descent - Обозначим $\eta\in\mathbb{R}$ скорость обучения (также называемую размером шага), правило обновления для градиентного спуска выражается с помощью скорости обучения и функции потерь $\textrm{Loss}(x,y,w)$ следующим образом:

Стохастические обновления Stochastic gradient descent (SGD) обновляет параметры модели по одному обучающему примеру $(\phi(x),y)\in\mathcal{D}_{\textrm{train}}$ за раз. Этот метод иногда приводит к шумным, но быстрым обновлениям.
Пакетные обновления Batch gradient descent (BGD) обновляет параметры модели по одной партии примеров (например, половина обучающего набора) за раз. Этот метод вычисляет стабильные направления обновления с большими вычислительными затратами.
Дообучение моделей
Класс гипотез Класс гипотез $\mathcal{F}$ - это набор возможных предикторов с фиксированным $\phi(x)$ и изменяющимся $w$:
Логистическая функция Логистическая функция $\sigma$, также называемая сигмовидной функцией, определяется как:
Примечание: у нас есть $\sigma'(z)=\sigma(z)(1-\sigma(z))$.
Обратное распространение ошибки Backpropagation (Backprop) - Прямой проход сети выполняется через $f_i$, которое является значением подвыражения с индексом $i$, а обратный проход выполняется через $g_i=\frac{\partial\textrm{out}}{\partial f_i}$ отражает то, как сильно $f_i$ влияет на выход.

Ошибка приближения и оценки Ошибка аппроксимации $\epsilon_\text{approx}$ отражает то, насколько далеко весь класс гипотез $\mathcal{F}$ от целевого предиктора $g^*$, в то время как ошибка оценки $\epsilon_{\text{est}}$ количественно определяет, насколько хорош предиктор $\hat{f}$ по отношению к лучшему предиктору $f^{*}$ из класса гипотез $\mathcal{F}$.

Регуляризация Процедура регуляризации направлена на то, чтобы модель не переобучалась на данных (запоминала их полностью), и, таким образом, решает проблемы с высокой дисперсией. В следующей таблице суммированы различные типы широко используемых методов регуляризации:
LASSO | Ridge | Elastic Net |
• Уменьшает коэффициенты до 0 • Подходит для выбора переменных |
Делает коэффициенты меньше | Компромисс между выбором переменных и небольшими коэффициентами |
![]() |
![]() |
![]() |
$...+\lambda||w||_1$ $\lambda\in\mathbb{R}$ |
$...+\lambda||w||_2^2$ $\lambda\in\mathbb{R}$ |
$...+\lambda\Big[(1-\alpha)||w||_1+\alpha||w||_2^2\Big]$ $\lambda\in\mathbb{R},\alpha\in[0,1]$ |
Гиперпараметры это свойства алгоритма обучения и включают функции, параметр регуляризации $\lambda$, количество итераций $T$, размер шага $\eta$ и так далее.
Наборы словарей при выборе модели мы выделяем 3 разные части данных, которые у нас есть, а именно:
Обучающий набор | Контрольный набор | Тестовый набор |
• Модель обучена • Обычно 80% набора данных |
• Модель оценена • Обычно 20% набора данных • Также называется отложенным или набором для разработки |
• Модель дает прогнозы • Ранее невиданные данные |
Как только модель выбрана, она обучается на всем наборе данных и тестируется на невиданном тестовом наборе. Они представлены на рисунке ниже:

Обучение без учителя
Класс методов обучения без учителя направлен на обнаружение структуры данных, которые могут иметь богатые скрытые структуры.
$k$-means
Кластеризация Дан обучающий набор входных точек $\mathcal{D}_{\textrm{train}}$, цель алгоритма кластеризации состоит в том, чтобы определить каждую точку $\phi(x_i)$ к одному из кластеров $z_i\in\{1,...,k\}$.
Целевая функция функция потерь для одного из основных алгоритмов кластеризации, $k$-средних, определяется выражением:
Алгоритм после случайной инициализации центроидов кластера $\mu_1,\mu_2,...,\mu_k\in\mathbb{R}^d$ алгоритм $k$-средних повторяет следующий шаг до сходимости:

Метод главных компонент - Principal Component Analysis (PCA)
Собственное значение, собственный вектор Для данной матрицы $A\in\mathbb{R}^{d\times d}$, $\lambda$ называется собственным значением $A$, если существует вектор $z\in\mathbb{R}^d\backslash\{0\}$, называемый собственным вектором, такой, что у нас есть:
Спектральная теорема Пусть $A\in\mathbb{R}^{d\times d}$. Если $A$ симметрична, то $A$ диагонализуема действительной ортогональной матрицей $U\in\mathbb{R}^{d\times d}$. Обозначим $\Lambda=\textrm{diag}(\lambda_1,...,\lambda_d)$, у нас есть:
Примечание: собственный вектор, связанный с наибольшим собственным значением, называется главным собственным вектором матрицы $A$. (примечание переводчика: Смотри минимизацию нормы Фробениуса матрицы ошибок)
Алгоритм процедура метода главных компонент - это метод уменьшения размерности, который проецирует данные по $k$ измерениям, максимизируя дисперсию данных следующим образом:
- Шаг 1: Нормализовать данные, чтобы получить среднее значение 0 и стандартное отклонение 1.
- Шаг 2: Вычислить $\displaystyle\Sigma=\frac{1}{n}\sum_{i=1}^n\phi(x_i){\phi(x_i)}^T\in\mathbb{R}^{d\times d}$, которая симметрична действительным собственным значениям.
- Шаг 3: Вычислить $u_1, ..., u_k\in\mathbb{R}^d$ $k$ ортогональных главных собственных векторов $\Sigma$, т.е. ортогональные собственные векторы $k$ наибольших собственных значений.
- Шаг 4: Спроецировать данные на $\textrm{span}_\mathbb{R}(u_1,...,u_k)$.
Эта процедура максимизирует дисперсию всех $k$-мерных пространств.
