В результате выполнения данной задачи аппроксимации была создана 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 была решена задача аппроксимации функции двух переменных, имеющей следующий вид: .
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.