Многослойные перцептроны

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

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

Рис. 1. Схема двухслойной искусственной нейронной сети

Количество весовых коэффициентов, настраиваемых в процессе обучения многослойного перцептрона с L скрытыми слоями по ml нейронов в каждом, рассчитывается следующим образом:

.

Для каждого нейрона сети помимо синаптических связей с элементами входного вектора настраивается связь с фиктивным единичным входом (коэффициент смещения).

Для большинства задач, решаемых с помощью многослойных перцептронов, выбор структуры нейронной сети должен осуществляться на основе следующего правила («Правила 2–5»): количество настраиваемых в процессе обучения весовых коэффициентов должно быть в 2–5 раз меньше, чем количество примеров обучающей выборки. Если это соотношение меньше 2, сеть теряет способность к обобщению обучающей информации, а при достижении 1 и меньше просто запоминает ответы для каждого обучающего примера. Если же количество обучающих примеров слишком велико для выбранной структуры сети, нейросетевая модель во многих случаях просто усредняет выходные значения для различных комбинаций входных векторов, теряя способность к корректному отклику в отдельных частных случаях и повышая величину максимальной выборочной ошибки.

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

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

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

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

Алгоритм метода обратного распространения ошибки включает следующие этапы.

1. Весовые коэффициенты многослойного перцептрона выбранной структуры инициализируются небольшими по абсолютной величине (не более M–1(L + 1)–1) случайными значениями, где L – количество скрытых слоев.

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

3. Для каждого рассчитанного значения выходной переменной по соотношению  вычисляется погрешность по сравнению со значениями элементов выходного вектора взятого обучающего примера .

4. По полученным погрешностям рассчитываются невязки нейронов выходного слоя с учетом производных соответствующих активационных функций:

                                        (1)

Если активационная функция имеет вид сигмоиды или функции Гаусса, следует воспользоваться соотношениями для аналитического расчета ее производной.

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

.                                 (2)

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

                                        (3)

                                     (4)

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

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

                                        (5)

Для расчета коэффициентов смещения нейронов первого скрытого слоя, как и для всех других слоев, используется соотношение (3).

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

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

– достигнут удовлетворительный уровень ошибки по всей обучающей выборке;

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

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

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

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

 

Одна из особенностей метода обратного распространения ошибки заключается в том, что средние абсолютные значения невязок уменьшаются от последнего слоя нейронов к первому на порядки. Следствием этого становится практически незначительная величина изменения весовых коэффициентов первых скрытых слоев и, соответственно, требуется очень большое количество эпох обучения для значимой коррекции весов. Для устранения данного недостатка в многослойных перцептронах с более чем одним скрытым слоем можно использовать коэффициент скорости обучения, увеличивающийся от последнего скрытого слоя к первому в пределах одной эпохи обучения, в том числе, значения vl > 1./p>

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

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

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

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

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

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

– обучение многослойных перцептронов занимает большее время и требует больший объем вычислительных ресурсов компьютера.

Рассмотрим пример решения задачи классификации образов с использованием двухслойного перцептрона. Пусть дана выборка данных (табл. 1), включающая 48 примеров. Используем первые 40 примеров для обучения перцептрона, а остальные 8 (выделены курсивом) – для тестирования обученной нейронной сети.

Таблица 1

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

x1

x2

x3

x4

x5

x6

y3

y4

1

–0,12

0,42

0,52

0,17

–0,64

–1,89

0

1

2

0,97

0,66

0,47

0,37

0,39

0,51

1

0

3

–2,60

–1,08

–0,24

–0,10

–0,65

–1,90

0

1

4

–1,45

–0,61

–0,41

–0,86

–1,96

–3,70

0

1

5

0,55

0,97

1,11

0,97

0,55

–0,15

0

1

6

0,54

0,53

0,57

0,64

0,75

0,90

1

0

7

0,93

0,93

1,11

1,47

2,00

2,72

1

0

8

–4,07

–2,36

–1,46

–1,36

–2,06

–3,56

0

1

9

3,66

2,25

1,73

2,08

3,31

5,42

1

0

10

4,87

2,25

0,29

–1,02

–1,67

–1,67

1

0

11

0,82

0,79

0,76

0,75

0,74

0,75

1

0

12

4,29

2,19

0,62

–0,41

–0,91

–0,88

1

0

13

–1,06

0,91

1,89

1,86

0,83

–1,20

0

1

14

–1,11

–0,49

–0,46

–1,03

–2,20

–3,97

0

1

15

0,71

