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

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

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

Общее количество весовых коэффициентов сети Кохонена

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

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

Общая стуктура нейронной сети кохонена

Рис. 1. Общая структура нейронной сети Кохонена

Нормализация входных переменных выполняется в пределах [–1, 1] или [0, 1].

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

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

1. Задание структуры сети (количества нейронов слоя Кохонена) (K).

2. Случайная инициализация весовых коэффициентов значениями, удовлетворяющими одному из следующих ограничений:

– при нормализации исходной выборки в пределах [–1, 1]:

                                              (1)

– при нормализации исходной выборки в пределах [0, 1]:

,                            (2)

где M – количество входных переменных сети – характеристических признаков объекта исследования.

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

.                                (3)

4. По наименьшему из значений Rj выбирается нейрон-победитель j, в наибольшей степени близкий по значениям с входным вектором. Для выбранного нейрона (и только для него) выполняется коррекция весовых коэффициентов:

,                         (4)

где v – коэффициент скорости обучения.

5. Цикл повторяется с шага 3 до выполнения одного или нескольких условий окончания:

– исчерпано заданное предельное количество эпох обучения;

– не произошло значимого изменения весовых коэффициентов в пределах заданной точности на протяжении последней эпохи обучения;

– исчерпано заданное предельное физическое время обучения.

Коэффициент скорости обучения может задаваться постоянным из пределов (0, 1] или переменным значением, постепенно уменьшающимся от эпохи к эпохе.

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

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

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

3. Если выполняется условие Rmin <= Rкр, производится коррекция весовых коэффициентов соответствующего нейрона-победителя по соотношению (4), в противном случае в структуру сети добавляется новый нейрон, весовые коэффициенты которого принимаются численно равными входным значениям поданного примера.

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

5. Вычисления заканчиваются, если выполняется одно из условий, прописанных в алгоритме самообучения сети фиксированной структуры.

Еще одна модификация алгоритмов самообучения и самоорганизации предусматривает коррекцию весовых коэффициентов не только нейрона-победителя, но и всех остальных нейронов. Для этого следует использовать коэффициент скорости обучения, убывающий с увеличением расстояния до центра кластера Rj:

,

где Rкр – критическое значение расстояния: чем оно меньше, тем более значительны будут корректировки весов самых близких к обучающему примеру кластеров и практически незначимы – весов более-менее удаленных от него; β – параметр, устанавливающий степень нелинейности влияния расстояния на коэффициент скорости; v0 – базовое (максимально возможное) значение коэффициента скорости на текущей эпохе обучения.

В качестве значения Rкр можно рассчитывать среднее расстояние для каждого кластера при текущем предъявлении обучающего примера. Параметр β рекомендуется выбирать равным 3,0 ± 0,5.

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

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

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

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

Приведем пример самообучения нейронной сети Кохонена для решения задачи кластеризации данных об успеваемости студентов одной из студенческих учебных групп. Исходная выборка представлена в табл. 1.

Таблица 1. Исходная выборка данных об успеваемости студентов


при-мера

Фамилия

Пол x1

Получ. все зачеты x2

Рейтинг по дисциплинам:

Коэфф. стипен-дии x8

история x3

инж. графика x4

матем. x5

орг. химия x6

физика x7

1

Варданян

М

Да

60

79

60

72

63

1,00

2

Горбунов

М

Нет

60

61

30

5

17

0,00

3

Гуменюк

Ж

Нет

60

61

30

66

58

0,00

4

Егоров

М

Да

85

78

72

70

85

1,25

5

Захарова

Ж

Да

65

78

60

67

65

1,00

6

Иванова

Ж

Да

60

78

77

81

60

1,25

7

Ишонина

Ж

Да

55

79

56

69

72

0,00

8

Климчук

М

Нет

55

56

50

56

60

0,00

9

Лисовский

М

Нет

55

60

21

64

50

0,00

10

Нетреба

М

Нет

60

56

30

16

17

0,00

11

Остапова

Ж

Да

85

89

85

92

85

1,75

12

Пашкова

Ж

Да

60

88

76

66

60

1,25

13

Попов

М

Нет

55

64

0

9

50

0,00

14

Сазон

Ж

Да

80

83

62

72

72

1,25

15

Степоненко

М

Нет

55

10

3

8

50

0,00

16

Терентьева

Ж

Да

60

67

57

64

50

0,00

17

Титов

М

Да

75

98

86

82

85

1,50

18

Чернова

Ж

Да

85

85

81

85

72

1,25

19

Четкин

М

Да

80

56

50

69

50

0,00

20

Шевченко

М

Нет

55

60

30

8

60

0,00

Распределение примеров должно осуществляться строго по 4 кластерам. В качестве входных переменных используем x1 – x7, переменная x8 не будет использоваться для обучения, однако информация о ее значениях будет задействована в ходе кластерного анализа. Таким образом, структурно сеть будет состоять из единственного слоя нейронов, имеющего 7 входов и 4 выхода (рис. 2).

Рис. 2. Структура нейронной сети Кохонена для кластеризации студентов

Выполним линейную нормализацию аналоговых значений входных переменных выборки в пределах [0, 1] по соотношению (3.1). Дискретные значения опишем следующим образом:

– пол студента: 0 – женский, 1 – мужской;

– наличие всех зачетов: 0 – нет, 1 – да.

Результаты нормализации представлены в табл. 2.

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

 

