Важное примечание: оригинальная статьяhttps://ecdicus.com/overview-of-machine-learning/ с правильным латексным отображением

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

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

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

В реальной жизни многие проблемы аналогичны задачам распознавания рукописных чисел, например, распознавание объектов и распознавание речи. Для такого рода задач мы не знаем, как разработать компьютерную программу для ее решения. Даже если это можно реализовать с помощью некоторых эвристических правил, процесс чрезвычайно сложен. Поэтому люди стали пробовать другой способ мышления, то есть дать компьютеру увидеть большое количество образцов, и извлечь из них какой-то опыт, а затем использовать этот опыт для выявления новых образцов. Для распознавания рукописных цифр сначала вручную аннотируют большое количество рукописных цифровых изображений (т. е. каждое изображение вручную помечается, какой это номер), эти изображения используются в качестве обучающих данных, а затем автоматически генерируется набор моделей через алгоритм обучения и полагаться на него. Этот метод обучения через данные называется методом машинного обучения.

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

Базовые концепты

Во-первых, мы используем жизненный пример, чтобы представить некоторые основные понятия в машинном обучении: образцы, признаки, метки, модели, алгоритмы обучения и т. д. Предположим, мы хотим купить манго на рынке, но у нас нет предыдущего опыта в выборе манго, как можем ли мы получить это знание через обучение?

Во-первых, мы случайным образом выбираем несколько манго с рынка и перечисляем характеристики каждого манго. Характеристики также можно назвать атрибутами, включая цвет, размер, форму, происхождение, торговую марку и этикетку, которую нам нужно предсказать. Метка может быть непрерывным значением, таким как общая оценка сладости, влажности и зрелости манго, или дискретным значением, таким как метки «хорошо» и «плохо». Здесь этикетку каждого манго можно получить, попробовав его напрямую или пригласив для этого опытных экспертов.

Мы можем рассматривать манго с отмеченными характеристиками и этикетками как образец, который часто называют экземпляром. Набор образцов называется набором данных. Во многих областях наборы данных часто называют Корпусом. Как правило, набор данных делится на две части: обучающий набор и тестовый набор. Образцы в обучающем наборе используются для обучения модели, также называемые обучающими выборками, а образцы в тестовом наборе используются для проверки качества модели, также называемой тестовыми выборками.

Обычно мы используем D-мерный вектор $x = [x_1, x_2,…, x_D]^T$, состоящий из всех признаков манго, называемый вектором признаков, где каждое измерение представляет собой признак. Метка манго обычно представлена ​​скалярной буквой y.

Предположим, что обучающая выборка D состоит из N выборок, каждая из которых распределена одинаково и независимо (IID), то есть независимо взята из одного и того же распределения данных, обозначенного как

$D=\left \{ (x^{(1)},y^{(1)}) ,(x^{(2)},y^{(2)}),\hdots,(x^{ (N)},y^{(N)})\right \}$

Учитывая обучающий набор D, мы хотим, чтобы компьютер автоматически находил оптимальную функцию из набора функций $\mathcal{F}=\left \{ f_1(x),f_2(x),\hdots \right \}$ чтобы аппроксимировать истинное отношение отображения между вектором признаков x и меткой y, обозначенной ${f}^*(x)$. Для выборки x мы можем использовать функцию ${f}^*(x)$, чтобы предсказать значение его метки,

$\шляпа{у}={е}^*(х)$

Или пометьте условную вероятность

$ \шляпа{р}(у\середина х)={е}_у^*(х)$

Как найти эту оптимальную функцию ${f}^*(x)$, является ключом к машинному обучению, и обычно это нужно делать с помощью алгоритма обучения $\mathcal{A}$. В некоторой литературе алгоритм обучения также называется Learner. Этот процесс поиска обычно называют процессом обучения или обучения.

Таким образом, в следующий раз, когда вы купите манго на рынке, вы сможете использовать изученную функцию ${f}^*(x)$, чтобы предсказать качество манго в соответствии с его характеристиками. Чтобы оценить справедливость, мы по-прежнему независимо и равномерно извлекаем группу манго в виде тестового набора ${D}^’$ и проверяем все манго в тестовом наборе, чтобы вычислить точность результатов прогнозирования.

$Acc({f}^*)(x)=\frac{1}{{D}'}\sum_{(x,y) \in {D}' } I({f}^*(x)= у)$

Где I(.) — индикаторная функция, а $\left | {D}’ \right |$ — это размер набора тестов.

На рис. 1 показан основной процесс машинного обучения. Для задачи прогнозирования входной вектор признаков — x, а выходная метка — y. Мы выбираем набор функций $\mathcal{F}$ и изучаем функцию ${f}^*(x)$ из $\mathcal{F}$ с помощью алгоритма обучения $\mathcal{A}$ и набора обучающие выборки D. Таким образом, для нового входа x можно использовать функцию ${f}^*(x)$ для прогнозирования.

Рисунок 1 — Пример автоматической системы обучения

Три основных элемента машинного обучения

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

Модель

Для задачи машинного обучения сначала определите входное пространство $\mathcal{X}$ и выходное пространство $\mathcal{Y}$. Основное различие между различными задачами машинного обучения заключается в разных выходных пространствах. В задаче бинарной классификации $\mathcal{Y}= \{+1, -1\}$ , в задаче C -классификации $\mathcal{Y} = {1, 2,…, C}$ и в задаче задача регрессии $\mathcal{Y} = \mathbb{R}$.

Входное пространство $\mathcal{X}$ и выходное пространство $\mathcal{Y}$ образуют выборочное пространство. Для выборок в пространстве выборок $(x,y)\in \mathcal{X} \times \mathcal{Y}$ предполагается, что связь между x и y может быть определена неизвестной истинной функцией отображения y = g(x) или истинное условное распределение вероятностей $p_r(y \mid y)$ . Цель машинного обучения — найти модель, которая аппроксимирует реальную функцию отображения g(x) или истинное условное распределение вероятностей $p_r(y \mid y)$.

Поскольку мы не знаем фактическую функцию отображения g(x) или конкретную форму условного распределения вероятностей $p_r(y \mid y)$, мы можем только предположить набор функций $\mathcal{F}$ на основе опыт, называемый пространством гипотез, а затем наблюдая его характеристики на обучающем множестве D, выбирают идеальную гипотезу ${f}^*(x) \in \mathcal{F} $

Пространство гипотез $\mathcal{F}$ обычно представляет собой семейство параметризованных функций.

$\mathcal{F}=\{ f(x;\theta) \mid \theta \in \mathbb{R}^D \}$

Среди них $f(x;\theta)$ — функция с параметром $\theta$, также называемая моделью, а D — количество параметров.

Пространства общих гипотез можно разделить на линейные и нелинейные.

Линейная модель

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

$f(x;\тета)=w^Tx+b$

Параметр $\theta$ включает весовой вектор w и смещение b.

Нелинейная модель

Обобщенная нелинейная модель может быть записана как линейная комбинация нескольких нелинейных базисных функций $\phi(x)$.

$f(x;\тета)=w^T\phi(x)+b$

Где $\phi(x)=\left [\phi_1(x),\phi_2(x),\hdots,\phi_K(x) \right ]^T$ — вектор, состоящий из K нелинейных базисных функций, а параметр $\theta$ содержит весовой вектор w и смещение b.

Если $\phi(x)$ сама по себе является обучаемой базисной функцией, такой как

