Основы машинного обучения — персептроны

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

«Это пятый день моего участия в ноябрьском испытании обновлений. Подробную информацию об этом событии см.:Вызов последнего обновления 2021 г."

Персептрон

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

Линейные и нелинейные задачи

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

linear_sep.png

На приведенном выше рисунке A означает линейно разделимый, а B означает линейно неразделимый

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

данные

есть такой образец

D={(x1,y1),(x2,y2),,(xi,yi)}ND = \{(x_1, y_1), (x_2, y_2),\cdots, (x_i, y_i) \}_N

вxiеRmx_i \in \mathbb{R}^mданные - это m-мерный вектор, иyiе1,+1y_i \in {-1,+1}Это 2-категория, -1 и +1 представляют категорию соответственно, а причина взятия -1 и +1 заключается в удобстве расчета.

модель персептрона

Прежде всего, персептрон — это модель, управляемая ошибками, модель очень просто найти.wTxw^TxТакая разделительная линия или разделительная гиперплоскость. вwеRmw\in \mathbb{R}^mЭто также вектор, то есть найти линию или плоскость, которая может разделить 2 типа данных.

Целевая функция персептрона

L(w)=xiеDyiwTxiL(w) = \sum_{x_i \in D} -y_iw^Tx_i

Сначала случайным образом инициализируется наибольшее количество w, а затем каждая точка(xi,yi)(x_i,y_i)Если выполняются следующие условия, обновите параметры, то есть обновите w в неправильных двух случаях.

wTxi>0yi=1w^Tx_i > 0 \\ y_i =-1

Это обновление, то есть когдаwTxi>0w^Tx_i > 0 как правилоyiy_iДолжно быть +1, т.е. выше разделительной гиперплоскости. То есть w не может правильно классифицировать выборки.

wnew=woldηxiw_{new} = w_{old} - \eta x_i
(wxi)TxiwTxxi2(w-x_i)^Tx_i\\ w^Tx - ||x_i||^2

То есть разделяющая гиперплоскость перемещается в сверхотрицательном направлении.xi2||x_i||^2

Второй случай не будет здесь подробно объясняться.

wTxi<0yi=+1w^Tx_i < 0 \\ y_i =+1

это обновление

wnew=wold+ηxiw_{new} = w_{old} + \eta x_i

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