Нейробум: поэзия и проза нейронных сетей

Вид материалаДокументы

Содержание


Метод динамических ядер
Выбор начального приближения
Примеры видов классификации
Сферическая модель
Пространственная модель
Модель линейных зависимостей
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   31
^

Метод динамических ядер


Альтернативой методам пообъектного обучения сетей Кохонена является метод динамических ядер, который напрямую минимизирует суммарную меру близости (1). Метод является итерационной процедурой, каждая итерация которой состоит из двух шагов. Сначала задаются начальные значения ядер. Затем выполняют следующие шаги:
  1. Разбиение на классы при фиксированных значениях ядер:

 

(3)
  1. Оптимизация значений ядер при фиксированном разбиении на классы:

 

(4)

В случае равенства в формуле (3) объект относят к классу с меньшим номером. Процедура останавливается если после очередного выполнения разбиения на классы (3) не изменился состав ни одного класса.

Исследуем сходимость метода динамических ядер. На шаге (3) суммарная мера близости (1) может измениться только при переходе объектов из одного класса в другой. Если объект перешел из j-о класса в i-й, то верно неравенство . То есть при переходе объекта из одного класса в другой суммарная мера близости не возрастает. На шаге (4) минимизируются отдельные слагаемые суммарной меры близости (1). Поскольку эти слагаемые независимы друг от друга, то суммарная мера близости на шаге (4) не может возрасти. При это если на шаге (4) суммарная мера близости не уменьшилась, то ядра остались неизменными и при выполнении следующего шага (3) будет зафиксировано выполнение условия остановки. И наконец, учитывая, что конечное множество объектов можно разбить на конечное число классов только конечным числом способов, получаем окончательное утверждение о сходимости метода динамических ядер.

Процедура (3), (4) сходится за конечное число шагов, причем ни на одном шаге не происходит возрастания суммарной меры близости.

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

На втором из примеров, рассмотренных выше (см. рис. 4, 6) примеров при том же начальном положении ядер, метод динамических ядер остановится после первого шага, не изменив положения ядер. Однако такое положение ядер не соответствует обычному представлению о «хорошей» классификации. Причина – неудачное начальное положение ядер (созданное специально).
^

Выбор начального приближения


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

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

Самым универсальным способом задания начального положения ядер является задание начального разбиения объектов на классы. При этом в начальном разбиении могут участвовать не все объекты. Далее решая задачу (4) получаем начальные значения ядер. Далее можно использовать метод динамических ядер.
^

Примеры видов классификации


В данном разделе описаны некоторые виды классификации и соответствующие им меры близости. Приведены формулы решения задачи (4) при использовании метода динамических ядер. Для других видов классификации решение задачи (4) строится аналогично.
^

Сферическая модель


Один вид классификации – сеть Кохонена на сфере был описан ранее. Получим формулы для решения задачи (4) при мере близости «минус скалярное произведение» (минус перед скалярным произведением нужен для того, чтобы решать задачу минимизации (1) и (4), поскольку, чем ближе векторы, тем больше скалярное произведение).

Обозначим через  объекты, принадлежащие i-у классу. Учитывая дополнительное условие на значение ядра – его единичную длину – и применяя метод множителей Лагранжа для решения задач поиска условного экстремума, получим следующую задачу:

 

(5)

Дифференцируя (5) по каждой из координат ядра и по множителю Лагранжа λ, и приравнивая результат дифференцирования к нулю, получим следующую систему уравнений:

 

(6)

Выразив из первых уравнений  и подставив результат в последнее выражение найдем λ, а затем найдем координаты ядра:

 

(7)












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

На рис. 8. Приведено решение второго примера методом обучения сети Кохонена с уменьшением скорости с 0,5, а на рис. 9 - решение той же задачи методом динамических ядер. В качестве первоначального значения ядер выбраны два первых объекта.



Рис. 9. Решение задачи с помощью обучения сети Кохонена со снижением скорости обучения с 0,5. График суммарного изменения разностей координат ядер.
^

Пространственная модель


Эта модель описывает наиболее естественную классификацию. Нейрон пространственной сети Кохонена приведен в главе «Описание нейронных сетей». Ядра являются точками в пространстве объектов. Мера близости – квадрат обычного евклидова расстояния. Обучение сети Кохонена ведется непосредственно по формуле (2). Задача (4) имеет вид:

 

(8)

Дифференцируя (8) по каждой координате ядра и приравнивая результат к нулю получаем следующую систему уравнений:

.

Преобразуя полученное выражение получаем

,

(9)

где  – мощность i-о класса (число объектов в классе). Таким образом, оптимальное ядро класса – среднее арифметическое всех объектов класса.
^

Модель линейных зависимостей


Это первая модель, которая может быть решена методом динамических ядер, но не может быть получена с помощью обучения сети Кохонена, поскольку ядра не являются точками в пространстве объектов. Ядрами в данной модели являются прямые, а мерой близости – квадрат расстояния от точки (объекта) до прямой. Прямая в n-мерном пространстве задается парой векторов: . Первый из векторов задает смещение прямой от начала координат, а второй является направляющим вектором прямой. Точки прямой задаются формулой , где t – параметр, пробегающий значения от минус бесконечности до плюс бесконечности. t имеет смысл длины проекции вектора x-b на вектор c. Сама проекция равна tc. При положительном значении вектор проекции сонаправлен с вектором c, при отрицательном – противоположно направлен. При условии, что длина вектора c  равна единице, проекция вычисляется как скалярное произведение . В противном случае скалярное произведение необходимо разделить на квадрат длины c. Мера близости вектора (точки) x определяется как квадрат длины разности вектора x и его проекции на прямую. При решении задачи (4) необходимо найти минимум следующей функции:



Продифференцируем целевую функцию по неизвестным  и приравняем результаты к нулю.

 

(10)

Выразим из последнего уравнения в (10) :

 

(11)

В качестве  можно выбрать любую точку прямой. Отметим, что для любого набора векторов  и любой прямой с ненулевым направляющим вектором  на прямой найдется такая точка , что сумма проекций всех точек на прямую  будет равна нулю. Выберем в качестве  такую точку. Второе слагаемое в правой части (11) является r-й координатой суммы проекций всех точек на искомую прямую и, в силу выбора точки  равно нулю. Тогда получаем формулу для определения :

 

(12)

Из первых двух уравнений (10) получаем формулы для определения остальных неизвестных:

 

(13)

Поиск решения задачи (4) для данного вида классификации осуществляется по следующему алгоритму:
  1. Вычисляем  по формуле (12).
  1. Вычисляем t по первой формуле в (13).
  1. Вычисляем  по второй формуле в (13).
  1. Если изменение значения превышает заданную точность, то переходим к шагу 2, в противном случае вычисления закончены.