Подход к определению параметров нейронной сети Кохонена в задачах анализа структуры многомерных данных

высить точность классификации текстовых документов на 5-10 %. Данный метод может рассматриваться как построение некоторого кода, задающего области в пространстве векторов признаков, в которых вероятно появление тех из них, что с большей вероятностью относятся к заданной категории.

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

Работа была выполнена при поддержке грантов РФФИ № 09-07-00252-а и гранта Президента РФ для государственной поддержки молодых российских ученых № МК-1195.2009.9.

СПИСОК ЛИТЕРАТУРЫ

1. Manning C.D., Raghavan P., Schuetze H. 2. Porter M.F. An algorithm for suffix stripping

Introduction to Information Retrieval. Cambridge // Program. 1980. № 14. P. 130-137. University Press, 2008. 3. Кудряшов Б.Д. Теория информации. СПб.:

Питер, 2009

УДК 28.23.37, 34.55.19

Е.Н. Бендерская, Д.Р. Шварц

ПОДХОД К ОПРЕДЕЛЕНИЮ ПАРАМЕТРОВ НЕЙРОННОЙ СЕТИ КОХОНЕНА В ЗАДАЧАХ АНАЛИЗА СТРУКТУРЫ МНОГОМЕРНЫХ ДАННЫХ

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

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

Современные методы направлены на облегчение задач анализа данных с заранее неизвестной структурой. Это методы так называемого интеллектуального анализа данных, к которым можно отнести методы нейросетевого (НС) анализа и методы нелинейных главных компонент (НГК). Основной сутью указанных методов является то, что значения параметров методов адаптируются под структуру данных.

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

Методы, относящиеся к классу методов нелинейных главных компонент [3] представляют наибольший интерес, т. к. позволяют визуализировать или картографировать структуру данных. Методы НГК являются развитием классического метода главных компонент (ГК). На сегодняшний день существует два метода схожих по своей сути: метод упругих карт [3] и самоорганизующиеся карты Кохонена (СОК) [9], называемые

иногда нейронными сетями Кохонена. В данной статье будет рассмотрен последний из указанных методов.

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

Различные разработчики ПО СОК по разному реализуют метод, и, как следствие, результаты работы СОК на одних и тех же данных в разных системах могут сильно различаться. Неоднозначность выбора параметров СОК и получаемых результатов отталкивает аналитиков от применения метода.

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

Метод СОК позволяет решать задачи аппроксимации, кластеризации и понижения размерности. СОК можно применять в задачах систематизации информации, интерполяции, экстраполяции, восстановления пропусков в данных, прогнозирования, картографирования и визуализации структуры данных. Также СОК можно применять для задач динамического программирования.

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

Разновидности СОК

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

тельной коры - LiSSOM (Laterally Interconnected self organizing maps) [6], на основе этой модели построено множество её разновидностей (RF-LISOM, CRF-LISSOM и HLISOM).

Однако большинство модификаций СОК (встречающиеся в литературе как SOFM или SOM), направлено на решение задач интеллектуального анализа данных - извлечение знаний (Data Mining): растущие СОК (Growing SOM (GSOM))[4] - решение задач кластеризации и локальной аппроксимации; многоуровневые растущие сети (Growing Hierarchical SOM (GHSOM)) -распознавание и сжатие информации; Байесовы СОК (Bayes SOM (BSOM)) - для задач оценки распределения вероятностей на основе байесовской стохастической модели; СОК - структурированных данных (SOM for Structured Data (SOMSD)) - для анализа древовидных структур (языки, генетические данные).

