Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6.doc
Скачиваний:
857
Добавлен:
07.03.2016
Размер:
15.55 Mб
Скачать

Часть2. Операторы, функции и команды

10. Вычислительная модель нейронной сети

ППП NeuralNetworkToolboxиспользует специальный класс объектовnetworkobject. Эти объекты представлены в ППП в виде массивов записей, поля которых определяют их свойства, характеристики и параметры. Массивы записей позволяют задать вычислительную модель нейронной сети, для которой используется стандартное имяnet, являющееся также и именем массива записей.

10.1. Описание сети Описание архитектуры

Архитектура нейронной сети характеризуется количеством входов, слоев, выходов, целей, смещений, а также топологией их соединения. Перечисленные ниже поля массива записей netопределяют свойства нейронной сети, связанные с ее архитектурой.

net

Тип

Размер

Значение по умолчанию

Имя поля

.numInputs

Integer >= 0

11

0

Количество входов сети

.numLayers

Integer >= 0

11

0

Количество слоев

.biasConnect

Boolean array

NumLayers1

[ ]

Матрица связности для смещений

.inputConnect

Boolean array

NumLayers  NumInputs

[ ]

Матрица связности для входов

.layerConnect

Boolean array

NumLayers  NumLayers

[ ]

Матрица связности для слоев

.outputConnect

Boolean array

1NumLayers

[ ]

Матрица связности для выходов

.targetConnect

Boolean array

1NumLayers

[ ]

Матрица связности для целей

.numOutputs

Integer >= 0

(только для чтения)

11

0

Количество выходов сети

.numTargets

Integer >= 0

(только для чтения)

11

0

Количество целей сети

.numInputDelays

Integer >= 0

(только для чтения)

11

0

Максимальное значение задержки для входов сети

.numLayerDelays

Integer >= 0

(только для чтения)

11

0

Максимальное значение задержки для слоев сети

numInputsчисло входов

Количество векторов входа сети. Количество векторов входа следует отличать от количества элементов вектора входа. Число входов задается целым положительным числом и указывает, как много векторов входа подано на сеть; по умолчанию 0. В свою очередь, количество элементов каждого входного вектора задается свойством inputs{i}.size. Любое изменение свойства numInputs будет влиять на размеры матрицы связностиinputConnectи массивов ячеек inputs{i}.

numLayersчисло слоев

Количество слоев. Число слоев задается целым положительным числом; по умолчанию 0. Любое изменение этого свойства будет влиять на размер матриц связностиbiasConnect,inputConnect,layerConnect,outputConnect,targetConnect, а также размеры массивов весов и смещенийIW,LW,b.

biasConnectматрица связности

Матрица связности для смещений. Это одномерная булева матрица размера Nl1, где Nlколичество слоев, определяемых свойством numLayers. Наличие или отсутствие смещения в слоеiотмечается в элементе вектораbiasConnect(i)как 1 или 0 соответственно. Наличие смещения означает, что в массивах ячеекbiases{i}иb{i}будут созданы структуры, задающие все характеристики смещения.

inputConnectматрица связности

Матрица связности для входов. Это булева матрица размера NlNi, где Nl – количество слоев, определяемых свойством numLayers, иNi – количество входов, определяемых свойством numInputs. Наличие или отсутствие веса при связывании слояiсо слоем j отмечается в элементе матрицыinputConnect(i, j)как 1 или 0 соответственно.Наличие веса означает, что в массивах ячеекinputWeights{i}иIW{i}будут созданы структуры, задающие характеристики весов входа.

layerConnectматрица связности

Матрица связности для слоев. Это булева матрица размера NlNl, где Nlколичество слоев, определяемых свойством numLayers. Наличие или отсутствие веса в слоеiпо входуjотмечается в элементе матрицыlayerConnect(i, j)как 1 или 0 соответственно. Наличие веса означает, что в массивах ячеекlayerWeights{i}иLW{i}будут созданы структуры, задающие характеристики весов слоя.

outputConnectматрица связности

Матрица связности для выходов. Это одномерная булева матрица размера 1Nl, где Nl – количество слоев, определяемых свойством numLayers. Наличие или отсутствие выхода в слоеiотмечается в элементе вектораoutputConnect(i)как 1 или 0 соответственно. Наличие выхода изменяет значение свойства numOutputs и означает, что в массиве ячеекoutputs{i}будет сформирована структура, задающая характеристики выхода.

targetConnectматрица связности

Матрица связности для целей. Это одномерная булева матрица размера 1Nl, где Nl – количество слоев, определяемых свойством numLayers. Наличие или отсутствие целевого выхода в слоеiотмечается в элементе вектораtargetConnect(i)как 1 или 0 соответственно.Наличие цели изменяет значение свойства numTargets и означает, что в массиве ячеекtargets{i}будет сформирована структура, задающая характеристики целевого выхода.

numOutputsчисло выходов (только для чтения)

Количество выходов. Число выходов определяется количеством единиц в матрице связности для выходов; по умолчанию 0. Оно может быть вычислено следующим образом:

numOutputs = sum(outputConnect)

numTargets число целей (только для чтения)

Количество целевых выходов. Число целей определяется количеством единиц в матрице связности для целей; по умолчанию 0. Оно может быть вычислено следующим образом

numOutputs = sum(targetConnect)

numInputDelays максимальное значение задержки (только для чтения)

Максимальное значение задержкидля входов. Это свойство определяетмаксимальное значение задержки для входных последовательностей, по умолчанию 0. Оно может быть вычислено следующим образом:

numInputDelays = 0;

for i=1:net.numLayers

for j=1:net.numInputs

if net.inputConnect(i,j)

numInputDelays = max( ...

[numInputDelays net.inputWeights{i,j}.delays]);

end

end

end

numLayerDelaysмаксимальное значение задержки (только для чтения)

Максимальное значение задержкидля слоев. Это свойство определяетмаксимальное значение задержки для всех слоев сети, по умолчанию 0. Оно может быть вычислено следующим образом:

numLayerDelays = 0;

for i=1:net.numLayers

for j=1:net.numLayers

if net.layerConnect(i,j)

numLayerDelays = max( ...

[numLayerDelays net.layerWeights{i,j}.delays]);

end

end

end