Таблица 2. Нормализованная выборка данных об успеваемости студентов

№ примера

1

1,00

1,00

0,17

0,78

0,70

0,77

0,68

2

1,00

0,00

0,17

0,58

0,35

0,00

0,00

3

0,00

0,00

0,17

0,58

0,35

0,70

0,60

4

1,00

1,00

1,00

0,77

0,84

0,75

1,00

5

0,00

1,00

0,33

0,77

0,70

0,71

0,71

6

0,00

1,00

0,17

0,77

0,90

0,87

0,63

7

0,00

1,00

0,00

0,78

0,65

0,74

0,81

8

1,00

0,00

0,00

0,52

0,58

0,59

0,63

9

1,00

0,00

0,00

0,57

0,24

0,68

0,49

10

1,00

0,00

0,17

0,52

0,35

0,13

0,00

11

0,00

1,00

1,00

0,90

0,99

1,00

1,00

12

0,00

1,00

0,17

0,89

0,88

0,70

0,63

13

1,00

0,00

0,00

0,61

0,00

0,05

0,49

14

0,00

1,00

0,83

0,83

0,72

0,77

0,81

15

1,00

0,00

0,00

0,00

0,03

0,03

0,49

16

0,00

1,00

0,17

0,65

0,66

0,68

0,49

17

1,00

1,00

0,67

1,00

1,00

0,89

1,00

18

0,00

1,00

1,00

0,85

0,94

0,92

0,81

19

1,00

1,00

0,83

0,52

0,58

0,74

0,49

20

1,00

0,00

0,00

0,57

0,35

0,03

0,63

 

Таблица 3. Начальные значения весовых коэффициентов сети Кохонена

№ кластера j

Весовые коэффициенты wij

w1j

w2j

w3j

w4j

w5j

w6j

w7j

1

0,20

0,20

0,30

0,40

0,40

0,20

0,50

2

0,20

0,80

0,70

0,80

0,70

0,70

0,80

3

0,80

0,20

0,50

0,50

0,40

0,40

0,40

4

0,80

0,80

0,60

0,70

0,70

0,60

0,70

 

Алгоритм самообучения настроим следующим образом. Выберем начальный коэффициент скорости обучения, равный 0,30, уменьшающийся с каждой эпохой на 0,05. Таким образом, будет выполнено 6 эпох обучения с различным коэффициентом скорости, на каждой из которых будет 20 корректировок весов одного из нейронов.

Подадим на вход нейронной сети случайно выбранный нормализованный пример № 10. В соответствии с выражением (3) рассчитаем расстояния до текущих центров четырех кластеров. Они соответственно будут равны 0,98, 1,65, 0,65 и 1,32. Наименьшее расстояние соответствует третьему кластеру, из чего делаем вывод, что третий нейрон – нейрон-победитель и именно его веса должны быть скорректированы по соотношению (11.4). Новые значения весовых коэффициентов составят: w13 = 0,86, w23 = 0,14, w33 = 0,40, w43 = 0,51, w53 = 0,39, w63 = 0,32, w73 = 0,28. Веса остальных нейронов при этом не изменяются.

Далее аналогичным образом на входы сети предъявляются остальные примеры выборки в случайной последовательности. После предъявления всех 20 примеров начинается следующая эпоха обучения, при этом коэффициент скорости уменьшаем на 0,05. В результате полного цикла обучения сети Кохонена получаем итоговые значения весов, приведенные в табл. 4.

 

Таблица 4. Итоговые значения весовых коэффициентов нейронной сети Кохонена

№ кластера j

Весовые коэффициенты wij

w1j

w2j

w3j

w4j

w5j

w6j

w7j

1

0,06

0,06

0,21

0,52

0,36

0,55

0,57

2

0,00

1,00

0,50

0,80

0,80

0,80

0,73

3

1,00

0,00

0,04

0,48

0,26

0,22

0,42

4

1,00

0,99

0,69

0,77

0,79

0,78

0,81

 

Для обученной нейронной сети выполним процедуру кластерного анализа. Все четыре кластера оказались заполнены. Однако количественный состав их разный. В 1-й кластер попал единственный пример – № 3. Во 2-м, самом объемном кластере оказались примеры №№ 5–7, 11, 12, 14, 16, 18. В 3-й кластер вошли примеры №№ 2, 8–10, 13, 15, 20. В 4-й – №№ 1, 4, 17, 19. Качественные данные и описания кластеров, полученные в результате анализа, представлены в табл. 5.

Выводы о факте получения стипендии в описаниях кластеров сделаны на основе анализа значений переменной x8, не участвовавшей в процессе обучения.

Таблица 5. Результаты кластерного анализа


кластера

Размер
кластера

Пол

Получ.
все
зачеты

Средний
рейтинг

Коэфф.
стипен-дии

Описание

1

1

Ж

Нет

55

0,00

Удовлетворительно успевающие студенты-девушки, не имеющие одного или нескольких зачетов и не получающие стипендию

2

8

Ж

Да

72

0,97

Хорошо успевающие студенты-девушки, имеющие все зачеты и в большинстве своем получающие стипендию

3

7

М

Нет

40

0,00

Неуспевающие студенты-юноши, не имеющие одного или нескольких зачетов и не получающие стипендию

4

4

М

Да

73

0,94

Хорошо успевающие студенты-юноши, имеющие все зачеты и в большинстве своем получающие стипендию

 

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