$\phi_k(x)=h(w^T_k {\phi}'(x)+b_k),\forall 1\leq k\leq K$

Где $h(⋅$) — нелинейная функция, ${\phi}'(x)$ — другой набор базисных функций, а $w_k$ и $b_k$ — обучаемые параметры, тогда $f(x;\theta) $ эквивалентен модели нейронной сети.

Критерии обучения

Пусть обучающий набор $\mathcal{D}=\left \{ \left \{ x^{(n)},y^{(n)} \right \}_{n=1}^{N} \right \}$ состоит из N одинаково и независимо распределенных (IID) выборок, то есть каждая выборка $(x,y)\in \mathcal{X} \times \mathcal{Y}$ независимо генерируется случайным образом из объединенного пространства $\mathcal{X} $ и $\mathcal{Y} $ по неизвестному распределению $p_r(y\mid x)$. Здесь требуется, чтобы выборочное распределение $p_r(y\mid x)$ было фиксированным и не менялось во времени. Если переменная $p_r(y\mid x)$ сама по себе, то из этих данных невозможно извлечь уроки.

Хорошая модель $f(x,{\theta}^*)$ должна быть согласована с реальной функцией отображения $y=g(x)$ при всех возможных значениях (x,y), т.е.

$\слева | f(x,{\theta}^*)-y \right | ‹\epsilon , \qquad \forall (x,y) \in \mathcal{X} \times \mathcal{Y }$

Среди них $\epsilon$ — небольшое положительное число, а $f_y(x,{\theta}^*)$ — вероятность, соответствующая y в условном распределении вероятностей, предсказываемом моделью.

Качество модели $f(x;\theta)$ можно измерить ожидаемым риском $\mathcal{R}(\theta)$, который определяется как

$\mathcal{R}(\theta)=\mathbb{E}_{(x,y) \sim p_r(y\mid x)}\left [ \mathcal{L}(y,f(x;\theta )) \право ]$

Среди них $p_r(y\mid x)$ — реальное распределение данных, а $\mathcal{L}(y,f(x;\theta))$ — функция потерь, используемая для количественной оценки разницы между двумя переменными. .

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

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

Функция потерь 0–1. Наиболее интуитивно понятной функцией потерь является частота ошибок модели в тренировочном наборе, то есть функция потерь 0–1:

$
\mathcal{L}(y,f(x;\theta)) = \left\{\begin{matrix}
0 & \text{if} \quad y=f(x; \theta) \\
1& \text{if} \quad y \neq f(x;\theta)
\end{matrix}\right.$

$= I (y \neq f(x;\theta))$

Где I(⋅) — индикаторная функция.

Хотя функция потерь 0–1 может объективно оценить качество модели, ее недостатком является то, что математические свойства не очень хороши: она не непрерывна и производная равна 0, что сложно оптимизировать. Поэтому вместо этого часто используется непрерывно дифференцируемая функция потерь.

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

$\mathcal{L}(y,f(x;\theta))=\frac{1}{2}(y-f(x;\theta))²$

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

Функция кросс-энтропийной потери. Функция кросс-энтропийной потери обычно используется для задач классификации. Если предположить, что метка выборки $y \in {1,\hdots,C}$ является дискретной категорией, выходом модели $f(x;\theta) \in [0, 1]^C $ является условное распределение вероятностей метки категории, а именно

$ p(y=c\mid x;\theta)=f_c(x;\theta)$

И встретиться

$f_c(x;\theta) \in [0, 1], \quad \sum_{c=1}^{C} f_c(x;\theta)=1$

Мы можем использовать C-мерный однократный вектор y для представления метки образца. Если предположить, что метка выборки равна k, то вектор метки y имеет значение только измерения k, равное 1, а значения всех остальных элементов равны 0. Вектор метки y можно рассматривать как истинное условное распределение вероятностей $ p_r(y\mid x)$ метки выборки, то есть размерность c есть истинная условная вероятность категории k Если предположить, что класс выборки равен c, то вероятность ее принадлежности классу k равна 1 , а вероятность принадлежности к другим классам равна 0.

Для двух распределений вероятностей перекрестная энтропия обычно может использоваться для измерения их различия. Для истинного распределения меток перекрестная энтропия между y и распределением предсказания модели $f(x;\theta)$ равна

$\mathcal{L}(y,f(x;\theta))=-y^T log(f;\theta) $

$= -\sum_{c=1}^{C}y_c logf_c(x;\theta)$

Например, для задачи трех классификаций вектор меток выборки равен $y = [0, 0, 1]^T$, а распределение меток, предсказанное моделью, равно $f(x;\theta) = [0,3 , 0,3, 0,4]^T$, то их перекрестная энтропия равна $-(0 \times log(0,3) + 0 \times log(0,3) + 1 \times log(0,4)) = — log(0,4)$.

Поскольку y является однократным вектором, формулу также можно записать в виде

$\mathcal{L}(y,f(x;\theta))=-logf_y(x;\theta)$

Среди них $f_y(x;\theta)$ можно рассматривать как функцию правдоподобия реальной категории y. Следовательно, функция кросс-энтропийных потерь также является функцией отрицательного логарифмического правдоподобия.

Функция потерь шарнира. Для задачи бинарной классификации предположим, что значение y равно $\{-1, +1\},f(x;\theta) \in \mathbb{R}$ 3.5.3. Функция потери шарнира

$\mathcal{L}(y,f(x;\theta))=max(0,1-yf(x;\theta)) $

$\overset{\Delta}{=} \left [ 1-yf(x;\theta) \right ]_+$

Среди них $[x]_+ = max(0,x).$

Рекомендации по минимизации рисков

Хорошая модель $f(x;\theta)$ должна иметь относительно небольшую ожидаемую ошибку, но поскольку реальное распределение данных и функция отображения неизвестны, ожидаемый риск не может быть фактически рассчитан $\mathcal{R}(\theta) $ .Для обучающего набора $\mathcal{D}= \{ \{ ( x^{(n)}, y^{(n)} \}_{n=1}^{N} \}$, что мы можем рассчитать эмпирический риск, который представляет собой среднюю потерю на тренировочном наборе:

$\mathcal{R}_{\mathcal{D}}^{emp}(\theta)=\frac{1}{N}\sum_{n=1}^{N}\mathcal{L}(y^ {(n)},f(x^{(n)};\тета))$

Таким образом, практический критерий обучения состоит в том, чтобы найти набор параметров $\theta^*$ для минимизации эмпирического риска, а именно

$ \theta^*= \argminA_\theta\mathcal{R}_{\mathcal{D}}^{emp}(\theta)$

Это критерий минимизации эмпирического риска (ERM).

Переоснащение

По закону больших чисел при стремлении размера обучающей выборки $\mid \mathcal{D} \mid$ к бесконечности эмпирический риск стремится к ожидаемому риску. Однако в обычных условиях мы не можем получить неограниченное количество обучающих выборок, а обучающие выборки часто представляют собой небольшое подмножество реальных данных или содержат определенное количество шумовых данных, которые не могут хорошо отражать истинное распределение всех данных. Принцип минимизации эмпирического риска может легко привести к низкой частоте ошибок модели на обучающей выборке, но к высокой частоте ошибок на неизвестных данных. Это называется переоснащением.

Проблемы переобучения часто возникают из-за отсутствия обучающих данных, шума и сильных возможностей модели. Чтобы решить проблему переобучения, регуляризация параметров обычно вводится на основе минимизации эмпирического риска, чтобы ограничить возможности модели, чтобы она не минимизировала чрезмерно эмпирический риск. Этот критерий является критерием минимизации структурных рисков (SRM):

$\theta^* = \argminA_\theta\mathcal{R}_{\mathcal{D}}^{struct}(\theta) $

$ =\argminA_\theta\mathcal{R}_{\mathcal{D}}^{emp}(\theta)+\frac{1}{2}\lambda\left \| \тета \право \|$

$=\argminA_\theta \frac{1}{N}\sum_{n=1}^{N}\mathcal{L}(y^{(n)};f(x^{(n)};\ тета))+\frac{1}{2}\lambda \left \| \тета \право \|$

Среди них $\left \| \theta \right \|$ — член регуляризации нормы $\ell_2$, который используется для сокращения пространства параметров и предотвращения переобучения; $\lambda$ используется для управления интенсивностью регуляризации.

Член регуляризации также может использовать другие функции, такие как норма $\ell_1$. Введение нормы $\ell_1$ обычно приводит к некоторой разреженности параметров, поэтому часто используется во многих алгоритмах. С точки зрения байесовского обучения регуляризация вводит априорное распределение параметров, чтобы оно не зависело полностью от обучающих данных.

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

Короче говоря, критерием обучения в машинном обучении является не только соответствие данным обучающей выборки, но и минимизация ошибки обобщения. Учитывая обучающий набор, цель машинного обучения состоит в том, чтобы найти «идеальную» модель с низкой ошибкой обобщения из пространства гипотез, чтобы лучше предсказывать неизвестные образцы, особенно образцы, которые не появляются в обучающем наборе. Следовательно, мы можем рассматривать машинное обучение как проблему обобщения, которая получает более общие правила из ограниченных, многомерных и зашумленных данных.

Рисунок 2 — Примеры недообучения и переобучения

Оптимизация

После определения обучающего набора $\mathcal{D}$, пространства гипотез $\mathcal{F}$ и критериев обучения поиск оптимальной модели $f(x;\theta^*)$ становится проблемой оптимизации. Процесс обучения машинного обучения — это фактически процесс решения оптимизационных задач.

оптимизацию можно разделить на оптимизацию параметров и оптимизацию гиперпараметров. $\theta$ в модели $f(x;\theta)$ называется параметрами модели, которые можно узнать с помощью алгоритмов оптимизации. В дополнение к обучаемым параметрам $\theta$ существует еще один тип параметров, используемых для определения структуры модели или стратегии оптимизации. Этот тип параметров называется гиперпараметром.

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

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

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

В машинном обучении самым простым и часто используемым алгоритмом оптимизации является метод градиентного спуска, то есть сначала инициализируют параметр $\theta_0$, а затем вычисляют минимальное значение функции риска на обучающей выборке $\mathcal{D}$ по следующей итерационной формуле:

$\theta_{t+1}=\theta_t-\alpha \frac{\partial \mathcal{R}_{\mathcal{D}}(\theta)}{\partial \theta}$

$ = \ theta_t- \ alpha \ frac {1} {N} \ sum_ {n = 1} ^ {N} \ frac {\ partial \ mathcal {L} (y ^ {(n)}, f (x ^ { (n)};\theta))}{\partial \theta}$

Где $\theta_t$ — значение параметра в t итерации, а $\alpha$ — шаг поиска. В машинном обучении $\alpha$ обычно называют скоростью обучения.

Остановиться раньше

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

В процессе обучения градиентному спуску из-за переобучения параметры, сходящиеся на обучающей выборке, не обязательно оптимальны на тестовом наборе. Поэтому в дополнение к обучающему набору и тестовому набору иногда используется проверочный набор для выбора модели, чтобы проверить, является ли модель оптимальной на проверочном наборе. На каждой итерации проверяйте вновь полученную модель $f(x;\theta)$ на проверочном наборе и вычисляйте частоту ошибок. Если частота ошибок в наборе проверки больше не уменьшается, остановите итерацию. Эта стратегия называется Early Stop. Если проверочный набор отсутствует, небольшое подмножество обучающего набора может быть разделено на проверочный набор. На рис. 3 показан пример ранней остановки.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Рисунок 3 — Пример ранней остановки

Стохастический градиентный спуск

В методе формулы градиентного спуска целевой функцией является функция риска на всем обучающем наборе. Этот метод называется пакетным градиентным спуском (BGD). Метод пакетного градиентного спуска должен вычислять и суммировать градиент функции потерь для каждого образца на каждой итерации. Когда количество выборок в обучающем наборе N велико, сложность пространства относительно высока, и вычислительные затраты на каждую итерацию также высоки.

В машинном обучении мы предполагаем, что каждая выборка случайным образом извлекается из реального распределения данных независимо и идентично, а реальная цель оптимизации — минимизировать ожидаемый риск. Метод пакетного градиентного спуска эквивалентен сбору N выборок из реального распределения данных и аппроксимации ожидаемого градиента риска из рассчитанного по ним градиента эмпирического риска. Чтобы уменьшить вычислительную сложность каждой итерации, мы также можем собирать только одну выборку на каждой итерации, вычислять градиент функции потери выборки и обновлять параметры, то есть стохастический градиентный спуск (SGD). После достаточного количества итераций стохастический градиентный спуск также может сходиться к локальному оптимальному решению [Nemirovski et al., 2009].

Процесс обучения метода стохастического градиентного спуска показан в Алгоритме 1.

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

Мини-пакетный градиентный спуск

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

На t итерации случайным образом выбираем подмножество $\mathcal{S}_t$, содержащее K отсчетов, вычисляем и усредняем градиент функции потерь каждого отсчета на этом подмножестве, а затем обновляем параметры:

$\theta_{t+1}\leftarrow \theta_{t}-\alpha \frac{1}{K}\sum_{(x,y)\in\mathcal{S}_t}\frac{\partial \mathcal {L}(y,f(x,\theta))}{\partial\theta}$

В практических приложениях метод стохастического градиентного спуска с небольшими партиями имеет преимущества быстрой сходимости и низких вычислительных затрат, поэтому он постепенно стал основным алгоритмом оптимизации в крупномасштабном машинном обучении [Bottou, 2010].

Простой пример машинного обучения — линейная регрессия

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

Линейная регрессия — самая основная и широко используемая модель в машинном обучении и статистике. Это регрессионный анализ, который моделирует отношения между независимыми переменными и зависимыми переменными. Когда количество независимых переменных равно 1, это называется простой регрессией, а когда количество независимых переменных больше 1, это называется множественной регрессией.

С точки зрения машинного обучения независимой переменной является вектор признаков выборки $x \in \mathbb{R}^D$ , а зависимой переменной — метка y, где $y \in \mathbb{R}$ является непрерывной величиной. Предположим, что пространство представляет собой набор параметризованных линейных функций.

$f(x;W,b)=W^Tx+b$

Весовой вектор $w \in \mathbb{R}^D$ и смещение $$b \in \mathbb{R}$$ являются обучаемыми параметрами, а функция $f(x;W,b) \in \mathbb {R}$ также называют линейной моделью.

Для простоты запишем формулу в виде

$f(x,\шляпа{ш})=\шляпа{ш}^Tx$

Среди них $\hat{w}$ и $\hat{b}$̂ называются вектором расширенного веса и вектором расширенных признаков соответственно:

$\шляпа{х}=х\oplus 1\overset{\Delta}{=}\begin{bmatrix} x\\ 1 \end{bmatrix}=\begin{bmatrix} x_1\\ \vdots\\ x_D\\ 1 \end{bmatrix}$

$

\hat{w}=w\oplus b\overset{\Delta}{=}\begin{bmatrix}
w\\
b
\end{bmatrix}=\begin{bmatrix }
w_1\\
\vdots\\
w_D\\
b
\end{bmatrix}

$

Где $\oplus$ определяется как операция склеивания двух векторов.

Без ограничения общности в описании далее в этой главе мы принимаем упрощенный метод представления, напрямую используя w и x для представления расширенного вектора весов и расширенного вектора признаков соответственно. Таким образом, модель линейной регрессии обозначается аббревиатурой $f(x;w)=w^Tx$.

Изучение параметров

Дан обучающий набор, содержащий N обучающих выборок $\mathcal{P}=\{\{x^{(n)},y^{(n)}\}\}_{n=1}^{N}$ , мы надеемся узнать оптимальный параметр модели линейной регрессии w .

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

Минимизируйте риск получения опыта

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

Согласно критерию минимизации эмпирического риска эмпирический риск на обучающей выборке $\mathcal{D}$ определяется как

$\mathcal{R}=\sum_{n=1}^{N}\mathcal{L}(y^{(n)},f(x^{(n)},w))$

$=\frac{1}{2}\sum_{n=1}^{N}(y^{(n)}- w^T x^{(n)})²$

$=\frac{1}{2}\left \|y- X^T w \right \|²$

Где $y = [y^{(1)},…,y^{(N)}]^T \in \mathbb{R}^N$ — вектор-столбец, состоящий из истинных меток всех выборок, а $ X \in \mathbb{R}^{(D+1) \times N}$ входной признак всех выборок $x^{(1)},\hdots,x^{(N)}$ Матрица, составленная из:

$ X=\begin{bmatrix}
x_{1}^{(1)} & x_{1}^{(2)} & \hdots & x_{1}^{(N)} \\< br /> \vdots & \vdots& \ddots & \vdots\\
x_{1}^{(1)} & x_{1}^{(2)} & \hdots & x_{1}^{ (N)} \\
1&1 & \hdots & 1
\end{bmatrix}$

Функция опасности $\mathcal{R}(w)$ является выпуклой функцией относительно w, и ее частная производная по w равна

$\frac{\partial \mathcal{R}(w)}{\partial w} =\frac{1}{2}\frac{\left \| y-X^Tw \right \|}{\partial w}$

$=-X(y-X^Tw)$

Пусть $\frac{\partial \mathcal{R}(w) }{\partial w}=0$ получает оптимальный параметр $w^*$ как

$w^*=(XX^T)^{-1}Xy$

$=(\sum_{n=1}^{N} x^{(n)}(x^{(n)})^T)^{-1}(\sum_{n=1}^{N} х^{(п)}у^{(п)})$

Этот метод решения параметров линейной регрессии также называется методом наименьших квадратов (LSM). На рис. 4 показан пример использования метода наименьших квадратов для изучения параметров линейной регрессии.

Рисунок 4 — Пример обучения параметра линейной регрессии с использованием метода наименьших квадратов

В методе наименьших квадратов $XX^T \in \mathbb{R}^{(D+1)\times (D+1)}$ должен иметь обратную матрицу, то есть $XX^T$ имеет полный ранг (ранг ($XX^T$)=D+1). Другими словами, векторы-строки в N линейно некоррелированы, то есть каждый признак не коррелирован с другими признаками. Общая необратимость $XX^T$ заключается в том, что количество выборок N меньше количества признаков (D + 1), а ранг $XX^t$ равен N. В это время будет много решений $w^*$, что может сделать $\mathcal{R}(w^*)=0$.

Когда $XX^T$ является необратимым, для оценки параметров можно использовать следующие два метода: 1) использовать анализ основных компонентов и другие методы для предварительной обработки данных, чтобы исключить корреляцию между различными функциями, а затем использовать метод наименьших квадратов для оценить параметры; 2) Используйте метод градиентного спуска для оценки параметров. Сначала инициализируйте $w=0$, а затем повторите следующую формулу:

$ w \ стрелка влево w + \ альфа X (y-X ^ Tw) $

Где $\alpha$ — скорость обучения. Этот метод использования метода градиентного спуска для решения также называется алгоритмом наименьших средних квадратов (LMS).

Свести к минимуму структурный риск

Основное требование метода наименьших квадратов состоит в том, что каждый признак должен быть независим друг от друга, чтобы гарантировать обратимость $XX^T$. Но даже если $XX^T$ является обратимым, если существует большая мультиколлинеарность между признаками, это также сделает невозможным точное численное вычисление обратного $XX^T$. Небольшие возмущения в наборе данных X вызовут большие изменения в $(XX^T)^{-1}$, что сделает расчет методом наименьших квадратов очень нестабильным. Чтобы решить эту проблему, [Hoerl et al., 1970] предложил регрессию хребта, которая добавляет константу к диагональным элементам $XX^T$, так что $(XX^T+\lambda I)$ имеет полный ранг, т. е. есть, его определитель Not 0. Оптимальный параметр $w^*$ есть

$w^*=(XX^T+\lambda I)^{-1} Xy$

Где $\lambda › 0 $ — предустановленный гиперпараметр, а I — единичная матрица.

Решение гребневой регрессии $w^*$ можно рассматривать как оценку методом наименьших квадратов по критерию минимизации структурного риска, а его целевую функцию можно записать в виде

$\mathcal{R}(w)=\frac{1}{2}\left \| y-X^Tw \right \|²+\frac{1}{2}\lambda \left \|w \right \| ^2$

Где $\lambda › 0$ — коэффициент регуляризации.

Оценка максимального правдоподобия

Задачи машинного обучения можно разделить на две категории: одна — это неизвестная функциональная связь между вектором признаков выборки x и меткой y y= ℎ(x), а другая — условная вероятность того, что $p(y \mid x)$ подчиняется некоторому неизвестное распространение. Метод наименьших квадратов, представленный в разделе 2.3.1.1, относится к первой категории и непосредственно моделирует функциональную связь между x и меткой y. Кроме того, линейная регрессия также может оценивать параметры с точки зрения моделирования условной вероятности $p(y \mid x)$.

Предположим, что метка y является случайной величиной и определяется функцией $f(x;w)=w^Tx$ плюс случайный шум $\epsilon$, а именно

$y=f(x;w)+\epsilon$

$=w^Tx+\эпсилон$

Среди них $\epsilon$ подчиняется гауссовскому распределению со средним значением 0 и дисперсией $\sigma²$. Таким образом, y подчиняется распределению Гаусса со средним значением $w^Tx$ и дисперсией $\sigma²$:

$p(y\mid x;w,\sigma)=\mathcal{N}(y;w^Tx,\sigma²)$

$=\frac{1}{\sqrt{2 \pi \sigma}}exp(-\frac{(yw^Tx)²}{2 \sigma²})$

Функция правдоподобия (правдоподобие) параметра w на обучающем наборе $\mathcal{D}$ равна

$p(y\mid X;w, \sigma)=\prod_{n=1}^{N}p(y^{(n)} \mid x^{(n)};w,\sigma)$

$=\prod_{n=1}^{N}\mathcal{N}(y^{(n)} ;w^T x^{(n)},\sigma²)$

Где $y=[y^{(1)},\hdots,y^{(N)}]$ — вектор, состоящий из всех меток выборки, $X=[x^{(1)},\hdots,x ^{(N)}]$ — матрица, состоящая из всех выборочных векторов признаков.

$ log p(y\mid X;w,\sigma)=\sum_{n=1}^{N}log\mathcal{N}(y^{(n)};w^Tx^{(n)} ,\сигма²)$

Оценка максимального правдоподобия (MLE) относится к нахождению набора параметров w, чтобы сделать функцию правдоподобия $p(y \mid X;w,\sigma)$ наибольшей, что эквивалентно логарифмической функции правдоподобия $log p(y \ середина X;w,\sigma)$ макс.‹br›‹/br›

Пусть $\frac{\partial log p(y \mid X;w,\sigma)}{\partial w}=0$, получим

$ w^{ML}=(XX^T)^{-1}Xy$

Видно, что решение оценки максимального правдоподобия совпадает с решением метода наименьших квадратов.

Максимальная апостериорная оценка

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

Предположим, что параметр w является случайным вектором и подчиняется априорному распределению $p(w;v)$. Для простоты, вообще говоря, пусть $p(w;v)$ — изотропное распределение Гаусса:

$ p(w;v)=\mathcal{N}(w;0,v²I) $

Где $v²$ — дисперсия по каждому измерению.

Согласно байесовской формуле апостериорное распределение параметра w (Posterior Distribution) равно

$ p(w\mid X,y;v,\sigma)=\frac{p(w,y\mid X;v,\sigma)}{\sum_w p(w,y\mid X;v,\sigma) )}$