Для анализа временных рядов был предложен ряд моделей с рекурсивной динамикой: рекурсивные СОК (Recursive SOM(RSOM)); рекуррентные СОК (Recurrent SOM (ReSOM)); различные модификации временных СОК(Temporal Kohonen Map (TKM) [7].

Также стоит отметить методы, функционирование которых схоже с СОК - это модель эластичной сети (Elastic net (ENA)) и эластичная карта Горбаня (Elastic maps Gorban) [3].

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

Функционирование сети СОК

Существует две эквивалентные модификации СОК, реализованные в виде последовательного алгоритма (Sequince) и пакетного алгоритма (Batch).

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

моделью изучаемых данных. Управляя степенью связности между узлами можно с разной степенью детализации изучать данные. Рассмотрим более детально процесс обучения сети.

Обучение СОК последовательным алгоритмом состоит из следующих шагов.

1. Каждый узел сети определяется вектором W = w2, w3,..., wn},/£ (1,т), где п - размерность входного пространства, т - количество узлов сети. Узлы сетки располагаются в многомерном пространстве данных - инициализация сети, которая может быть сделана несколькими способами: располагая узлы случайно или в выделенном подпространстве, например, в пространстве первых главных компонент. Для сети 2Б в пространстве первых двух главных компонент.

2. Из обучающей выборки случайным образом выбирается вектор х = [х1, х2, х3,..., хп]г. Далее для всех узлов сети определяется "нейрон победитель" (НП):

c(x) = arg min dist( x, w ).

В основном используется Евклидова мера близости:

dist

3. После того, как определён узел наиболее близкий к входному вектору, производится адаптация узла НП и соседних узлов по следующей формуле:

w.

h(i,j) = e

topoldist(i,j) _ ^ г(п)2а2

