Математические методы распознавания образов

Линейный классификатор. Алгоритм персептрона

Разбить на страницы
Показывать лекцию целиком

3.1. Линейная дискриминантная функция

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

Рассмотрим линейную дискриминантную функцию: $$g(x)=W^T x+W_0$$, где $$W^T=(W_1,W_2,\ldots,W_l)^T$$ – весовой вектор, $$W_0$$ – порог. Поведение решения задается уравнением $$g(x)=0$$. Пусть $$X_1$$ и $$X_2$$ – два конечных множества векторов признаков в евклидовом пространстве, относящихся к классу $$\Omega_1$$ и $$\Omega_2$$ соответственно, т.е $$X_1$$ принадлежит классу $$\Omega_1$$ при $$g(x)>0$$, а $$X_2$$ принадлежит классу $$\Omega_2$$ при $$g(x)<0$$.

Задача состоит в том, чтобы:

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

    Определение. Множество, содержащее отрезок, соединяющий две произвольные внутренние точки, называется выпуклым.

    Определение. Выпуклая оболочка – это минимальное выпуклое множество, содержащее данное.

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

    Из этого утверждения получаем следующее правило проверки разделимости множеств на плоскости:

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

  • Найти ближайшую пару точек в выпуклых оболочках обоих множеств.
  • Построить срединный перпендикуляр к отрезку, соединяющему эти точки. Этот перпендикуляр и будет разделяющей прямой.
  • Пусть размерность вектора признаков $$X$$ и вектора коэффициентов $$W$$ равна $$l$$. Рассмотрим "пополненные" вектора $$X', W'$$ следующего вида: $$(W')^T=(W^T,W_0)$$ – пополненный весовой вектор, $$(X')^T=(X^T,1)$$ – пополненный вектор признаков. Рассмотрим также в $$(l+1)$$ -мерном пространстве однородную линейную функцию $$g'(x)=\left((W')^T,(X')^T\right)=\sum_{i=0}^l W_i\cdot x_i$$.

    Очевидно следующее

    Утверждение 3.2. Множества $$X_1$$ и $$X_2$$ линейно разделимы в пространстве $$R^l$$ дискриминантной функцией $$g(x)=W^T x+W_0$$ тогда и только тогда, когда они разделимы в пополненном пространстве $$R^l+1$$ однородной дискриминантной функцией $$g'(x)=\left((W')^T,(X')^T\right)=\sum_{i=0}^l W_i\cdot x_i$$.

    Далее будем рассматривать дискриминантные функции и вектора в пополненном пространстве.

    Определение. Множество $$\overline{X}=-X$$ называется симметричным множеством к множеству $$X$$.

    Утверждение 3.3. Два замкнутых множества $$X_1$$ и $$X_2$$ разделимы тогда и только тогда, когда выпуклая оболочка множества $$X_1\bigcup\overline{X}_2$$ не содержит начала координат.

    Доказательство. Пусть множества $$X_1$$ и $$X_2$$ разделимы. Тогда существует линейная функция $$g(x)$$ такая, что $$g(x)>0$$ при $$x\in X_1$$ и $$g(x)<0$$ при $$x\in X_2$$. Рассмотрим множество $$X=X_1\bigcup\overline{X}_2$$, тогда $$g(x)>0$$ при $$x\in X$$. Следовательно, $$g(x)>0$$ для выпуклой линейной комбинации из $$X$$, а это означает, что $$O\notin convX$$, т.к. $$X$$ – замкнутое. Здесь $$O$$ обозначает начало координат.

    Пусть $$O\notin convX$$, и пусть $$\widetilde{x}$$ – ближайшая к началу координат $$O$$ точка из $$convX$$. Плоскость $$(W,x)=0$$ с направляющим вектором $$W=\widetilde{x}$$ не пересекает $$convX$$, а, значит, $$(W,x)>0$$ на $$x\in X$$. Следовательно, $$(W,x)<0$$ на $$x\in X_2$$.

    3.2. Алгоритм персептрона

    3.2.1. Математическая модель нейрона. В алгоритме персептрона в основу положен принцип действия нейрона. Обобщенная схема нейрона представлена на рисунке. Здесь $$x_1,x_2,\ldots,x_l$$ – компоненты вектора признаков $$x=(x_1,x_2,\ldots,x_l)$$ ; $$\Sigma$$ – сумматор; $$W_1,W_2,\ldots,W_l$$ – синоптические веса; $$f$$ – функция активации; $$W_0$$ – порог. Выходом сумматора является величина $$\sum_{i=1}^l W_i x_i$$, которая является входом (аргументом) функции активации. Значение функции активации вычисляется на основе определения знака суммы $$\sum_{i=1}^l W_i x_i+W_0$$:$$f(v)=\left\{ \begin{aligned} 0 \text{ при } v < 0 \\ 1 \text{ при } v > 0 \end{aligned}.\right.$$

    Таким образом, нейрон представляет собой линейный классификатор с дискриминантной функцией $$g(x)=\sum_{i=1}^l W_i x_i+W_0$$.

    Тогда задача построения линейного классификатора для заданного множества прецедентов сводится к задаче обучения нейрона, т.е. подбора соответствующих весов $$W_1,W_2,\ldots,W_l$$ и порога $$W_0$$. Обучение состоит в коррекции синоптических весов и порога.

    3.2.2. Алгоритм персептрона. Алгоритм персептрона представляет собой последовательную итерационную процедуру. Каждый шаг состоит в предъявлении нейрону очередного вектора-прецедента и коррекции весов $$W_i$$ по результатам классификации. При этом прецеденты предъявляются циклически, т.е. после предъявления последнего снова предъявляется первый. Процесс обучения заканчивается, когда нейрон правильно классифицирует все прецеденты.

    Обозначим $$W_t$$ весовой вектор после $$t$$ -й итерации, а $$x_t$$ – прецедент, предъявляемый на $$t$$ -й итерации.

    Основной шаг алгоритма состоит в предъявлении очередного прецедента $$x_{t+1}$$:

    Если $$x_{t+1}\in\Omega_1$$ и $$W_t x_{t+1}>0$$, то $$W_{t+1}=W_t$$ ;

    Если $$x_{t+1}\in\Omega_1$$ и $$W_t x_{t+1}\leq;0$$, то $$W_{t+1}=W_t+x_{t+1}$$ ;

    Если $$x_{t+1}\in\Omega_2$$ и $$W_t x_{t+1}<0$$, то $$W_{t+1}=W_t$$ ;

    Если $$x_{t+1}\in\Omega_2$$ и $$W_t x_{t+1}\geq;0$$, то $$W_{t+1}=W_t+x_{t+1}$$.

    На данном рисунке $$g_t(x)$$ – дискриминантная функция после $$t$$ -го шага алгоритма; $$W_t$$ – весовой вектор после $$t$$ -го шага алгоритма.

    3.2.3. Сходимость алгоритма персептрона.

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

    Теорема Новикова. Пусть $$\{x_i\}$$ – бесконечная последовательность векторов из двух непересекающихся замкнутых множеств $$X_1$$ и $$X_2$$ ; и пусть существует гиперплоскость, проходящая через начало координат и разделяющая $$X_1$$ и $$X_2$$ (не имеет с ними общих точек). Тогда при использовании алгоритма персептрона число коррекций весового вектора конечно.

    Доказательство. Пусть $$W^*$$ - направляющий вектор разделяющей гиперплоскости (которая существует по условию). Не нарушая общности, будем считать, что он является единичным.

    Пусть $$X=conv\left(X_1\bigcup\overline{X}_2\right)$$, $$\overline{X}_2$$ в – симметричное к $$X_2$$ множество; $$\rho=\rho(0,X)$$, где $$\rho$$ – евклидово расстояние. Согласно утверждению 3.3 $$\left(W^*,X\right)\geq\rho_0>0\quad \forall x\in X$$.

    Оценим $$\left(W_t,W^*\right)$$.

    Пусть $$W^*$$ – единичный вектор нормали, разделяющий $$X_1$$ и $$X_2$$.$$\left(W^*,X\right)\geq\rho_0 \text{ при } x\in X_1$$ $$\left(W^*,X\right)\leq-\rho_0 \text{ при } x\in X_2$$

    Пусть $$W_t$$ – весовой вектор после предъявления вектора $$x_t$$ ; $$W_0=0$$ – начальная итерация весового вектора $$(|W^*|-1)$$. Тогда, если $$(W_t,x_{t+1})>0$$, то коррекции не происходит. Иначе, если $$(W_t,x_{t+1})\leq 0$$, то коррекция: $$W_{t+1}=W_t+x_{t+1}$$

    $$|W_{t+1}|^2=|W_t|^2+2(x_{t+1},W_t)+|x_{t+1}^2\leq |W_T|^2+D^2$$, т.к. $$(x_{t+1},W_t)\leq 0$$ и $$|x_{t+1}|\leq\sup_{x\in X}|x|=D$$

    Таким образом, к моменту $$t$$ происходит $$k$$ коррекций, то$$|W_t|^2\leq k\cdot D^2, \text{ т.к. } |W_0|=0$$

    В начальный момент времени $$(W_0,W^*)=0$$. Если в момент $$i+1$$ произошла коррекция, то$$(W_{t+1},W^*)=(W_0,W^*)+(x_{t+1},W^*)\geq (W_t,W^*)+\rho_0$$ Если коррекция не происходит, то$$(W_{t+1},W^*)=(W_t,W^*)$$ Если к моменту $$t$$ произошло $$k$$ коррекций, то$$(W_t,W^*)\geq k\rho_0$$ С другой стороны$$(W_t,W^*)\leq|W_t|\cdot|W^*|=|W_t|$$ Поэтому$$|W_t|\geq k\rho_0$$

    Из неравенств 3.1 и 3.2 следует:$$k^2\rho_0\leq|W_t|^2\leq kD^2 \Rightarrow k\rho_0\leq D^2 \Rightarrow k\leq\frac{D^2}{\rho_0}$$ Таким образом, число коррекций $$k$$ не превосходит $$\lfloor\frac{D^2}{\rho_0}\rfloor$$.

    3.2.4. Оптимизационная интерпретация. Рассмотрим непрерывную кусочно-линейную функцию $$J(W)$$:$$J(W)=\sum_{x\in Y} \delta_x(W,x),\text{ где }\delta_x= \left\{ \begin{aligned} -1,x\in X_1 \\ 1,x\in X_2 \end{aligned} \right. ;$$ $$Y$$ – множество векторов неправильно классифицированных гиперплоскостью $$W$$. Тогда $$J(W)\geq 0$$ и $$J(W)=0\Leftrightarrow Y=\varnothing$$. Задача состоит в минимизации этой функции:$$J(W)=\sum_{x\in Y}\delta_x (W,x)\rightarrow\min$$ Построим минимизацию по схеме градиентного спуска:$$W_{t+1}=W_t-\rho_t\frac{dJ(W)}{dW}$$ Т.к. $$\frac{dJ(W)}{dW}=\sum_{x\in Y}\delta_x x$$, то $$W_t-\rho_t\sum_{x\in Y}\delta_x x$$

    Таким образом, алгоритм персептрона представляет собой вариант алгоритма градиентного спуска. Выбор последовательности величин $$\rho_t$$ для обычно осуществляется так, чтобы:$$\sum_{t=0}^{\infty}|\rho_t|>\infty \quad\text{и}\quad \sum_{t=0}^{\infty}\rho_t^2<\infty$$

    3.2.5. Схема Кеслера. Идея построения линейного классификатора естественно обобщается на случай классификации с числом классов больше двух. Рассмотрим задачу классификации по $$M$$ классам. Для каждого класса необходимо определить линейную дискриминантную функцию $$W_i, \; i=1,2,\ldots,M$$. Пусть – $$x-(l+1)$$ -мерный вектор в расширенном пространстве. Вектор $$x$$ относится к классу $$|Omega_i$$, если$$W_i x > W_j x,\; \forall i\neq j$$

    Схема Кеслера позволяет применить алгоритм персептрона для решения этой задачи.

    Для каждого вектора-прецедента из $$\Omega_i$$ строим $$(M-1)$$ векторов $$x_{ij}$$ размерности $$(l+1)M$$:$$x_{ij}=(\underbrace{0,\ldots,0}_1,\underbrace{0,\ldots,0}_2,\ldots,\underbrace{x_1,\ldots,x_M}_i, \underbrace{0,\ldots,0}_{i+1},\ldots,\underbrace{-x_1,\ldots,-x_M}_j,\ldots,\underbrace{0,\ldots,0}_M)^T$$ и вектор $$W=(W_1,W_2,\ldots,W_M)^T$$, где $$W_i$$ – весовой вектор $$i$$ -ой дискриминантной функции.

    Пусть $$x=(x_1,x_2,\ldots,x_M)$$, тогда вектор $$x_{ij}$$ можно записать в виде:$$\def\Nol{\mathop{0}} \def\Ix{\mathop{x}} \def\MinIx{\mathop{-x}} x_{ij}=(\Nol\limits_{1},\Nol\limits_{2},\ldots,\Nol\limits_{i-1},\Ix\limits_{i}, \Nol\limits_{i+1},\ldots,\Nol\limits_{j-1},\MinIx\limits_{j},\Nol\limits_{j+1},\ldots,\Nol\limits_{M})$$

    Если $$x$$ относится к классу $$\Omega_1$$, то $$Wx_{ij}>0\quad \forall j=1,2,\ldots,M,\; i\neq j$$, т.к. $$W_i x>W_j x$$ и $$Wx_{ij}=W_i x-W_J x> 0$$.

    Таким образом, задача заключается в построении линейного классификатора в $$(l+1)M$$ -мерном пространстве так, чтобы каждый из $$(M-1)N$$ векторов-прецедентов лежал в положительном полупространстве. Если вектора в исходной задаче разделимы, то это можно сделать с помощью алгоритма персептрона.

    Страницы:

    3.1. Линейная дискриминантная функция

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

    Рассмотрим линейную дискриминантную функцию: $$g(x)=W^T x+W_0$$, где $$W^T=(W_1,W_2,\ldots,W_l)^T$$ – весовой вектор, $$W_0$$ – порог. Поведение решения задается уравнением $$g(x)=0$$. Пусть $$X_1$$ и $$X_2$$ – два конечных множества векторов признаков в евклидовом пространстве, относящихся к классу $$\Omega_1$$ и $$\Omega_2$$ соответственно, т.е $$X_1$$ принадлежит классу $$\Omega_1$$ при $$g(x)>0$$, а $$X_2$$ принадлежит классу $$\Omega_2$$ при $$g(x)<0$$.

    Задача состоит в том, чтобы:

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

    Определение. Множество, содержащее отрезок, соединяющий две произвольные внутренние точки, называется выпуклым.

    Определение. Выпуклая оболочка – это минимальное выпуклое множество, содержащее данное.

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

    Из этого утверждения получаем следующее правило проверки разделимости множеств на плоскости:

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

  • Найти ближайшую пару точек в выпуклых оболочках обоих множеств.
  • Построить срединный перпендикуляр к отрезку, соединяющему эти точки. Этот перпендикуляр и будет разделяющей прямой.
  • Пусть размерность вектора признаков $$X$$ и вектора коэффициентов $$W$$ равна $$l$$. Рассмотрим "пополненные" вектора $$X', W'$$ следующего вида: $$(W')^T=(W^T,W_0)$$ – пополненный весовой вектор, $$(X')^T=(X^T,1)$$ – пополненный вектор признаков. Рассмотрим также в $$(l+1)$$ -мерном пространстве однородную линейную функцию $$g'(x)=\left((W')^T,(X')^T\right)=\sum_{i=0}^l W_i\cdot x_i$$.

    Очевидно следующее

    Утверждение 3.2. Множества $$X_1$$ и $$X_2$$ линейно разделимы в пространстве $$R^l$$ дискриминантной функцией $$g(x)=W^T x+W_0$$ тогда и только тогда, когда они разделимы в пополненном пространстве $$R^l+1$$ однородной дискриминантной функцией $$g'(x)=\left((W')^T,(X')^T\right)=\sum_{i=0}^l W_i\cdot x_i$$.

    Далее будем рассматривать дискриминантные функции и вектора в пополненном пространстве.

    Определение. Множество $$\overline{X}=-X$$ называется симметричным множеством к множеству $$X$$.

    Утверждение 3.3. Два замкнутых множества $$X_1$$ и $$X_2$$ разделимы тогда и только тогда, когда выпуклая оболочка множества $$X_1\bigcup\overline{X}_2$$ не содержит начала координат.

    Доказательство. Пусть множества $$X_1$$ и $$X_2$$ разделимы. Тогда существует линейная функция $$g(x)$$ такая, что $$g(x)>0$$ при $$x\in X_1$$ и $$g(x)<0$$ при $$x\in X_2$$. Рассмотрим множество $$X=X_1\bigcup\overline{X}_2$$, тогда $$g(x)>0$$ при $$x\in X$$. Следовательно, $$g(x)>0$$ для выпуклой линейной комбинации из $$X$$, а это означает, что $$O\notin convX$$, т.к. $$X$$ – замкнутое. Здесь $$O$$ обозначает начало координат.

    Пусть $$O\notin convX$$, и пусть $$\widetilde{x}$$ – ближайшая к началу координат $$O$$ точка из $$convX$$. Плоскость $$(W,x)=0$$ с направляющим вектором $$W=\widetilde{x}$$ не пересекает $$convX$$, а, значит, $$(W,x)>0$$ на $$x\in X$$. Следовательно, $$(W,x)<0$$ на $$x\in X_2$$.

    3.2. Алгоритм персептрона

    3.2.1. Математическая модель нейрона. В алгоритме персептрона в основу положен принцип действия нейрона. Обобщенная схема нейрона представлена на рисунке. Здесь $$x_1,x_2,\ldots,x_l$$ – компоненты вектора признаков $$x=(x_1,x_2,\ldots,x_l)$$ ; $$\Sigma$$ – сумматор; $$W_1,W_2,\ldots,W_l$$ – синоптические веса; $$f$$ – функция активации; $$W_0$$ – порог. Выходом сумматора является величина $$\sum_{i=1}^l W_i x_i$$, которая является входом (аргументом) функции активации. Значение функции активации вычисляется на основе определения знака суммы $$\sum_{i=1}^l W_i x_i+W_0$$:$$f(v)=\left\{ \begin{aligned} 0 \text{ при } v < 0 \\ 1 \text{ при } v > 0 \end{aligned}.\right.$$

    Таким образом, нейрон представляет собой линейный классификатор с дискриминантной функцией $$g(x)=\sum_{i=1}^l W_i x_i+W_0$$.

    Тогда задача построения линейного классификатора для заданного множества прецедентов сводится к задаче обучения нейрона, т.е. подбора соответствующих весов $$W_1,W_2,\ldots,W_l$$ и порога $$W_0$$. Обучение состоит в коррекции синоптических весов и порога.

    3.2.2. Алгоритм персептрона. Алгоритм персептрона представляет собой последовательную итерационную процедуру. Каждый шаг состоит в предъявлении нейрону очередного вектора-прецедента и коррекции весов $$W_i$$ по результатам классификации. При этом прецеденты предъявляются циклически, т.е. после предъявления последнего снова предъявляется первый. Процесс обучения заканчивается, когда нейрон правильно классифицирует все прецеденты.

    Обозначим $$W_t$$ весовой вектор после $$t$$ -й итерации, а $$x_t$$ – прецедент, предъявляемый на $$t$$ -й итерации.

    Основной шаг алгоритма состоит в предъявлении очередного прецедента $$x_{t+1}$$:

    Если $$x_{t+1}\in\Omega_1$$ и $$W_t x_{t+1}>0$$, то $$W_{t+1}=W_t$$ ;

    Если $$x_{t+1}\in\Omega_1$$ и $$W_t x_{t+1}\leq;0$$, то $$W_{t+1}=W_t+x_{t+1}$$ ;

    Если $$x_{t+1}\in\Omega_2$$ и $$W_t x_{t+1}<0$$, то $$W_{t+1}=W_t$$ ;

    Если $$x_{t+1}\in\Omega_2$$ и $$W_t x_{t+1}\geq;0$$, то $$W_{t+1}=W_t+x_{t+1}$$.

    На данном рисунке $$g_t(x)$$ – дискриминантная функция после $$t$$ -го шага алгоритма; $$W_t$$ – весовой вектор после $$t$$ -го шага алгоритма.

    3.2.3. Сходимость алгоритма персептрона.

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

    Теорема Новикова. Пусть $$\{x_i\}$$ – бесконечная последовательность векторов из двух непересекающихся замкнутых множеств $$X_1$$ и $$X_2$$ ; и пусть существует гиперплоскость, проходящая через начало координат и разделяющая $$X_1$$ и $$X_2$$ (не имеет с ними общих точек). Тогда при использовании алгоритма персептрона число коррекций весового вектора конечно.

    Доказательство. Пусть $$W^*$$ - направляющий вектор разделяющей гиперплоскости (которая существует по условию). Не нарушая общности, будем считать, что он является единичным.

    Пусть $$X=conv\left(X_1\bigcup\overline{X}_2\right)$$, $$\overline{X}_2$$ в – симметричное к $$X_2$$ множество; $$\rho=\rho(0,X)$$, где $$\rho$$ – евклидово расстояние. Согласно утверждению 3.3 $$\left(W^*,X\right)\geq\rho_0>0\quad \forall x\in X$$.

    Оценим $$\left(W_t,W^*\right)$$.

    Пусть $$W^*$$ – единичный вектор нормали, разделяющий $$X_1$$ и $$X_2$$.$$\left(W^*,X\right)\geq\rho_0 \text{ при } x\in X_1$$ $$\left(W^*,X\right)\leq-\rho_0 \text{ при } x\in X_2$$

    Пусть $$W_t$$ – весовой вектор после предъявления вектора $$x_t$$ ; $$W_0=0$$ – начальная итерация весового вектора $$(|W^*|-1)$$. Тогда, если $$(W_t,x_{t+1})>0$$, то коррекции не происходит. Иначе, если $$(W_t,x_{t+1})\leq 0$$, то коррекция: $$W_{t+1}=W_t+x_{t+1}$$

    $$|W_{t+1}|^2=|W_t|^2+2(x_{t+1},W_t)+|x_{t+1}^2\leq |W_T|^2+D^2$$, т.к. $$(x_{t+1},W_t)\leq 0$$ и $$|x_{t+1}|\leq\sup_{x\in X}|x|=D$$

    Таким образом, к моменту $$t$$ происходит $$k$$ коррекций, то$$|W_t|^2\leq k\cdot D^2, \text{ т.к. } |W_0|=0$$

    В начальный момент времени $$(W_0,W^*)=0$$. Если в момент $$i+1$$ произошла коррекция, то$$(W_{t+1},W^*)=(W_0,W^*)+(x_{t+1},W^*)\geq (W_t,W^*)+\rho_0$$ Если коррекция не происходит, то$$(W_{t+1},W^*)=(W_t,W^*)$$ Если к моменту $$t$$ произошло $$k$$ коррекций, то$$(W_t,W^*)\geq k\rho_0$$ С другой стороны$$(W_t,W^*)\leq|W_t|\cdot|W^*|=|W_t|$$ Поэтому$$|W_t|\geq k\rho_0$$

    Из неравенств 3.1 и 3.2 следует:$$k^2\rho_0\leq|W_t|^2\leq kD^2 \Rightarrow k\rho_0\leq D^2 \Rightarrow k\leq\frac{D^2}{\rho_0}$$ Таким образом, число коррекций $$k$$ не превосходит $$\lfloor\frac{D^2}{\rho_0}\rfloor$$.

    3.2.4. Оптимизационная интерпретация. Рассмотрим непрерывную кусочно-линейную функцию $$J(W)$$:$$J(W)=\sum_{x\in Y} \delta_x(W,x),\text{ где }\delta_x= \left\{ \begin{aligned} -1,x\in X_1 \\ 1,x\in X_2 \end{aligned} \right. ;$$ $$Y$$ – множество векторов неправильно классифицированных гиперплоскостью $$W$$. Тогда $$J(W)\geq 0$$ и $$J(W)=0\Leftrightarrow Y=\varnothing$$. Задача состоит в минимизации этой функции:$$J(W)=\sum_{x\in Y}\delta_x (W,x)\rightarrow\min$$ Построим минимизацию по схеме градиентного спуска:$$W_{t+1}=W_t-\rho_t\frac{dJ(W)}{dW}$$ Т.к. $$\frac{dJ(W)}{dW}=\sum_{x\in Y}\delta_x x$$, то $$W_t-\rho_t\sum_{x\in Y}\delta_x x$$

    Таким образом, алгоритм персептрона представляет собой вариант алгоритма градиентного спуска. Выбор последовательности величин $$\rho_t$$ для обычно осуществляется так, чтобы:$$\sum_{t=0}^{\infty}|\rho_t|>\infty \quad\text{и}\quad \sum_{t=0}^{\infty}\rho_t^2<\infty$$

    3.2.5. Схема Кеслера. Идея построения линейного классификатора естественно обобщается на случай классификации с числом классов больше двух. Рассмотрим задачу классификации по $$M$$ классам. Для каждого класса необходимо определить линейную дискриминантную функцию $$W_i, \; i=1,2,\ldots,M$$. Пусть – $$x-(l+1)$$ -мерный вектор в расширенном пространстве. Вектор $$x$$ относится к классу $$|Omega_i$$, если$$W_i x > W_j x,\; \forall i\neq j$$

    Схема Кеслера позволяет применить алгоритм персептрона для решения этой задачи.

    Для каждого вектора-прецедента из $$\Omega_i$$ строим $$(M-1)$$ векторов $$x_{ij}$$ размерности $$(l+1)M$$:$$x_{ij}=(\underbrace{0,\ldots,0}_1,\underbrace{0,\ldots,0}_2,\ldots,\underbrace{x_1,\ldots,x_M}_i, \underbrace{0,\ldots,0}_{i+1},\ldots,\underbrace{-x_1,\ldots,-x_M}_j,\ldots,\underbrace{0,\ldots,0}_M)^T$$ и вектор $$W=(W_1,W_2,\ldots,W_M)^T$$, где $$W_i$$ – весовой вектор $$i$$ -ой дискриминантной функции.

    Пусть $$x=(x_1,x_2,\ldots,x_M)$$, тогда вектор $$x_{ij}$$ можно записать в виде:$$\def\Nol{\mathop{0}} \def\Ix{\mathop{x}} \def\MinIx{\mathop{-x}} x_{ij}=(\Nol\limits_{1},\Nol\limits_{2},\ldots,\Nol\limits_{i-1},\Ix\limits_{i}, \Nol\limits_{i+1},\ldots,\Nol\limits_{j-1},\MinIx\limits_{j},\Nol\limits_{j+1},\ldots,\Nol\limits_{M})$$

    Если $$x$$ относится к классу $$\Omega_1$$, то $$Wx_{ij}>0\quad \forall j=1,2,\ldots,M,\; i\neq j$$, т.к. $$W_i x>W_j x$$ и $$Wx_{ij}=W_i x-W_J x> 0$$.

    Таким образом, задача заключается в построении линейного классификатора в $$(l+1)M$$ -мерном пространстве так, чтобы каждый из $$(M-1)N$$ векторов-прецедентов лежал в положительном полупространстве. Если вектора в исходной задаче разделимы, то это можно сделать с помощью алгоритма персептрона.

    Вернуться к учебному плану