Нейросетевая классификация объектов с окрестностями.

Сенашова М.Ю.
Институт вычислительного моделирования СО РАН, Красноярск

Аннотация:

Рассматривается задача разделения на классы объектов в $n$-мерном признаковом пространстве. Решающие правила строятся при помощи нейронных сетей. На классы разделяются точки $n$-мерного пространства с окрестностями.

The problem of division into the classes the objects in $n$-dimensional characteristic space. The decision rule are obtained using the neural network. The points of $n$-dimensional space are divided into the classes with some neighborhoods.

Пусть задан некоторый набор объектов $a_{1}, \ldots,a_{m}$. Каждый объект $a_{i}$ имеет $n+1$ признак $x_{1}, \ldots,x_{n}, z$. Целевой признак $z$ указывает, к какому классу относится объект $a_{i}$. Объекты $a_{i}$ в $n$-мерном пространстве образуют облако точек. Нам требуется на основе обучающей выборки $a_{1}, \ldots,a_{m}$ построить решающее правило $F$, разделяющее точки $n$-мерного пространства на классы с минимальными ошибками. Решающее правило $F$ должно принимать положительные значения в точках одного класса и отрицательные значения в точках другого класса. Разделяющая поверхность будет нулями этой функции.

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

Если мы налагаем ограничения на свойства функции, то можно требовать, чтобы эта функция была достаточно гладкой, вторые производные были не очень велики и т.д. Один из способов построения нелинейных решающих правил -- это решение задачи распознавания образов при помощи нейронных сетей. В этом случае ограничения на функцию задаются как ограничение на количество нейронов и/или слоев нейронной сети. В данной работе мы будем рассматривать построение решающих правил при помощи нейронных сетей. Решающие правила строятся нейронными сетями в процессе обучения сети решать задачу распознавания образов на заданной обучающей выборке $a_{1}, \ldots,a_{m}$. Нейронные сети обучаются методом обратного распространения ошибки.

Очень часто при решении практических задач встречаются ситуации, когда классы сильно отличаются по мощности. В случае, если класс малой мощности не играет большой роли при решении задачи классификации, его можно объединять с другими классами. Однако классы малой мощности зачастую играют важную роль и объединение их с другими классами искажает смысл. В этом случае следует каким-либо образом увеличить мощность таких классов. Это можно делать различными способами. Можно убирать значение одной или нескольких компонент вектора входных данных. При этом точки многомерного пространства превращаются в линейные многообразия. Можно случайным образом сдвигать координаты $x_{i}$ внутри некоторого радиуса $r$. Один из способов увеличения мощности класса -- разделять на классы не точки многомерного пространства, а точки с окрестностями.

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

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

Будем рассматривать окрестности вида $x + \varepsilon r$, где $x$ - вектор входных сигналов, $\varepsilon \in R$, а $r$ - это либо вектор полуосей, если мы выбираем окрестности в виде эллипсоидов, либо вектор полудлин интервалов. При этом будем использовать не саму функцию нейрона, а ее линейное приближение. То есть на каждом слое нейронной сети будет строиться касательная плоскость к решающему правилу.

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

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

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

Мы будем использовать сети слоистой структуры. Выясним, как проходят сигналы с окрестностями через некоторый стандартный нейрон слоя, поскольку нейрон является типичным участком сети. Стандартный нейрон состоит из сумматора и нелинейного преобразователя. Пусть на входы сумматоров слоя подаются сигналы вида $x + \varepsilon r$. При прохождении сигналов через сумматор получаем:

\begin{displaymath}
\sum _{i = 1}^{n} \alpha _{i} \left( {x_{i} + \varepsilon r_...
...on \sum _{i = 1}^{n}
\alpha _{i} r_{i} = x' + \varepsilon r'.
\end{displaymath}

При прохождении сигнала $x' + \varepsilon r'$ через нелинейный преобразователь пользуемся линейным приближением: $f\left( {x' + \varepsilon
r'} \right) \approx f\left( {x'} \right) + \varepsilon f'\left( {r'} \right)
= x'' + \varepsilon r''$. Таким образом, вид сигналов при прохождении через слой сети сохраняется. На выходе сети мы также имеем сигнал вида $y +
\varepsilon \rho $, где $y$ - выходной сигнал, соответствующий вектору входных сигналов $x$, а $\rho $ - полуось эллипса выходного сигнала (или полудлина интервала, в зависимости от вида выбранной окрестности). То есть при прохождении окрестностей через нейронную сеть вычисляется значение функции в центре окрестности и длина полуоси или полуинтервала.