где о = 2; n - шаг обучения; Vie 1..m; topoldist(i, j) = д/(x(i) - x(j)2 + (y(i) - y(j))2 и определяет топологическое расстояние между узлами сети для 2D топологии; x(i), y(i) - определяет топологическое положение нейронов на сетке; r(n) - радиус обучения уменьшается по формуле:

rad _ final - rad _ init.

r(ri) = rad _ init +1

:и,

epoch _count

где rad init < SizeSOM - начальный радиус обу-

чения; rad final - конечный радиус обучения; SizeSOM - общее количество узлов сети; a(n) -скорость обучения уменьшается по формуле:

а_ final - a_init.

а(п) = а_ init + -

epoch _ count

'п,

где 0 < a init < 1 - начальная скорость обучения; a_ final - конечная скорость обучения; n - шаг обучения.

Для пакетного алгоритма шаг 3 реализуется следующим образом:

m

+ = ^-, Vie l...m.

^a

j=i

Отметим, что затрачиваемое время обучения с помощью пакетного алгоритма значительно меньше чем у последовательного. На каждом шаге обучения сеть обрабатывает весь объём данных. Обучение заканчивается по достижению заданного количества эпох обучения epochcount.

Таким образом, метод СОК имеет следующие параметры: размерность карты, топология сети, тип связей, число нейронов сети, начальный радиус обучения, конечный радиус обучения, начальная скорость обучения, конечная скорость обучения, мера близости, функция соседства.

Определение параметров СОК

В связи с большим количеством параметров метода возникает сложность с их выбором. По этой же причине применение методов тестирования типа взаимного согласия (cross-validation) или бутстреп оценок (bootstrap) также затруднено. Как будет показано ниже, выбор параметров алгоритма может различаться в зависимости от типа задачи анализа.

В статье использована мера близости Евклидова (2) , и Гауссова функция соседства (4).

Выбор топологии сети. Топология сети определяется различными формами (shape) (sheet -лист, toroid - топологически связанный лист, именуемый иногда Pac-Man space [7]), размерностью (1D, 2D, 3D, 4D ...) и количеством соседей у каждого узла сети (rect - четыре соседних узла, hex - шесть соседних узлов). Топология с шестью соседями (hex) обладает лучшими интерполирующими свойствами.

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

Если форма сети топологически незамкнутая, то в процессе обучения самые дальние узлы (угловые) сетки будут ассоциироваться с максимально

различными данными в заданной метрике близости. Выбор такой топологии подходит для задач систематизации и кластеризации, когда требуется чтобы максимально различные данные попали в максимально удалённые друг от друга нейроны. Так, например, сеть в виде отрезка ({Ш, sheet}) производит понижение размерности до одномерного пространства, где координаты первого можно определить как "— да/2", а самого последнего как "+ m/2". Если же сеть топологически связана, то такую сеть также можно использовать, не указывая, что невозможно указать точку отсчёта для пониженного пространства.

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

Для задач визуализации структуры данных используются 2D сети, при больших размерностях задача визуализации структуры становится затруднительной [5].

Определение числа нейронов сети. Число нейронов сети определяет разрешающую способность нелинейного экрана. Можно сказать, что число узлов определяет степень детализации структуры данных. Также стоит отметить, что если число нейронов больше числа исходных точек в обучающих данных, то возникает опасность получения избыточной детализации (переобучен-ность), с другой стороны, при уменьшении числа узлов уменьшаются аппроксимирующие и интерполирующие свойства сети.

Для задачи кластеризации данных на заданное количество центрированных кластеров часто задают количество нейронов равным искомому

количеству кластеров, однако, в процессе адаптации сети узлы постоянно двигают друг друга, в результате их координаты не достигают центров кластеров. Если задать радиус обучения равным нулю, то метод СОК эквивалентен методу к-средних (k-means) [2]. Если предполагается, что кластеры неизвестной структуры, то количество узлов должно быть больше, и анализ структуры кластеров производится с помощью U - матрицы (U-Matrix) [9]. Более детально взаимосвязь числа нейронов сети и других параметров показана ниже.

Инициализация сети. В основном используются три вида инициализации весов нейронной сети.

1. В пространстве главных компонент, в зависимости от размерности сети. Для сети 1D - по первой главной компоненте, для 2D - по первым двум компонентам и т. д. В данном случае начальная инициализация является линейным приближением структуры данных. По мере адаптации весов сети, сеть будет все сильнее искривляться в пространстве данных.

2. Случайным образом в пространстве гиперкуба, по каждой из размерностей входного пространства. При такой инициализации конечные состояния могут отличаться. После проведения множества вариантов обучения и проанализировав статистику конечных состояний можно качественно оценить неоднородность входных данных. Если дисперсия СКО велика, то это свидетельствует о сильной разбросанности данных.

3. Центр масс. При такой инициализации все веса нейронов сети равны среднему, от всех точек входных данных, в процессе обучения сеть постепенно разворачивается.

В табл. 1 представлены значения среднего и дисперсии для конечного СКО сети для различных данных. Data 1 - равномерное случайное распределение; Data 2 - смесь линейно разделимых гауссовых кластеров С1 = (m = 0, о = 0,5) и

Таблица 1

Статистика СКО в зависимости от типа данных и вида инициализации

Случайная инициализация В пространстве ГК Центр масс

mean std mean std mean std

Data 1 0,144 0,35 0,146 0,10 0,146 0,8

Datai 0,128 0,01 0,127 0,01 0,127 0,01

Data 3 0,122 0,10 0,122 0,02 0,122 0,01

ско

2 4 Б а 10 12 14 1Б 1В

Шаг обучения

Рис. 1. СКО для пакетного и последовательного алгоритма обучения (---------) BatchTrain; (-) SeqTrain

С2 = (m = 3, о = 0,5); Data 3 - два нелинейных кластера (ChainLink [9]). Объём выборки 1000 точек, размерность пространства равна трём.

Так как структура данных и тип начальной инициализации влияет на сходимость метода (однозначность), этому этапу следует уделить особое внимание. Иногда необходимо произвести обучение с различной начальной инициализацией и сравнить расположение НП. Если от запуска к запуску соседи одного НП постоянно разные, то можно говорить о зашумлённости данных или сильной нелинейности. Визуальный анализ также позволяет лучше понять структуру данных.

Определение количества шагов обучения. Выбор большего количества шагов предпочтительней, в таком случае вероятность попадания СОК в локальный оптимум меньше. С другой стороны, слишком большое количество шагов обучения может привести к эффекту переобученности. Отметим, что для данных различной сложности количество шагов обучения может быть различным: данные с чётко выраженной структурой требуют меньше шагов обучения. Для определения количества шагов обучения предлагается произвести обучение сети для различного числа шагов. Выбор количества шагов обучения определяется экспериментально; после некоторого шага обучения изменение СКО сети происходит незначительно.

Как видно из рис. 1, на котором представлены зависимости СКО сети для двух методов обучения последовательного (SeqTrain) и пакетного (BatchTrain), изменение весов при обучении последовательным методом происходит более плавно. Для наглядности выбрано соотношение шагов методов 10:1. Время обучения в последовательном методе на порядок выше, поэтому с точки

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

Определение скорости обучения и радиуса обучения. Скорость обучения и радиус обучения определяют гладкость сети в процессе обучения; чем больше радиус обучения, тем более гладкой становится сеть. Скорость обучения и радиус обучения одинаковым образом влияют на качество обучения, т. к предопределяют величину изменения весовых коэффициентов на каждом шаге обучения по соотношению (1:3). Поэтому можно взять скорость обучения равной единице и управление обучения возложить на радиус обучения.

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

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

Рис. 2. Диаграмма свойств сети в зависимости от размера сети и радиуса обучения

Рис. 3. Топологическая сеть и радиус О - данные; ф - нейрон победитель

можно, контролируя конечный радиус обучения.

Для остановки обучения введём р - коэффициент средней населённости сети и Яр - радиус средней населённости:

Р =

DataSize 5г'ге50М

\SizeSOM

р 2 V

где DataSize - количество входных векторов; SizeSOM - количество узлов сети.

На рис 3. показано назначение введённых показателей.

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

Рис. 4. Изменение СКО сети: а - СКО на обучающих данных; б - СКО на тестовых данных; в - радиус обучения

Таблица 2

Параметры сети SOM в зависимости от решаемой задачи

Задача Основные параметры SOM

Кластеризация центрированных кластеров. Количество кластеров известно Количество нейронов совпадает с количеством кластеров. Радиус обучения равен 0. Для сокращения времени обучения возможно использование пакетного алгоритма

Кластеризация не центрированных кластеров. Количество кластеров неизвестно Количество нейронов выбирается из объёма обучающих данных. Определение кластеров производится по ¿/-Matrix и hit-map. Возможно использование различных топологий. Конечный может быть равен нулю

Аппроксимация, восстановление пропусков в данных, прогнозирование Аналогично предыдущей задаче. Выбор радиуса адаптивный. Аппроксимация производится по весам BMU. Предпочтительно использовать топологически замкнутые сети. Для более гладкой поверхности использование последовательного алгоритма предпочтительней

Понижение размерности, визуализация структуры данных Аналогично предыдущей задаче. Степень сжатия определяется размерностью топологии сети. 2D-3D-4D и т. д. Топология сети незамкнутая

а)