–0,31

–0,85

–0,92

–0,51

0,37

1

0

16

–0,93

–0,63

–0,43

–0,35

–0,36

–0,48

0

1

17

–4,78

–2,71

–1,26

–0,46

–0,29

–0,75

0

1

18

–0,42

–0,41

–1,16

–2,67

–4,94

–7,97

0

1

x1

x2

x3

x4

x5

x6

y3

y4

19

3,25

2,21

1,60

1,42

1,67

2,35

1

0

20

–2,07

–1,40

–0,95

–0,72

–0,71

–0,92

0

1

21

4,35

1,59

–0,26

–1,20

–1,22

–0,32

1

0

22

0,68

0,13

0,04

0,42

1,27

2,58

1

0

23

–1,63

–1,58

–2,42

–4,16

–6,79

–10,31

0

1

24

0,97

0,42

0,07

–0,09

–0,05

0,18

1

0

25

–0,38

–0,47

–0,12

0,65

1,85

3,48

1

0

26

–2,19

–1,51

–1,44

–2,00

–3,16

–4,95

0

1

27

–1,16

–1,12

–1,16

–1,29

–1,49

–1,77

0

1

28

–0,80

–0,31

0,02

0,19

0,20

0,05

0

1

29

–1,97

–0,74

–0,04

0,13

–0,22

–1,10

0

1

30

1,67

1,86

1,74

1,31

0,58

–0,46

0

1

31

7,55

4,56

2,35

0,93

0,30

0,46

1

0

32

–0,79

–0,70

–0,69

–0,77

–0,93

–1,17

0

1

33

4,14

1,60

–0,24

–1,38

–1,83

–1,58

1

0

34

–0,91

–1,69

–1,64

–0,75

0,97

3,52

1

0

35

–4,79

–2,04

–0,08

1,09

1,48

1,07

0

1

36

–3,02

–2,26

–1,75

–1,51

–1,51

–1,77

0

1

37

4,36

2,67

1,82

1,82

2,66

4,35

1

0

38

2,23

1,91

2,14

2,92

4,25

6,13

1

0

39

2,47

0,50

–0,56

–0,70

0,06

1,73

1

0

40

0,36

–0,39

–0,59

–0,25

0,63

2,05

1

0

41

–2,04

–0,29

0,53

0,42

–0,61

–2,57

0

1

42

0,00

0,16

–0,13

–0,88

–2,09

–3,76

0

1

43

–2,75

–1,95

–1,40

–1,08

–0,99

–1,15

0

1

44

0,64

0,17

–0,03

0,04

0,37

0,97

1

0

45

–0,78

–1,06

–0,87

–0,22

0,89

2,48

1

0

46

–0,90

–1,00

–0,98

–0,82

–0,54

–0,13

1

0

47

0,33

1,14

1,60

1,71

1,46

0,86

0

1

48

2,20

1,84

1,98

2,62

3,75

5,37

1

0

Мин. зн.

–4,79

–2,71

–2,42

–4,16

–6,79

–10,31

0

0

Макс. зн.

7,55

4,56

2,35

2,92

4,25

6,13

1

1

 

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

Соответственно, рассматриваемая нейронная сеть должна иметь 6 входных переменных, кодирующих входную последовательность значений функции, и 2 выходные переменные, позволяющие идентифицировать класс оптимума (y3 – минимум, y4 – максимум): единица указывает на принадлежность классу, 0 – на ее отсутствие. При использовании «Правила 2–5» двухслойный перцептрон с указанным количеством входов и выходов, обучающийся на 40 примерах, может содержать один или два скрытых нейрона. Рассмотрим процедуру обучения нейронной сети с двумя нейронами в скрытом слое (рис. 2).

Рис. 2. Структура двухслойного перцептрона для решения задачи
классификации типа оптимального значения

Выполним линейную нормализацию входных и выходных данных исходной выборки в пределах [0, 1] с использованием соотношения 3 статьи "Способы нормализации переменных". Нормализованные значения, используемые далее для обучения и тестирования двухслойного перцептрона, представлены в табл. 2. Курсивом, как и раньше, выделены тестовые примеры.

Рис. 3. Примеры функций активации типа гистерезиса

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

Таблица 2

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

1

0,378

0,431

0,616

0,612

0,557

0,512

0

1

2

0,467

0,464

0,606

0,640

0,650

0,658

1

0

3

0,177

0,224

0,457

0,573

0,556

0,512

0

1

4

0,271

0,289

0,421

0,466

0,438

0,402

0

1