$ =\propto p(y \mid X,w;\sigma)p(w;v)$

Где $ p(y \mid X,w;\sigma)$ — функция правдоподобия w, а $p(w;v)$ — априор w.

Этот метод оценки апостериорного распределения вероятностей параметра w называется байесовской оценкой и представляет собой задачу статистического вывода. Линейная регрессия с использованием байесовской оценки также называется байесовской линейной регрессией (Bayesian Linear Regression).

Байесовская оценка — это интервальная оценка параметров, то есть распределение параметров на интервале. Если мы хотим получить оптимальное значение параметра (т.е. точечную оценку), мы можем использовать максимальную апостериорную оценку. Максимальная апостериорная оценка (MAP) означает, что оптимальным параметром является апостериорное распределение $ p(w \mid X,y;v,\sigma)$ Параметр с наибольшей плотностью вероятности:

$w^{MAP}= \argmaxA_w p(y \mid X,w;\sigma)p(w;v) $

Пусть функция правдоподобия $p(y \mid X,w;\sigma)$ является функцией плотности Гаусса, тогда логарифм апостериорного распределения $p(w \mid X,y;v,\sigma)$ равен

$logp(w \mid X,y;v,\sigma) \propto logp(y\mid X,w;\sigma)+logp(w;v)$

$\propto -\frac{1}{2 \sigma²}\sum_{n=1}^{N}(y^{(n)}-w^Tx^{(n)})² -\frac{1 {2v²}w^Tw$

$\propto -\frac{1}{2\sigma²}\left \| y-X^Tw \right \|² -\frac{1}{2v²}w^Tw$

Можно видеть, что максимальная апостериорная вероятность эквивалентна минимизации структурного риска квадратичных потерь, где коэффициент регуляризации $\lambda=\frac{\sigma²}{v²}$.

Оценку максимального правдоподобия и байесовскую оценку можно рассматривать как разные интерпретации параметров, которые необходимо оценить частотной школой и байесовской школой соответственно. При $v \rightarrow \infty$ априорное распределение $p(w;v)$ вырождается в равномерное распределение, называемое неинформативным априорным, а максимальная апостериорная оценка вырождается в оценку максимального правдоподобия.

Разложение отклонения-дисперсии

Чтобы избежать переобучения, мы часто идем на компромисс между возможностью подбора и сложностью модели. Модель с сильной подгонкой обычно имеет более высокую сложность и легко приводит к переобучению. Наоборот, если сложность модели ограничена и ее подгоночная способность снижена, это может привести к недообучению. Поэтому для алгоритма машинного обучения очень важно, как достичь хорошего баланса между подгонкой модели и ее сложностью. Декомпозиция смещения-дисперсии (Decomposition Bias-Variance Decomposition) предоставляет нам хороший инструмент анализа и руководства.

Возьмем в качестве примера проблему регрессии, предположим, что истинное распределение выборки равно $p_r(x,y)$, и используется функция квадратичных потерь. Ожидаемая ошибка модели f(x) равна

$\mathcal{R}(f)=\mathbb{E}_{(x,y) \sim p_r(x,y)} [ (y-f(x))² ]$

Тогда оптимальная модель

$f^*(x)=\mathbb{E}_{y \sim p_r(y\mid x)} [y]$

Где $ p_r(y\mid x)$ — истинное условное распределение выборки, $f^*(x)$ — оптимальная модель, использующая квадратичные потери в качестве цели оптимизации, а ее потери равны

$\epsilon=\mathbb{E}_{(x,y) \sim p_r(x,y)} [ (y-f^*(x))² ]$

Потери $\epsilon$ обычно вызваны распределением выборки и шумом и не могут быть уменьшены за счет оптимизации модели.

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

$\mathcal{R}(f)=\mathbb{E}_{(x,y) \sim p_r(x,y)} [ (y-f^*(x)+f^*(x)-f(x ))² ]$

$=\mathbb{E}_{x\sim p_r(x)}[ (f(x)-f^*(x))²]+\epsilon$

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

При фактическом обучении модели f(x) обучающая выборка $\mathcal{D}$ представляет собой конечную выборку, независимо и идентично отобранную из реального распределения $p_r(x,y)$. Разные тренировочные наборы получат разные модели. Пусть $f_D(x)$ обозначает модель, обученную на обучающем наборе $\mathcal{D}$. Способность алгоритма машинного обучения (включая модели и алгоритмы оптимизации) можно оценить по средней производительности моделей на разных обучающих наборах.

Для одной выборки x ожидаемая разница между моделью $f_D(x)$ и оптимальной моделью $f^*(x)$ в разных обучающих наборах $\mathcal{D}$ составляет

$\mathbb{E}_{D} [ (f_D(x)-f^*(x))² ]=\mathbb{E}_{D} [ (f_D(x)-\mathbb{E}_D [ f_D(x) ]+\mathbb{E}_D [ f_D(x) ]-f^*(x))² ]$

$ = \ underbrace {(\ mathbb {E} _D [ f_D (x)] -f ^ * (x)) ²} _ {\ text {(bias.x)} ²} + \ underbrace {\ mathbb {E} _D [ (f_D(x)-\mathbb{E}_D [ f_D(x) ])² ]}_{\text{(дисперсия.x)}}$

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

Используйте $\mathbb{E}_{D} [ (f_D(x)-f^*(x))² ]$ в формуле вместо $(f_D(x)-f^*(x))²$, ожидаемая ошибка может быть далее записана как

$\mathcal{R}(f)=\mathbb{E}_{x\sim p_r(x)}[ \mathbb{E}_{D} [ (f_D(x)-f^*(x))² ]]+\эпсилон$

$=\text{bias}²+\text{дисперсия}+\epsilon$

Где

$\text{bias}²=\mathbb{E}_x [ (\mathbb{E}_D[f_D(x)]-f^*(x))²]$

$\text{дисперсия}=\mathbb{E}_x[ \mathbb{E}_D [(f_D(x)-\mathbb{E}_D [ f_D(x) ])² ] ]$

Минимизация ожидаемой ошибки эквивалентна минимизации суммы отклонения и дисперсии.

На рис. 5 показаны четыре комбинации отклонений и дисперсий модели машинного обучения. Центральная точка каждого графика — оптимальная модель $f^*(x)$, а синяя точка — модель $f_D(x)$, полученная на разных обучающих наборах D. На рис. 5а показана идеальная ситуация с низкой дисперсией и смещением. . На рисунке 5b показан случай высокого отклонения и низкой дисперсии, что указывает на то, что способность модели к обобщению очень хорошая, но способность к подгонке недостаточна. На рис. 5с показан случай низкого отклонения и высокой дисперсии, что указывает на то, что подгоночная способность модели очень хорошая, но ее способность к обобщению относительно плохая. Когда обучающие данные относительно малы, это приведет к переобучению. На рисунке 5d показан случай высокого отклонения и высокой дисперсии, который является наихудшим случаем.

Рисунок 5 — Четыре комбинации смещения и дисперсии моделей машинного обучения

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

По мере увеличения сложности модели подгоночная способность модели становится сильнее, отклонение уменьшается, а дисперсия увеличивается, что приводит к переобучению. Взяв в качестве примера минимизацию структурных рисков, мы можем настроить коэффициент регуляризации $\lambda$, чтобы контролировать сложность модели. Когда $\lambda$ станет больше, сложность модели уменьшится, что позволит эффективно уменьшить дисперсию и избежать переобучения, но увеличится отклонение. Если $\lambda$ слишком велико, вместо этого увеличится общая ожидаемая ошибка. Следовательно, хороший коэффициент регуляризации $\lambda$ должен обеспечивать лучший баланс между отклонением и дисперсией. На рис. 6 показаны ожидаемая ошибка, отклонение и дисперсия модели машинного обучения в зависимости от сложности. Красная пунктирная линия указывает на оптимальную модель. Оптимальная модель не обязательно является пересечением кривой отклонения и кривой дисперсии.

Рисунок 6 — Ожидаемая ошибка, систематическая ошибка и дисперсия модели машинного обучения в зависимости от сложности

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

Типы алгоритмов машинного обучения

Алгоритмы машинного обучения можно классифицировать по разным стандартам. Например, по разным функциям $f(x;\theta)$ алгоритмы машинного обучения можно разделить на линейные модели и нелинейные модели; по разным критериям обучения алгоритмы машинного обучения также можно разделить на статистические методы и нестатистические методы.

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

Обучение с учителем Если целью машинного обучения является моделирование взаимосвязи между характеристиками выборки x и меткой $y=f(x;\theta)$ или $p(y \mid x; \theta )$, и каждый образец в обучающем наборе имеет метку. Тогда этот тип машинного обучения называется обучением с учителем. Согласно различным типам меток контролируемое обучение можно разделить на проблемы регрессии, проблемы классификации и проблемы структурированного обучения.

  • Метка y в задаче регрессии является непрерывным значением (действительным числом или непрерывным целым числом), и выход $f(x;\theta)$ также является непрерывным значением.
  • Метка в задаче классификации y является дискретной категорией (символом). В задаче классификации изученная модель также называется классификатором. Задачи классификации можно разделить на задачи бинарной классификации и многоклассовой классификации в зависимости от количества категорий.
  • Проблема структурированного обучения представляет собой специальную проблему классификации. В структурированном обучении теги обычно представляют собой структурированные объекты, такие как последовательности, деревья или графики. Поскольку выходное пространство исследований структурной химии относительно велико, мы обычно определяем пространство совместных признаков и сопоставляем x, y с вектором совместных признаков $\phi(x,y)$ в пространстве, и модель прогнозирования может быть записана как

$\hat{y}=\argmaxA_{y \in Gen(x)}f(\phi(x,y);\theta) $

Где Gen(x) представляет набор всех возможных выходных целей ввода x. Процесс вычисления $\argmaxA$ также называется процессом декодирования, который обычно рассчитывается с помощью динамического программирования.

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

Обучение с подкреплением (RL) – это тип алгоритма машинного обучения, который обучается посредством взаимодействия. При обучении с подкреплением агент совершает действие в соответствии с состоянием окружающей среды и получает немедленное или отсроченное вознаграждение. Агент постоянно учится и корректирует свои стратегии взаимодействия с окружающей средой, чтобы получить максимальную ожидаемую общую отдачу.

Обучение с учителем требует, чтобы каждый образец имел метку, в то время как обучение без учителя не требует метки. Вообще говоря, контролируемое обучение обычно требует большого количества размеченных наборов данных. Эти наборы данных обычно необходимо аннотировать вручную, что требует больших затрат. Поэтому также существует множество методов слабо контролируемого обучения (Weakly Supervised Learning) и частично контролируемого обучения (Semi-Supervised Learning, SSL), в надежде полностью извлечь полезную информацию из крупномасштабных немаркированных данных и уменьшить количество помеченных образцов. . Требовать. Разница между обучением с подкреплением и обучением с учителем заключается в том, что обучение с подкреплением не требует явного предоставления обучающих выборок в виде «пар ввода/вывода». Это механизм онлайн-обучения.

В таблице 1 приведено сравнение трех типов машинного обучения.

Обучение с учителемОбучение без учителяОбучение с подкреплением

Обучающие образцы

Обучающий набор $\{(x^{(n)},y^{(n)})\}$

Обучающий набор $$\{x^{(n)}\}$$

Траектория $\tau$ и совокупное вознаграждение $G_\tau$ взаимодействия агента и среды

Цель оптимизации

$y=f(x) \text{ или } p(y\mid x)$

p(x) или со скрытой переменной z $p(x \mid z)$

Ожидаемый общий доход $\mathbb{E}_\tau[G_\tau]$

Руководство по обучению

Ожидаемая минимизация рисков; Оценка максимального правдоподобия

Оценка максимального правдоподобия, минимальная ошибка реконструкции

Оценка стратегии, улучшение стратегии

Таблица 1 — Сравнение трех типов машинного обучения

Характерное представление данных

В практических приложениях существует много типов данных, таких как текст, аудио, изображения, видео и т. д. Различные типы данных имеют разные необработанные функции (Raw Feature) пространства. Например, пространство признаков полутонового изображения (количество пикселей равно D) равно $[0, 255]^D$, а пространство признаков предложения на естественном языке (длина L) равно $\mid V \mid^L$, где V — словарное множество. Многие алгоритмы машинного обучения требуют, чтобы функции входных выборок были математически вычислимы, поэтому нам необходимо преобразовать эти различные типы данных в векторные представления перед машинным обучением.

Особенности изображения В задаче распознавания рукописных цифр образцом x является изображение, которое необходимо распознать. Чтобы определить, что такое число x, мы можем извлечь некоторые функции из изображения. Если изображение представляет собой изображение размером $M \times N$, его вектор признаков можно просто выразить как $M \times N$-мерный вектор, а значением каждого измерения является значение серого соответствующего пикселя в Изображение. Чтобы повысить точность модели, часто добавляются дополнительные функции, такие как гистограмма, соотношение сторон, количество штрихов, особенности текстуры, особенности края и так далее. Предположим, мы извлекли всего D признаков, эти признаки можно представить в виде вектора $x\in \mathbb{R}^D$.

Особенности текста В задаче классификации тональности текста выборка x представляет собой текст на естественном языке, а категория $y \in \{+1, -1\}$ представляет собой положительную или отрицательную оценку соответственно. Чтобы преобразовать выборку x из текстовой формы в векторную, простым способом является использование модели Bag-of-Words (BoW). Предполагая, что все слова в обучающем наборе взяты из словаря V размером $\mid V \mid$, каждую выборку можно представить в виде $\mid V \mid$-мерного вектора$x \in \mathbb{ R} ^ {\ середина V \ середина} $. Значение измерения i в векторе x указывает, появляется ли слово i в словаре в x. Если он появляется, значение равно 1, иначе — 0.

Например, два текста «Я люблю читать» и «Я ненавижу читать» состоят из четырех слов: «Я», «Нравится», «Не нравится» и «Читаю». Их представления BoW соответственно.

$ x_1= [ 1 1 0 1 0 1 ]^T $

$ x_2= [ 1 0 1 0 1 1 ]^T $

По мере роста N количество N-арных признаков будет увеличиваться экспоненциально, и верхний предел равен $\mid V \mid^N$. Поэтому в реальных приложениях размерность текстовых признаков обычно превышает сто тысяч или один миллион.

Обучение представлению Если вы напрямую используете исходные функции данных для прогнозирования, возможности модели машинного обучения относительно высоки. Эти исходные признаки могут иметь следующие недостатки: 1) признак является относительно единственным и требует (нелинейной) комбинации, чтобы играть свою роль; 2) Избыточность между функциями относительно высока; 3) Не все функции предсказуемы. Полезно; 4) Многие функции обычно изменяемы; 5) Часто в функциях присутствует шум.

