Моделирование искусственных нейронных сетей в системе MATLAB. Часть 3. Радиальные базисные сети. Донской Д.А - 51 стр.

UptoLike

51
Предполагается, что задано обучающее множество, состоящее
из Q пар векторов вход/цель. Каждый вектор цели имеет K элемен-
тов, указывающих класс принадлежности, и, таким образом, каждый
вектор входа ставится в соответствие одному из K классов. В резуль-
тате может быть образована матрица связности
T размера K×Q, со-
стоящая из нулей и единиц, строки которой соответствуют классам
принадлежности, а столбцывекторам входа. Таким образом, если
элемент
T(i,j) матрицы связности равен 1, то это означает, что j-й
входной вектор принадлежит к классу i.
Весовая матрица первого слоя
IW
11
(net.IW{1,1}) формируется с
использованием векторов входа из обучающего множества в виде
матрицы
P
т
. Когда подается новый вход, блок ||dist|| вычисляет бли-
зость нового вектора к векторам обучающего множества; затем вы-
численные расстояния умножаются на смещения и подаются на вход
функции активации radbas. Вектор обучающего множества, наиболее
близкий к вектору входа, будет представлен в векторе выхода
a
1
чис-
лом близким к 1.
Весовая матрица второго слоя
LW
21
(net.LW{2,1}) соответствует
матрице связности
T, построенной для данной обучающей последо-
вательности. Эта операция может быть выполнена с помощью функ-
ции ind2vec, которая преобразует вектор целей в матрицу связ-
ности
T. Произведение T*a
1
определяет элементы вектора a
1
, соот-
ветствующие каждому из К классов. В результате конкурирующая
функция активации второго слоя compet формирует на выходе зна-
чение, равное 1 для самого большего по величине элемента век-
тора
n
2
и 0 в остальных случаях. Таким образом, сеть PNN выполняет
классификацию векторов входа по K классам.
Синтез сети
Для создания нейронной сети PNN предназначена функция
newpnn. Определим 7 следующих векторов входа и соотнесем каж-
дый из них к одному из 3 классов:
P = [0 0;1 1;0 3;1 4;3 1;4 1;4 3];
Tc = [1 1 2 2 3 3 3].
Ставится задача определения: к какому классу принадлежит дан-
ный вектор.
   Предполагается, что задано обучающее множество, состоящее
из Q пар векторов вход/цель. Каждый вектор цели имеет K элемен-
тов, указывающих класс принадлежности, и, таким образом, каждый
вектор входа ставится в соответствие одному из K классов. В резуль-
тате может быть образована матрица связности T размера K×Q, со-
стоящая из нулей и единиц, строки которой соответствуют классам
принадлежности, а столбцы – векторам входа. Таким образом, если
элемент T(i,j) матрицы связности равен 1, то это означает, что j-й
входной вектор принадлежит к классу i.
   Весовая матрица первого слоя IW11 (net.IW{1,1}) формируется с
использованием векторов входа из обучающего множества в виде
матрицы Pт. Когда подается новый вход, блок ||dist|| вычисляет бли-
зость нового вектора к векторам обучающего множества; затем вы-
численные расстояния умножаются на смещения и подаются на вход
функции активации radbas. Вектор обучающего множества, наиболее
близкий к вектору входа, будет представлен в векторе выхода a1 чис-
лом близким к 1.
   Весовая матрица второго слоя LW21 (net.LW{2,1}) соответствует
матрице связности T, построенной для данной обучающей последо-
вательности. Эта операция может быть выполнена с помощью функ-
ции ind2vec, которая преобразует вектор целей в матрицу связ-
ности T. Произведение T*a1 определяет элементы вектора a1, соот-
ветствующие каждому из К классов. В результате конкурирующая
функция активации второго слоя compet формирует на выходе зна-
чение, равное 1 для самого большего по величине элемента век-
тора n2 и 0 в остальных случаях. Таким образом, сеть PNN выполняет
классификацию векторов входа по K классам.
                          Синтез сети
  Для создания нейронной сети PNN предназначена функция
newpnn. Определим 7 следующих векторов входа и соотнесем каж-
дый из них к одному из 3 классов:
  P = [0 0;1 1;0 3;1 4;3 1;4 1;4 3];
  Tc = [1 1 2 2 3 3 3].
  Ставится задача определения: к какому классу принадлежит дан-
ный вектор.


                                51