Три кластера

б)

A*

il\ "v

•^ii*»'*.

;

в)

Данные и центры кластеров

кщ л Тт. • 30ft

РГ^Зф.

г)

1,5

Данные и центры кластеров

2 2,5 3 3,5 4 О х ' 0,5 1 1,$ 2 2,5 3 3,5 4 4,5 х

Рис. 5. Пример решения задачи кластеризации: а - данные трёх кластеров; б - визуализация ¿У-Ма^х; в - неверно решённая задача кластеризации; г - правильно решённая задача кластеризации

а)

Линейная зависимость

б)

У

35 30 25 20 15 10 5

! X

**

+

д.......

г

**

......... и

г

в)

5 10 15 20 25 30 35 X

г)

Нелинейная зависимость

У

35 30 25 20 15 10 5 0

+ #

Ф +

4- 4Л......

.....

...... ; + : +

+ + * ........1.........

г........ + т + : * :

.....+   ++ + ''+.....?......... ^ ! 1

д)

е)

5 10 15 20 25 30 35 X

Рис. 6. Пример отображения данных с линейной и нелинейной зависимостью

Из зависимостей видно, что на последних этапах обучения при переходе радиуса обучения порогового значения Яр, происходит замедление уменьшения СКО как для тестовых, так и для обучающих данных. Когда СКО на обучающих данных близко к нулю, происходит увеличение СКО на тестовых данных.

Если сходность между тестовыми и обучающими данными велика, эффект изменения СКО для тестовых и обучающих данных обнаружить сложнее; на практике из-за ограниченности объёма исходных данных создание репрезентативной тестовой выборки не всегда возможно.