Чтобы улучшить возможности алгоритмов машинного обучения, нам нужно извлечь эффективные и стабильные функции. Традиционное извлечение признаков выполняется вручную, что требует большого количества рабочей силы и экспертных знаний. Успешная система машинного обучения обычно должна опробовать большое количество функций, что называется Feature Engineering. Но даже при этом возможности ручного проектирования не могут удовлетворить потребности во многих задачах. Поэтому вопрос о том, как позволить машине автоматически изучать эффективные функции, стал важным исследовательским содержанием в области машинного обучения, которое называется Feature Learning или Representation Learning. Изучение признаков также может уменьшить сложность модели, сократить время обучения, улучшить способность модели к обобщению и в определенной степени избежать переобучения.

Традиционное изучение функций

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

Выбор функции

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

Поиск подмножества Прямой метод выбора объектов — поиск подмножества. Предполагая, что исходный номер объекта равен D, существует $²²$ подмножеств-кандидатов. Цель отбора признаков состоит в том, чтобы выбрать оптимальное подмножество кандидатов. Самый жестокий подход — протестировать каждое подмножество функций, чтобы увидеть, какое подмножество модели машинного обучения имеет наибольшую точность. Но этот метод слишком неэффективен. Обычно используемый метод заключается в применении жадной стратегии: начиная с пустого набора, каждый раунд добавляет лучшие характеристики раунда, что называется поиском вперед; или, начиная с исходного набора функций, каждый раз удалять самые бесполезные функции. Это называется поиск назад. Методы поиска подмножества можно разделить на методы фильтрации и методы упаковки.

  • Метод фильтра — это метод выбора признаков, который не зависит от конкретных моделей машинного обучения. Каждый раз добавляется наиболее информативный признак или удаляется наименее информативный признак [Hall, 1999]. Количество информации признака может быть измерено приростом информации, то есть степенью, в которой неопределенность (энтропия) условного распределения $p_\theta(y\mid x)$ уменьшается после введения признака.
  • Метод оболочки — это метод, который использует точность последующей модели машинного обучения в качестве оценки для выбора подмножества функций. Каждый раз добавляются самые полезные функции для последующих моделей машинного обучения или удаляются самые бесполезные функции для последующих задач машинного обучения. Этот метод заключается в включении модели машинного обучения в процесс выбора функций.