5

0,433

0,506

0,740

0,725

0,665

0,618

0

1

6

0,432

0,446

0,627

0,678

0,683

0,682

1

0

7

0,464

0,501

0,740

0,795

0,796

0,793

1

0

8

0,058

0,048

0,201

0,395

0,428

0,411

0

1

9

0,685

0,682

0,870

0,881

0,915

0,957

1

0

10

0,783

0,682

0,568

0,444

0,464

0,526

1

0

11

0,455

0,481

0,667

0,694

0,682

0,673

1

0

12

0,736

0,674

0,637

0,530

0,533

0,574

1

0

13

0,302

0,498

0,904

0,850

0,690

0,554

0

1

14

0,298

0,305

0,411

0,442

0,416

0,386

0

1

15

0,446

0,330

0,329

0,458

0,569

0,650

1

0

16

0,313

0,286

0,417

0,538

0,582

0,598

0

1

17

0,001

0,000

0,243

0,523

0,589

0,582

0

1

18

0,354

0,316

0,264

0,210

0,168

0,142

0

1

19

0,652

0,677

0,843

0,788

0,766

0,770

1

0

20

0,220

0,180

0,308

0,486

0,551

0,571

0

1

21

0,741

0,591

0,453

0,418

0,505

0,608

1

0

22

0,443

0,391

0,516

0,647

0,730

0,784

1

0

23

0,256

0,155

0,000

0,000

0,000

0,000

0

1

24

0,467

0,431

0,522

0,575

0,611

0,638

1

0

25

0,357

0,308

0,482

0,679

0,783

0,839

1

0

26

0,211

0,165

0,205

0,305

0,329

0,326

0

1

27

0,294

0,219

0,264

0,405

0,480

0,519

0

1

28

0,323

0,330

0,512

0,614

0,633

0,630

0

1

29

0,229

0,271

0,499

0,606

0,595

0,560

0

1

30

0,524

0,629

0,872

0,773

0,668

0,599

0

1

31

1,000

1,000

1,000

0,719

0,642

0,655

1

0

32

0,324

0,276

0,363

0,479

0,531

0,556

0

1

33

0,724

0,593

0,457

0,393

0,449

0,531

1

0

34

0,314

0,140

0,164

0,482

0,703

0,841

1

0

35

0,000

0,092

0,491

0,742

0,749

0,692

0

1

36

0,143

0,062

0,140

0,374

0,478

0,519

0

1

37

0,741

0,740

0,889

0,845

0,856

0,892

1

0

38

0,569

0,635

0,956

1,000

1,000

1,000

1

0

39

0,588

0,442

0,390

0,489

0,620

0,732

1

0

40

0,417

0,319

0,384

0,552

0,672

0,752

1

0

41

0,223

0,333

0,618

0,647

0,560

0,471

0

1

42

0,388

0,395

0,480

0,463

0,426

0,398

0

1

43

0,165

0,105

0,214

0,435

0,525

0,557

0

1

44

0,440

0,396

0,501

0,593

0,649

0,686

1

0

45

0,325

0,227

0,325

0,556

0,696

0,778

1

0

46

0,315

0,235

0,302

0,472

0,566

0,619

1

0

47

0,415

0,530

0,843

0,829

0,747

0,679

0

1

48

0,566

0,626

0,922

0,958

0,955

0,954

1

0

 

 

Для обучения двухслойного перцептрона выберем метод обратного распространения ошибки, требующий дифференцируемость активационных функций для всей области определения. Следовательно, остановим выбор активационной функции для всех нейронов, включая скрытый, на сигмоидной логистической функции с α = 2,0, а получаемый аналоговый результат расчета по нейронной сети будем округлять для корректного решения задачи классификации. Коэффициент скорости обучения примем равным 0,5.

В соответствии с алгоритмом метода обратного распространения ошибки зададимся следующими начальными значениями весовых коэффициентов:w01 = 0,03, w11 = –0,08, w21 = –0,06 w31 = 0,02, w41 = 0,02, w51 = –0,08, w61 = –0,07, w02 = 0,02, w12 = –0,05, w22 = –0,01, w32 = 0,05, w42 = –0,04, w52 = –0,01, w62 = 0,01, w03 = 0,04, w13 = 0,01, w23 = 0,04, w04 = 0,07, w14 = 0,02, w24 = 0,01.

Предъявим сети элементы нормализованного входного вектора первого обучающего примера из табл. 2. Расчет состояний и выходных значений нейронов производится с использованием выражений  и . В результате получим: s1 = –0,082, s2 = –0,0027,  = 0,459,  = 0,501,s3 = 0,065, s4 = 0,084,  = 0,532,  = 0,542.