Применение СОК

Применение сети Кохонена для различных задач возможно при правильном выборе параметров обучения. Каждая из задач требует отдельного подхода. В табл. 2 представлены параметры сети Кохонена для различных задач.

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

Кластеризация. В качестве краткого примера кластеризации с заранее известным и не известным количеством кластеров рассмотрим задачу кластеризации чётко разделимых кластеров.

На рис. 5, а показаны исходные данные. При обучении сети с заранее известным количеством кластеров возможны ситуации, когда сеть недоучена (рис. 5, в). Проведение обучения с использованием правил табл. 2 позволяет верно определить центры кластеров.

На рис. 5, б показана ^/-матрица сети, тёмные области соответствуют более плотному распределению данных. Границы кластеров обозначены яркой линией в виде максимальных значений ^/-матрицы, однако на практике столь чётко разделимые кластеры обнаружить удаётся редко.

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

ния данных. Существует также отображение весов нейронной сети с помощью цветовой палитры. Такое отображение позволяет оценивать взаимное распределение входных данных по каждой из размерностей. Пользуясь соответствующими правилами табл. 2, обучим СОК для линейно и нелинейно зависимых данных. Результаты представлены на рис. 6.

Анализируя веса нейронной сети можно указать области сильной корреляции. Так на рис. 6, б и рис 6, в карты весов идентичны по каждой из размерностей, а на рис. 6, д и рис. 6, е видны области отрицательных и положительных корреляций. Для человека весьма трудно производить визуальный анализ больших размерностей, поэтому такой анализ эффективно проводить с помощью автоматизированных процедур, например, ^/-матрицы, Р-матрицы [9].

В статье были представлены основные положения по функционированию и использованию СОК с целью раскрытия особенностей применения метода в зависимости от поставленной задачи.

Представленные положения и методические указания по применению СОК были выработаны в результате практического использования метода для анализа реальных данных тремморограмм больных с синдромом Паркинсона и анализа опухолей мозга по данным экспрессии генов [10].

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

СПИСОК Л

1. Boeres M.C.S. and Carvalho L.A.V. A Faster Elastic Net Algorithm the PCV / In Proc. of Int. Joint Conf. on Neural Networks. Vol II. Baltimore MD. 1992. P 215-229.

2. Baceol B., Lobo1 V., Painho1 M. Self-organizing Maps as Substitutes for K-Means Clustering // SpringerVerlag Berlin Heidelberg 2005 ICCS 2005. LNCS 3516. 2005. P. 476-483.

3. GorbanA.,KeglB.,WunshD.,ZinovievZinovyevA. (Eds.). Principal Manifolds for Data Visualisation and Dimension Reduction // LNCSE 58. Springer. Berlin -Heidelberg - New York, 2007.

4. Fritzke W. Growing Grid A Self-Organizing Network with Constant Neighborhood Range and Adaption Strength. Neural Processing Letters. 1995. № 2. P. 9-13.

5. Kiviluoto K. Comparing 2D and 3D Self-Organizing Maps in Financial Data Visualization // Laboratory of computer and Information Science. Helsinki University

of Technology. Finland. 1998. URL: http://www.cis.hut.fi/ kkluoto/publications/iizuka98.ps

6. Sirosh J., Miikulainen R. How lateral interconnected develops in a self organizing map // in Proc. of IEEE International Conference on Neural Networks (San Francisco, CA), (Piscat away. NJ). IEEE. 1993.

7. Strickert M., Hammer B. Merge SOM for temporal data // Neurocomputing. 2005. P. 39-71.

8. Utsugi A. Topology selection for self-organizing maps // Network: Computation in Neural Systems. 1996. Vol. 7. № 4. P. 727-740.

9. Ultsch A., Morchen F. ESOM-Maps tools for clustering, visualization data // Data Bionics Research Group / University of Marburg. Marburg. Germany. March 17. 2005.

10. Куперин Ю.А., Меклер А.А., Шварц Д.Р., Рымар В.И. и др. Классификация профилей по экспрессии генов с помощью нейронных сетей // Нейро-информатика. М, 2010.