Машинное обучение (ML) — это область искусственного интеллекта (ИИ), которая позволяет алгоритмам прогнозировать проблемы с данными. В течение десятилетия из-за увеличения объема доступных данных и развития вычислительных мощностей глубокое обучение (ГО) пережило бум. DL — это ветвь ML, в которой используется глубокая нейронная сеть (DNN). На рисунке ниже показано соотношение AI, ML и DL. В этой статье мы объясним обзор и наиболее известные задачи ML.

Как правило, МО состоит из трех типов обучения: обучение с учителем, обучение без учителя и обучение с подкреплением.

Обучение под присмотром

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

Регрессия

Регрессия – это метод исследования связи между независимыми переменными x и зависимой переменной y. Модель регрессии будет прогнозировать значение невидимых входных данных. Различают линейный метод и нелинейный метод.

Линейная регрессия

Линейная регрессия — один из самых простых подходов в машинном обучении. Пусть y:n-dim выходной вектор, X:n входная матрица × m, w:m-dim весовой вектор и b : n-dimсмещениевектор. yпрогнозируется по следующей формуле:
y^ = Xw + b
Цель — обнаружить (w, b) значения, которые минимизируют отличие от истинных значений. Чтобы оценить это, в контролируемом обучении определяется функция потерь. Функция потерь должна быть большой, когда предсказанное и истинное значение различаются, и маленькой, когда они близки. В регрессии в качестве функции потерь обычно используется среднеквадратическая ошибка (MSE):
L(y^, y)= MEAN(y^-y

Нелинейная регрессия

Хотя линейная регрессия интуитивно понятна и проста для понимания, многие данные невозможно представить в простом линейном формате. Нелинейная регрессия – это метод прогнозирования y с помощью нелинейной функции от x. Хотя модель может представлять очень сложное распределение, существует вероятность переобучения, которое чрезмерно соответствует обучающим данным и вообще не прогнозирует тестовые данные.

Классификация

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

Двоичная классификация
Двоичная классификация — это простейшая задача классификации, в которой число классов равно 2. В логистической регрессии сигмовидная функция σ(x) используется для проецирования линейной функции X в нелинейную функцию:
σ(x) = 1 / ( 1 + exp(-x) )
y^ = σ(Xw + b)
Поскольку диапазон сигмовидной функции составляет 0–1, прогнозируемое значение показывает вероятность категории. На рисунке ниже показано сравнение линейной регрессии и логистической регрессии.

В бинарной классификации двоичная перекрестная энтропия используется как функция потерь:
L(y^, y) = -y log y^

Многоклассовая классификация
Мультиклассовая классификация — это задача классификации, в которой количество классов больше 2. В логистической регрессии функция softmax soft(x) используется:
soft(x) = exp(x) / Σ(j= 1~N) exp(x)
y^ = soft(Xw + b)
В многоклассовой классификации перекрестная энтропия используется как функция потерь:
L(y^, y) = -Σ(j= 1~N) y log y^

Обучение без присмотра

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

Кластеризация

Кластеризация является наиболее часто используемым неконтролируемым методом. Он группирует схожие данные в кластеры, которые не определены заранее. Вам необходимо указать алгоритму номер кластера. Самый известный алгоритм — кластеризация по k-средним.

k-средние кластеризации
Сначала случайные k(заданные) точки данных инициализируются как центр кластеры. Затем (i) отнесите все данные к кластеру с ближайшим расстоянием до центра кластера. (ii) Рассчитайте центры кластеров среди новых кластеров. Повторяйте (i)~(ii), пока оно не сойдётся.

Уменьшение размерности

Снижение размерности — это метод уменьшения размерности данных. В эпоху больших данных все больше и больше данных имеют тенденцию становиться больше. Однако во многих случаях данные больших размеров содержат обширную информацию о том, что несколько основных компонентов объектов могут представлять более 90 % характеристик исходных данных. Выгодно уменьшить размер данных и вычислительные затраты. Самый известный алгоритм — анализ главных компонент (PCA).

PCA
PCA находит набор собственных векторов в наборе данных на основе значений дисперсии.
Пусть X = (x1,x2,…,xn) n×m матрица, где m — размер объектов, а n — количество данных.
(i) вычислить стандартизированные Z=(z1,z2,… ,zn), гдеzi =Σ(xi-x-)/ σ(x)
(x-: среднее значение X, σ( x):стандартное отклонениеX)
(ii) вычислить ковариационную матрицу Σ(i ,j) = Cov(xi,xj)
(Cov( xi,xj): ковариация xi и xj)
(iii) вычислить собственные значения и собственные векторы относительно ковариационной матрицы
Наконец, отсортируйте собственные значения по убыванию, и соответствующие собственные векторы будут представлять главные компоненты.

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

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

Q-обучение

Q-обучение находит лучшее действие A агента в среде с учетом текущего состояния S для получения более высокого вознаграждения R(S,А). Оно следует за значением Q Q(A,S), которое определяет, насколько хорошо на A при S . Для оптимизации значения Q используется уравнение Беллмана:
Q(S,A) ← Q >(S,A) + α[R(S,A) + γМакс Q'(S',A') — Q(S,A)]
Где α — скорость обучения, γ — ставка дисконтирования, а Q'(S',A') — максимальное ожидаемое вознаграждение. Это означает, что модель исследует, какое действие в состоянии получает награду за знание связи, и постепенно прекращает исследование и использует оптимальные действия, полученные из предыдущего опыта.

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