С использованием выражения (8.1) получим погрешности выходных значений: Δ3 = –0,532, Δ4 = 0,458.

Зная выходы всех нейронов, вычислим производные активационной функции в точках, соответствующих состояниям каждого нейрона по соотношению :  y'1= 0,497, y'2 = 0,500, y'3 = 0,498, y'4 = 0,496.

Таблица 3

Изменение весовых коэффициентов двухслойного перцептрона

w01

w11

w21

w31

w41

w51

w61

w02

w12

w22

w32

w42

w52

w62

w03

w13

w23

w04

w14

w24

1

0,030

-0,080

-0,060

0,020

0,020

-0,080

-0,070

0,018

-0,051

-0,011

0,049

-0,041

-0,011

0,009

-0,093

-0,056

-0,026

0,184

0,076

0,067

2

0,021

-0,084

-0,064

0,015

0,014

-0,086

-0,076

0,011

-0,054

-0,014

0,045

-0,046

-0,016

0,005

0,046

0,013

0,043

0,037

0,004

-0,006

3

0,021

-0,084

-0,064

0,014

0,014

-0,086

-0,076

0,008

-0,054

-0,015

0,043

-0,047

-0,017

0,003

-0,087

-0,053

-0,024

0,158

0,064

0,054

4

0,026

-0,083

-0,063

0,017

0,017

-0,084

-0,074

0,012

-0,053

-0,014

0,045

-0,046

-0,016

0,004

-0,195

-0,107

-0,078

0,252

0,111

0,101

5

0,035

-0,079

-0,058

0,023

0,023

-0,078

-0,069

0,019

-0,050

-0,010

0,050

-0,041

-0,011

0,009

-0,279

-0,149

-0,120

0,326

0,147

0,138

6

0,013

-0,088

-0,068

0,010

0,008

-0,093

-0,083

0,000

-0,059

-0,019

0,038

-0,053

-0,024

-0,004

-0,132

-0,076

-0,046

0,180

0,075

0,065

7

0,003

-0,093

-0,073

0,002

0,000

-0,101

-0,092

-0,008

-0,062

-0,022

0,032

-0,060

-0,030

-0,010

0,011

-0,007

0,025

0,034

0,004

-0,008

8

0,004

-0,093

-0,073

0,002

0,000

-0,101

-0,091

-0,010

-0,062

-0,023

0,032

-0,061

-0,031

-0,011

-0,116

-0,070

-0,038

0,155

0,064

0,053

9

-0,005

-0,099

-0,079

-0,006

-0,008

-0,109

-0,100

-0,017

-0,067

-0,027

0,026

-0,066

-0,037

-0,017

0,025

-0,005

0,031

0,011

-0,002

-0,018

10

-0,005

-0,099

-0,079

-0,006

-0,008

-0,109

-0,100

-0,014

-0,064

-0,025

0,028

-0,065

-0,036

-0,016

0,145

0,052

0,090

-0,114

-0,061

-0,080

11

0,000

-0,097

-0,077

-0,002

-0,004

-0,105

-0,096

-0,005

-0,061

-0,021

0,033

-0,059

-0,030

-0,010

0,241

0,097

0,137

-0,215

-0,108

-0,129

12

0,007

-0,091

-0,072

0,002

0,000

-0,101

-0,092

0,005

-0,053

-0,014

0,040

-0,054

-0,025

-0,005

0,316

0,132

0,174

-0,294

-0,146

-0,168

13

-0,012

-0,097

-0,081

-0,015

-0,017

-0,115

-0,103

-0,020

-0,061

-0,027

0,017

-0,075

-0,042

-0,018

0,170

0,062

0,102

-0,147

-0,075

-0,095

14

-0,022

-0,100

-0,084

-0,019

-0,021

-0,119

-0,107

-0,034

-0,065

-0,031

0,011

-0,081

-0,048

-0,024

0,024

-0,009

0,029

-0,002

-0,004

-0,023

15

-0,022

-0,100

-0,085

-0,019

-0,021

-0,119

-0,107

-0,031

-0,064

-0,030

0,012

-0,080

-0,046

-0,022

0,145

0,048

0,088

-0,125

-0,062

-0,084

16

-0,030

-0,103

-0,087

-0,023

-0,025

-0,123

-0,111

-0,043

-0,067

-0,033

0,007

-0,086

-0,053