Кроме того, мы также можем реализовать выбор признаков с помощью регуляризации $\ell_1$. Поскольку регуляризация $\ell_1$ приведет к разреженным признакам, отбор признаков осуществляется косвенно.

Извлечение признаков

Извлечение признаков заключается в создании нового пространства признаков и проецировании исходных признаков в новое пространство для получения нового представления. Возьмем в качестве примера линейную проекцию. Пусть $x \in \mathbb{R}^D$ – исходный вектор признаков, а ${x}' \in \mathbb{R}^K$ – вектор признаков в новом пространстве. полученный после линейной проекции.

$ {x}’ =Wx$

Извлечение признаков можно разделить на контролируемые и неконтролируемые методы. Целью контролируемого обучения признаков является выделение наиболее полезных признаков для конкретной задачи прогнозирования, такой как линейный дискриминантный анализ (LDA). Неконтролируемое изучение признаков не имеет ничего общего с конкретными задачами. Его цель обычно состоит в том, чтобы уменьшить избыточную информацию и шум, такие как анализ основных компонентов (PCA) и автоматический кодировщик (AE).

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

Обучение с учителемОбучение без учителя

Выбор функции

Поиск подмножества по меткам, регуляризация $\ell_1$, деревья решений

Независимый от тегов поиск подмножества

