Решение задач кластеризации и аппроксимации в нейросетевом логическом базисе. Описание сети Кохонена (алгоритм работы), страница 7

В результате выполнения данной задачи аппроксимации была создана 3-х слойная сеть с размером слоя - «layer size» для каждого слоя соответственно  2, 6, 1. Обучение сети производилось с помощью тестового примера, описанного выше. Таблица значений функции содержится в файле образцов p1.pat, соответствующие веса в файле p1.wgt, тестовый пример в файле test.tst .

Файл p1.pat имеет следующий вид:

100 2 1

0.00000  0.00000  0.00000

0.00000  2.00000  4.00000

0.00000  4.00000  8.00000

0.00000  6.00000  12.00000

0.00000  8.00000  16.00000

0.50000  0.00000  0.25000

0.50000  2.00000  4.25000

0.50000  4.00000  8.25000

0.50000  6.00000  12.25000

--------------------------------4.50000  0.00000  20.25000

4.50000  2.00000  24.25000

4.50000  4.00000  28.25000

4.50000  6.00000  32.25000

4.50000  8.00000  36.25000

5.00000  0.00000  25.00000

5.00000  2.00000  29.00000

5.00000  4.00000  33.00000

5.00000  6.00000  37.00000

5.00000  8.00000  41.00000

5.50000  0.00000  30.25000

5.50000  2.00000  34.25000

5.50000  4.00000  38.25000

5.50000  6.00000  42.25000

5.50000  8.00000  46.25000

6.00000  0.00000  36.00000

6.00000  2.00000  40.00000

6.00000  4.00000  44.00000

6.00000  6.00000  48.00000

6.00000  8.00000  52.00000

6.50000  0.00000  42.25000

6.50000  2.00000  46.25000

-------------------------------9.50000  2.00000  94.25000

9.50000  4.00000  98.25000

9.50000  6.00000  102.25000

9.50000  8.00000  106.25000

Первая строчка означает: 100 - количество обучающих образцов, 2 - количество входов сети, 1 - количество выходов сети.

Первый столбец соответствует входной переменной x1 , второй переменной x2, третий соответствует выходной переменной y.

Полученные в результате обучения синоптические веса сохранены в файле p1.wgt. Этот файл выглядит следующим образом:

25

2

-0,906584   -1,949372    2,151512

-1,903105    0,040159    2,451013

-0,461980   -0,750710   -3,355414

-0,857114    0,181464    1,531248

0,782795    0,425786   -3,699425

-0,075045    0,506335   -0,156607

3

-0,150564    1,148404   -3,958832   -4,358637    4,418516    1,376205    1,347965

Где 25 означает общее количество синоптических весов. 2 - веса от слоя 1 к слою 2. 3 - веса от слоя 2 к слою 3.

Тестовый файл test.tst имеет вид:

100 2 1

0.00000  0.00000  0.00000

0.00000  2.00000  4.00000

0.00000  4.00000  8.00000

0.00000  6.00000  12.00000

0.00000  8.00000  16.00000

0.30000  0.00000  0.09000

------------------------------3.30000  0.00000  10.89000

3.30000  2.00000  14.89000

3.30000  4.00000  18.89000

3.30000  6.00000  22.89000

3.30000  8.00000  26.89000

3.60000  0.00000  12.96000

3.60000  2.00000  16.96000

3.60000  4.00000  20.96000

3.60000  6.00000  24.96000

3.60000  8.00000  28.96000

3.90000  0.00000  15.21000

3.90000  2.00000  19.21000

3.90000  4.00000  23.21000

3.90000  6.00000  27.21000

3.90000  8.00000  31.21000

4.20000  0.00000  17.64000

4.20000  2.00000  21.64000

4.20000  4.00000  25.64000

4.20000  6.00000  29.64000

4.20000  8.00000  33.64000

4.50000  0.00000  20.25000

4.50000  2.00000  24.25000

4.50000  4.00000  28.25000

4.50000  6.00000  32.25000

4.50000  8.00000  36.25000

4.80000  0.00000  23.04000

4.80000  2.00000  27.04000

-------------------------------------9.60000  6.00000  104.16006

9.60000  8.00000  108.16006

9.90000  0.00000  98.01007

9.90000  2.00000  102.01007

9.90000  4.00000  106.01007

9.90000  6.00000  110.01007

9.90000  8.00000  114.01007

Он имеет тот же формат, что и файл образцов test.pat.

Сеть обучилась с параметром Good Pats, т.е. процентом образцов успешно прошедших обучение, равным  ~98%.

 

4. Заключение.

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

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