-0,029

0,001

-0,021

0,018

0,018

0,006

-0,013

17

-0,028

-0,103

-0,087

-0,022

-0,024

-0,122

-0,110

-0,045

-0,067

-0,033

0,007

-0,087

-0,054

-0,030

-0,124

-0,081

-0,044

0,141

0,065

0,047

18

-0,021

-0,100

-0,084

-0,020

-0,023

-0,121

-0,109

-0,041

-0,066

-0,032

0,008

-0,086

-0,053

-0,030

-0,224

-0,130

-0,093

0,239

0,113

0,095

19

-0,037

-0,111

-0,095

-0,034

-0,035

-0,133

-0,122

-0,054

-0,074

-0,041

-0,003

-0,097

-0,064

-0,040

-0,076

-0,065

-0,023

0,091

0,048

0,025

20

-0,031

-0,109

-0,094

-0,032

-0,033

-0,130

-0,118

-0,052

-0,074

-0,040

-0,002

-0,096

-0,062

-0,038

-0,186

-0,116

-0,076

0,199

0,099

0,078

21

-0,045

-0,120

-0,102

-0,038

-0,039

-0,137

-0,127

-0,062

-0,082

-0,047

-0,007

-0,100

-0,068

-0,045

-0,040

-0,051

-0,006

0,053

0,033

0,008

22

-0,050

-0,122

-0,104

-0,041

-0,042

-0,141

-0,131

-0,063

-0,082

-0,047

-0,008

-0,101

-0,068

-0,045

0,092

0,006

0,055

-0,080

-0,024

-0,054

23

-0,052

-0,122

-0,105

-0,041

-0,042

-0,141

-0,131

-0,071

-0,084

-0,048

-0,008

-0,101

-0,068

-0,045

-0,046

-0,062

-0,013

0,058

0,044

0,014

24

-0,058

-0,125

-0,107

-0,044

-0,045

-0,145

-0,135

-0,072

-0,085

-0,049

-0,008

-0,102

-0,069

-0,047

0,087

-0,004

0,049

-0,076

-0,015

-0,048

Итог

5,133

-6,131

-1,962

3,254

2,118

-2,005

-5,730

4,251

-5,088

-1,598

2,685

1,606

-1,733

-4,832

1,886

-2,721

-2,494

-1,886

2,712

2,506

 

По погрешностям и производным активационной функции нейронов выходного слоя рассчитаем их невязки по соотношению (1): δ3 = –0,265, δ4 = 0,227, а с учетом этих значений по соотношению (2) – невязки скрытых нейронов: δ1 = 0,0009, δ2 = –0,0042.

Зная все невязки, выполним коррекцию весовых коэффициентов выходных нейронов по соотношениям (3) и (4) и скрытых нейронов по соотношениям (3) и (5). Новые значения весов записаны в первой строке данных в табл. 3.

В целом, в табл. 3 показано изменение весовых коэффициентов в ходе их коррекции при последовательном предъявлении 24 обучающих примеров первой эпохи обучения. В последней строке показаны значения весовых коэффициентов по окончании 100-й эпохи обучения.

Для обученной нейронной сети проведено тестирование на обучающей и тестовой выборках. Из 40 примеров обучающей выборки правильно оказались распознаны 38 примеров, что соответствует 95 % случаев верной классификации. Ошибки классификации выявлены для примеров №№ 6 и 11. Анализ входных векторов этих примеров показывает, что оптимальное значение в них выражено крайне слабо (отличается на 0,01 от одной из соседних точек) и находится близко к левой или правой границам. Учитывая эти особенности примеров с ошибками, а также ограниченный объем использованной выборки и простоту структуры двухслойного перцептрона, следует признать полученный результат тестирования очень хорошим.

Для тестовой выборки получены правильные результаты классификации в 7 случаях из 8 (табл. 4), что составляет 87,5 %.

Таблица 4

Результаты классификации тестовых примеров


примера

Корректность
классификации

41

0

1

0

1

+

42

0

1

0

1

+

43

0

1

0

1

+

44

1

0

1

0

+

45

1

0

1

0

+

46

1

0

0

1

47

0

1

0

1

+

48

1

0

1

0

+

 

Единственная ошибка для примера № 46 не может объясняться теми же причинами, что для ошибок обучающей выборки. В данном случае очевидная причина – отсутствие примеров с близким характером и диапазоном изменения значений входных переменных в обучающей выборке. Будь обучающая выборка более объемной, этой ошибки, скорее всего, удалось бы избежать.