Извлечение признаков

Линейный дискриминантный анализ

Анализ главных компонентов, анализ независимых компонентов, автокодировщик.

Таблица 2 — Традиционные методы выбора и извлечения признаков

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

Методы глубокого обучения

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

Если мы органично объединим обучение представлению признаков и прогностическое обучение машинного обучения в одну модель и установим сквозной алгоритм обучения, мы сможем эффективно избежать несоответствия критериев между ними. Этот метод обучения представлению называется Deep Learning (DL). Сложность метода глубокого обучения заключается в том, как оценить вклад или влияние обучения на конечный результат вывода системы, то есть проблему распределения вклада. В настоящее время более эффективной моделью является нейронная сеть, которая использует конечный выходной слой в качестве обучения с прогнозированием, а другие слои — в качестве обучения с представлением.

Индекс оценки

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

Для задач классификации общие критерии оценки включают точность, точность, полноту и F-значение. Учитывая тестовый набор $\mathcal{T}=\{(x^{(1)},y^{(1)}),\hdots,(x^{(N)},y^{(N)} )\}$, предполагая метку $y^{(n)}\in \{1,\hdots,C\}$, используйте Обученную модель $f(x;\theta^*)$ предсказывает каждую выборку в тестовый набор, и результат $\{\шляпа{у}^{(1)},\hdots,\шляпа{у}^{(N)} \}$. Точность Наиболее часто используемым индексом оценки является Точность:

$\mathcal{A}=\frac{1}{N}\sum_{n=1}^{N}I(y^{(n)} =\hat{y}^{(n)}) $

Где I(⋅) — индикаторная функция.

Частота ошибок и показатель точности соответствуют частоте ошибок:

$\mathcal{E} =1-\mathcal{A} $

$= \frac{1}{N}\sum_{n=1}^{N}I(y^{(n)} =\hat{y}^{(n)}) $

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

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

  • Истинный положительный результат (TP): истинная категория образца — c, и модель правильно предсказывает категорию c. Количество таких проб записывается как

$ TP_c=\sum_{n=1}^{N}I(y^{(n)} =\hat{y}^{(n)}=c) $

  • Ложноотрицательный результат (FN): истинная категория образца — c, и модель неправильно предсказывает другие категории. Количество таких проб записывается как

$ FN_c=\sum_{n=1}^{N}I(y^{(n)}=c \клин \шляпа{y}^{(n)} \neq c) $

  • Ложноположительный результат (FP): истинная категория выборки — это другая категория, и модель неверно предсказывает категорию c. Количество таких проб записывается как

$ FP_c=\sum_{n=1}^{N}I(y^{(n)}\neq c \wedge \hat{y}^{(n)} = c) $

  • True Negative (TN): истинной категорией выборки являются другие категории, и модель также предсказывает другие категории. Количество таких выборок записывается как $TN_c$. Для категории с эта ситуация, как правило, не должна беспокоить.

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

$\шляпа{у}=с$

$\шляпа{у} \neq с$

y=c

$TP_c$

$FN_c$

$y\neqc$

$FP_c$

$TN_c$

Таблица 3 — Матрица путаницы прогнозируемых результатов для категории c.

В соответствии с приведенным выше определением мы можем дополнительно определить точность, полноту и значение F.

Точность, также называемая прецизионностью или прецизионностью, точность категории c — это доля правильных прогнозов во всех выборках, чьи прогнозы относятся к категории c:

$ R_c=\frac{TP_c}{TP_c+FP_c}$

Напомним, также называется скоростью отзыва. Частота отзыва категории c — это доля правильных прогнозов среди всех образцов, реальными метками которых являются категории c:

$ R_c=\frac{TP_c}{TP_c+FN_c}$

F-значение (F-мера) — комплексный показатель, представляющий собой среднее гармоническое между коэффициентом точности и коэффициентом полноты:

$\mathcal{F}_c=\frac{(1+\beta²) \times \mathcal{P}_c \times \mathcal{R}_c}{\beta² \times \mathcal{P}_c + \mathcal{R }_c}$

Среди них $\beta$ используется, чтобы сбалансировать важность точности и полноты, и общее значение равно 1. Значение F, когда $\beta=1$, называется значением F1, которое представляет собой гармоническое среднее коэффициента точности. и скорость отзыва.

Макросреднее и микросреднее Для расчета общей точности, полноты и значения F1 алгоритма классификации во всех категориях часто используются два метода усреднения, которые называются Макросреднее и Микросреднее [Yang, 1999].

Макросреднее — это среднее арифметическое показателей эффективности каждой категории.

$\mathcal{P}_{макрос}=\frac{1}{C}\sum_{c=1}^{C}\mathcal{P}_c$

$\mathcal{R}_{макрос}=\frac{1}{C}\sum_{c=1}^{C}\mathcal{R}_c$

$ \mathcal{F}1_{macro}=\frac{ 2 \times \mathcal{P}_{macro} \times \mathcal{R}_{macro}}{\mathcal{P}_{macro} + \ математический{R}_{макрос}}$

Стоит отметить, что в некоторой литературе макрос среднего значения F1 равен $ \mathcal{F}1_{macro}=\frac{1}{C}\sum_{c=1}^{C}\mathcal{F} 1_c$.

Микросреднее — это среднее арифметическое показателей эффективности каждой выборки. Для одного образца его точность и скорость отзыва одинаковы (либо оба равны 1, либо оба равны 0). Таким образом, микросреднее значение точности и микросреднее число отзывов совпадают. Точно так же микросредний показатель значения F1 одинаков. Когда количество выборок в разных категориях несбалансировано, разумнее использовать макросреднее, чем микросреднее. Макросредняя будет уделять больше внимания оценочным показателям по малым категориям.

В практических приложениях мы также можем выполнить более полную оценку, отрегулировав порог модели классификации, такой как AUC (площадь под кривой), кривая ROC (рабочая характеристика приемника), кривая PR (точность-отзыв) и так далее. Кроме того, многие задачи имеют свои специальные методы оценки, например, точность TopN.

Перекрестная проверка Перекрестная проверка — это лучший метод статистического анализа для измерения моделей машинного обучения. Это может эффективно избежать влияния случайности при разделении обучающего набора и тестового набора на результаты оценки. Мы можем разделить исходный набор данных на K групп неповторяющихся подмножеств. Каждый раз мы выбираем K-1 подмножеств в качестве обучающего набора, а оставшийся набор подмножеств — в качестве проверочного набора. Таким образом, можно выполнить K испытаний и получить K моделей, а среднее значение частоты ошибок этих K моделей в их соответствующих проверочных наборах используется в качестве оценки классификатора.

Теории и теоремы

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

теория обучения PAC

При использовании методов машинного обучения для решения конкретной проблемы выбор подходящей модели, количества обучающих выборок и скорости сходимости алгоритма обучения обычно зависит от опыта или нескольких испытаний. Однако эмпирические суждения или множественные эксперименты часто являются дорогостоящими и ненадежными. Поэтому есть надежда, что появится набор теорий, которые смогут анализировать сложность проблем, рассчитывать возможности моделей, предоставлять теоретические гарантии для алгоритмов обучения и направлять разработку моделей машинного обучения и алгоритмов обучения. Это теория вычислительного обучения. Вычислительная теория обучения (Computational Learning Theory) является теоретической основой машинного обучения. Самая основная теория - это вероятно приблизительно правильная (PAC) теория обучения.

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