Нам требуется, чтобы выполнялось следующее условие. Если выходной сигнал $y$ принадлежит какому-то классу, то сигнал $y\pm \varepsilon \rho $ должен принадлежать этому же классу. Исходя из этих соображений, будем строить функцию оценки $H'$ для обучения сети методом обратного распространения ошибки. Предположим, что выходные сигналы объектов, принадлежащих первому классу положительны. Тогда положительным должно быть и значение $y -
\varepsilon \rho $. Если для вектора входных сигналов объекта, принадлежащего первому классу, это значение действительно положительное, то при данных весах синапсов этот объект относится сетью к своему классу вместе с окрестностью и обучение не требуется. В случае, если значение $y - \rho
\varepsilon $ отрицательное, то сеть нужно обучать и функция оценки имеет вид $H = \left( {y - \varepsilon \rho} \right)^{2}$.

Для объектов второго класса рассуждаем аналогично. Выходной сигнал объекта, принадлежащего второму классу, должен быть отрицательным. Тогда отрицательным должно быть и значение $y +
\varepsilon \rho $. В случае, если выходной сигнал отрицательный, то для данного объекта обучать сеть не требуется. Если же значение $y +
\varepsilon \rho $ положительное, то функция оценки имеет вид $H = \left( {y + \varepsilon \rho} \right)^{2}$. Таким образом, для всего набора объектов функция оценки имеет следующий вид:

\begin{displaymath}
H = \left\{ \begin{array}{lll}
\left( y - \varepsilon \rho \...
...{\rm при}\;x \in II\;\text{\rm классу}
\\
\end{array} \right.
\end{displaymath}

Поскольку $\varepsilon $ проходит сеть насквозь, то изменяя $\varepsilon $ можно обучить сеть разделять на классы точки с максимальными окрестностями. Изначально задается вид эллипсоида (то есть вектор полуосей $r)$ и произвольная величина $\varepsilon $. Если при данной величине $\varepsilon $ сеть обучается разделять на классы точки с окрестностями, то величину $\varepsilon $ можно увеличить в $k$ раз. Если при данном $\varepsilon $ сеть не обучается, то величину $\varepsilon $ уменьшаем, выбирая, например $\varepsilon = \varepsilon / 2$. Изменяя таким образом величину $\varepsilon $ обучаем сеть относить к нужному кассу точки с максимальными окрестностями.

В качестве вида окрестности можно выбирать эллипсоид рассеяния точек выборки. Параметр $\varepsilon $ позволит получить максимальные окрестности такого вида при которых сеть правильно разделяет точки на классы. Полуоси эллипсоида рассеяния могут быть вычислены для каждого класса отдельно. То есть вид окрестностей будет различным для точек из разных классов.

Литература

1
Горбань А.Н. Обучение нейронных сетей. -М.: СП ПараГраф, 1990.

2
Горбань А.Н., Россиев Д.А. Нейронные сети на персональном компьютере. Новосибирск, Наука. 1996.

3
Горбань А.Н., Дунин-Барковский В.Л., Кирдин А.Н. и др. Нейроинформатика. Новосибирск, Наука. 1998.


Ваши комментарии
[SBRAS]
[Головная страница]
[Конференции]
[СО РАН]

© 2001, Сибирское отделение Российской академии наук, Новосибирск
© 2001, Объединенный институт информатики СО РАН, Новосибирск
© 2001, Институт вычислительных технологий СО РАН, Новосибирск
© 2001, Институт систем информатики СО РАН, Новосибирск
© 2001, Институт математики СО РАН, Новосибирск
© 2001, Институт цитологии и генетики СО РАН, Новосибирск
© 2001, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск
© 2001, Новосибирский государственный университет
Дата последней модификации Saturday, 08-Sep-2001 20:34:27 NOVST