Построение нейронной сети
Колмыков
Вячеслав Викторович,
аспирант Мордовского государственного
университета им. Н. П. Огарева,
инженер – программист ЗАО НТЦ «Модуль».
Решается задача обучения нейронной
сети обратного распространения на основе объема страховых сборов на данный
отчетный период. Для обучения используется алгоритм обратного распространения.
Введение
В статье рассматривается
нейронная сеть, состоящая из 2 входов и 1 выхода. Необходимо определить
количество скрытых слоев и нейронов в скрытом слое. На первом этапе создадим
нейронную сеть. После чего рассмотрим несколько нейронных сетей, изменяя
количество скрытых слоев и нейронов в каждом из скрытых слов. В статье были
использованы материалы из «Лекция: Процедура обратного
распространения (описание алгоритма)»[2].
Для обучения сети воспользуемся
методом обратного распространения ошибки. Алгоритм обратного распространения
состоит в применении к синаптическому весу коррекции , пропорциональной частной производной [1]. На рисунке 1 наглядно представлено создание сети.
Рис. 1.
Обучение нейронной сети.
Рассмотрим следующие виды сетей:
·
2-3-3-1
(два входа, два скрытых слоя по 3 нейрона в каждом и 1 выход);
·
2-3-2-1;
·
2-2-1-1;
·
2-3-1 (функция
активации сигмоида);
·
2-3-1 (функция
активации гиперболический тангенс);
·
2-4-1.
В статье рассматриваются данные
страховой компаниии (таблица 1).
Таблица
1.
Данные
для обучения.
Премия |
Убытки |
31280 |
561971.7 |
41950 |
401718.2 |
25011 |
319684 |
20873 |
135089 |
156000 |
132460 |
19207 |
130374 |
54720 |
125502 |
2965 |
120000 |
1408 |
120000 |
…….. |
……. |
26238 |
25251 |
3780.37 |
25128.95 |
2493.75 |
24902 |
1972 |
24684 |
990 |
24297 |
Обучать сеть будем на данных из
колонок «Премия» и «Убытки».
В результате обучения всех сетей получим
следующие значения, представленные в таблице 2.
Таблица
2.
Значения
полученные в результате обучения сети.
Истинные значения |
2-3-3-1 |
2-3-2-1 |
2-2-1-1 |
2-3-1 (Сигмоида) |
2-3-1 (ГипТан) |
2-4-1 |
31280 |
34441.59157 |
6971.02733 |
35121.13628 |
4.12062 |
40180.63645 |
5034.09385 |
41950 |
41375.62407 |
7083.00596 |
42430.36252 |
3.33178 |
33395.11074 |
5034.08127 |
25011 |
23709.14802 |
7052.02748 |
27303.00734 |
3.30992 |
23500.20813 |
5034.08119 |
23362 |
22245.01651 |
7097.35402 |
22432.42927 |
3.3035 |
17813.26799 |
5034.08119 |
20000 |
18849.20135 |
7089.88299 |
18844.45892 |
3.30307 |
16690.57492 |
5034.08119 |
20873 |
20002.94354 |
7104.83191 |
18630.44571 |
3.3025 |
15824.23794 |
5034.08119 |
156000 |
158704.5255 |
7699.259 |
136014.4198 |
10987.8443 |
93925.85495 |
5034.08121 |
19207 |
18271.09284 |
7100.13281 |
16955.59963 |
3.30239 |
15402.92663 |
5034.08119 |
54720 |
53346.6899 |
7241.03231 |
55931.40675 |
3.30375 |
22713.30446 |
5034.08119 |
2965 |
1439.07122 |
7043.47771 |
5379.7931 |
3.30187 |
12689.20903 |
5034.08119 |
1408 |
819.14783 |
7037.8298 |
4678.3087 |
3.30184 |
12482.13846 |
5034.08119 |
….. |
…… |
…….. |
……… |
………… |
…………. |
……….. |
3780.37 |
2511.92242 |
7075.9646 |
3868.09975 |
6.62411 |
10347.75063 |
5034.08119 |
2493.75 |
1714.6325 |
7071.32942 |
3379.7234 |
5.7232 |
10245.87634 |
5034.08119 |
1972 |
1448.00768 |
7069.49053 |
3192.83493 |
5.52748 |
10186.54455 |
5034.08119 |
990 |
1028.98488 |
7066.02864 |
2861.80792 |
5.1866 |
10080.32721 |
5034.08119 |
Данную таблицу представим
графически на основе этой информации можно выбрать сеть для дальнейшего
изучения.
В результате обучения имеем:
1. Сеть вида 2-3-3-1 (два входа,
два скрытых слоя по 3 нейрона в каждом и 1 выход) получает значения в
результате обучения (рисунок 2), которые совпадают с истинными. В результате
можно сделать вывод, что сеть обучена наиболее точно.
Рис. 2.
Обучение нейронной сети вида 2-3-3-1.
2. Сеть вида 2-3-2-1 получает
значения в результате обучения, которые сильно разняться с истинными (рисунок
3).
Рис. 3.
Обучение нейронной сети вида 2-3-2-1.
3. Сеть вида 2-2-1-1 получает
значения в результате обучения, которые незначительно отличаются от истинных
(рисунок 4).
Рис. 4.
Обучение нейронной сети вида 2-2-1-1.
4. Сеть вида 2-3-1 (функция
активации сигмоида) получает значения в результате обучения, которые отличны от
истинных (рисунок 5).
Рис. 5.
Обучение нейронной сети вида 2-3-1.
5. Сеть вида 2-3-1 (функция
активации гиперболический тангенс) получает значения в результате обучения,
которые отличны от истинных (рисунок 6).
Рис. 6.
Обучение нейронной сети вида 2-3-1.
6. Сеть вида 2-4-1 получает
значения в результате обучения, которые не совпадают с истинными, что наглядно
представлено на рисунке 7.
Рис. 7.
Обучение нейронной сети вида 2-4-1.
В каждом из испытаний бралось
10000 эпох, скорость обучения равна 0,5. Обучение проводилось на основе метода
обратного распространения.
Заключение
В данной статье проводились
исследования структуры нейронной сети.
Поскольку сеть имеет два входа и
один выход, то наибольший интерес представляет количество нейронов в скрытом
слое и количество скрытых слоев.
На основе приведенных испытаний наибольшую точность обучения дают нейронные сети вида 2-3-3-1 и 2-2-1-1. После чего данные сети можно использовать для прогнозирования.
Литература
1.
Нейронные
сети: полный курс, 2-e издание. : Пер. с англ. М. Издательский дом «Вильямс»,
2006. 1104 с. : ил. Парал. тит. Англ.
2.
Яхъяева Г.Э. Основы теории нейронных сетей.
Лекция: Процедура обратного
распространения (описание алгоритма). http://www.intuit.ru/department/ds/neuronnets/4/3.html.
Поступила в редакцию 29.06.2010 г.