$\mathcal{G}_D(f)=\mathcal{R}(f)-\mathcal{R}_{D}^{emp}(f) $

Согласно закону больших чисел, при стремлении размера обучающей выборки $\mid D \mid$ к бесконечности ошибка обобщения стремится к 0, то есть эмпирический риск приближается к ожидаемому риску.

$\lim\limits_{\mid D \mid \to \infty} \mathcal{R}(f)-\mathcal{R}_{D}^{emp}(f) =0$

Поскольку мы не знаем ни реального распределения данных p(x, y), ни реальной целевой функции g(x), нет необходимости ожидать изучения функции f(x) с ожидаемой ошибкой 0 из ограниченного обучения. образец. Реалистичный. Следовательно, необходимо снизить ожидания способности алгоритма обучения. Требуется только, чтобы алгоритм обучения мог выучить примерно правильную гипотезу с определенной вероятностью, то есть PAC Learning (PAC Learning). Алгоритм PAC-Learnable означает, что алгоритм обучения может получить приблизительно правильное значение f(x) из разумного количества обучающих данных за полиномиальное время.

Обучение PAC можно разделить на две части:

  • Приблизительно верная: Гипотеза $f \in \mathcal{F}$ "приблизительно верна", что означает, что ее ошибка обобщения $\mathcal{G}_D(f)$ меньше предела $\epsilon$. $\epsilon$ обычно представляет собой число от 0 до 1 2, $0 ‹\epsilon ‹\frac{1}{2}$. Если $\mathcal{G}_D(f)$ относительно велико, это означает, что модель не может быть использована для правильного «предсказания».
  • Вероятно: Алгоритм обучения $\mathcal{A}$ «может» обучить такую ​​«приблизительно правильную» гипотезу с вероятностью $1-\delta$. $\delta$ Обычно это число от 0 до 1 2, $0 ‹ \delta ‹\frac{1}{2}$.

Обучение PAC можно описать следующей формулой:

$P((\mathcal{R}(f)-\mathcal{R}_{D}^{emp})\leq \epsilon) \geq 1-\delta$

Где $\epsilon,\sigma$ — переменные, связанные с количеством выборок N и пространством гипотез $\mathcal{F}$. Если вы исправите $\epsilon,\sigma$, вы можете обратно вычислить количество необходимых выборок

$N(\epsilon,\sigma)\geq \frac{1}{2\epsilon²}(log\left | \mathcal{F} \right |+log\frac{2}{\delta})$

Где $\mid \mathcal{F}\mid $ — размер гипотетического пространства. Из приведенной формулы видно, что чем сложнее модель, то есть чем больше пространство гипотез $\mathcal{F}$, тем хуже обобщающая способность модели. Для достижения той же способности к обобщению более сложная модель требует большего количества выборок. Чтобы улучшить способность модели к обобщению, обычно требуется регуляризация, чтобы ограничить сложность модели.

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

Теоремы бесплатного обеда не существует

Теорема об отсутствии бесплатного обеда (NFL) была предложена Вольпертом и Макердеем в теории оптимизации. Доказательства теоремы о бесплатном обеде нет: для итеративного алгоритма оптимизации не существует определенного алгоритма, эффективного для всех задач (в ограниченном пространстве поиска). Если алгоритм эффективен для одних задач, то он должен быть хуже алгоритмов чистого случайного поиска для других задач. Другими словами, нельзя говорить о плюсах и минусах алгоритма в отрыве от конкретных вопросов. Любой алгоритм имеет свои ограничения. Необходимо «специально анализировать конкретные вопросы. »

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

Принцип бритвы Оккама

Принцип Бритвы Оккама (Occam’s Razor) — это правило решения проблем, выдвинутое логиком Вильямом Оккамом в 14 веке: «Если нет необходимости, не добавляйте сущности. » Идея бритвы Оккама очень похожа на идею регуляризации в машинном обучении: простые модели обладают лучшими возможностями обобщения. Если есть две модели с одинаковой производительностью, мы должны выбрать более простую модель. Поэтому в критерии обучения машинного обучения мы часто вводим регуляризацию параметров, чтобы ограничить возможности модели и избежать переобучения.

Формализацией бритвы Оккама является принцип минимальной длины описания (MDL), то есть для набора данных D наилучшая модель $ f \in \mathcal{F}$ сделает эффект сжатия набора данных наилучшим, т.е. то есть минимальная длина кода.

Минимальную длину описания также можно объяснить с точки зрения байесовского обучения [MacKay, 2003]. Логарифмическая апостериорная вероятность модели f на наборе данных D равна

$\max_{{f}}logp (f\mid D)=\max_{{f}}logp (D \mid f)+logp(f)$

$ = \min_{{f}}-logp(D\mid f)-logp(f)$

Где $-logp(f)$ и $-log(D \mid f)$ можно рассматривать как длину кодирования модели f и длину кодирования набора данных D в рамках этой модели соответственно. Другими словами, мы должны не только сделать так, чтобы модель f могла кодировать набор данных D, но и сделать модель f как можно более простой.

Теорема о гадком утенке

Теорема о гадком утенке (Теорема о гадком утенке) была предложена Кей Ватанабэ в 1969 году [Watanable, 1969]. «Разница между гадким утенком и белым лебедем так же велика, как разница между двумя белыми лебедями». На первый взгляд эта теорема может показаться несовместимой со здравым смыслом, но после тщательного рассмотрения она обретает большой смысл. Поскольку в мире не существует объективного стандарта подобия, все стандарты подобия субъективны. С точки зрения размера или внешнего вида разница между гадким утенком и белым лебедем больше, чем разница между двумя белыми лебедями; но с генетической точки зрения разница между гадким утенком и его родителями меньше, чем между его родителями и другими белыми лебедями. Разница.

Индуктивное смещение

В машинном обучении многие алгоритмы обучения часто делают некоторые предположения о проблеме обучения. Эти предположения называются индуктивным смещением (Mitchell, 1997). Например, в классификаторе ближайшего соседа будем считать, что в пространстве признаков большинство выборок в небольшой локальной области принадлежат к одному и тому же классу. В наивном байесовском классификаторе мы будем предполагать, что условные вероятности каждого признака не зависят друг от друга.

Индуктивное смещение часто называют априорным в байесовском обучении.

Резюме и дальнейшее чтение

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

Если вам необходимо быстрое и всестороннее понимание основных концепций и систем машинного обучения, вы можете прочитать «Классификация шаблонов» [Дуда и др., 2001], «Машинное обучение: вероятностный взгляд» [Мерфи, 2012], «Машинное обучение». Обучение» [Чжоу Чжихуа, 2016] и «Статистические методы обучения» [Ли Ханг, 2019].

В настоящее время наиболее распространенным методом машинного обучения является метод статистического обучения, который рассматривает проблемы машинного обучения как проблемы статистического вывода и может быть далее разделен на частотную школу и байесовскую школу. Частотная школа рассматривает параметр модели $\theta$ как фиксированную константу; школа Байеса рассматривает параметр $\theta$ как случайную величину, и существует определенное априорное распределение. Чтобы лучше понять знания о статистическом обучении, вы можете прочитать «Распознавание образов и машинное обучение» [Bishop, 2007] и «Элементы статистического обучения: интеллектуальный анализ данных, вывод и прогнозирование» [Hastie et al., 2009]. Для ознакомления со статистической теорией обучения, пожалуйста, обратитесь к «Statistical Learning Theory» [Vapnik, 1998].

Кроме того, важным содержанием машинного обучения является репрезентативное обучение. [Bengio et al., 2013] систематически давал всесторонний обзор репрезентативного обучения. Традиционные методы обучения представлению, а именно выбор признаков и извлечение признаков, можно найти в главе 10 и главе 11 в «Машинном обучении» [Чжоу Чжихуа, 2016].