Создание неглубокой нейронной сети
net = network
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)
Напечатать help network/network.
Совет
Сведения о создании сети глубокого обучения см. в разделе Определение слоев сверточной нейронной сети.
network создает новые пользовательские сети. Он используется для создания сетей, которые затем настраиваются такими функциями, как feedforwardnet и narxnet.
net = network без аргументов возвращает новую нейронную сеть без входов, уровней или выходов.
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect) принимает следующие необязательные аргументы (показаны со значениями по умолчанию):
numInputs | Количество входов, 0 |
numLayers | Количество слоев, 0 |
biasConnect |
|
inputConnect |
|
layerConnect |
|
outputConnect | 1-by- |
и возвращает
net | Новая сеть с заданными значениями свойств |
net.numInputs | 0 или положительное целое число | Количество входов. |
net.numLayers | 0 или положительное целое число | Количество слоев. |
net.biasConnect |
| Если |
net.inputConnect |
| Если |
net.layerConnect |
| Если |
net.outputConnect | 1-by- | Если |
net.numOutputs | 0 или положительное целое число (только для чтения) | Количество сетевых выходов в соответствии с |
net.numInputDelays | 0 или положительное целое число (только для чтения) | Максимальная задержка на входе по всем |
net.numLayerDelays | 0 или положительное число (только для чтения) | Максимальная задержка на уровне по всем |
net.inputs |
|
|
net.layers |
|
|
net.biases |
| Если |
net.inputWeights |
| Если |
net.layerWeights |
| Если |
net.outputs | 1-by- | Если |
net.adaptFcn | Имя функции сетевой адаптации или |
net.initFcn | Имя функции инициализации сети или |
net.performFcn | Имя функции производительности сети или |
net.trainFcn | Имя сетевой обучающей функции или |
net.adaptParam | Параметры сетевой адаптации |
net.initParam | Параметры инициализации сети |
net.performParam | Параметры производительности сети |
net.trainParam | Параметры сетевого обучения |
net.IW |
|
net.LW |
|
net.b |
|
net.userdata | Структура, которую можно использовать для хранения полезных значений |
В этом примере показано, как создать сеть без входных данных и слоев, а затем установить ее количество входных данных и слоев на 1 и 2 соответственно.
net = network net.numInputs = 1 net.numLayers = 2
Также можно создать один и тот же сетевой график с одной строкой кода.
net = network(1,2)
В этом примере показано, как создать двухуровневую сеть с одним входом. Только первый слой имеет смещение. Входной вес соединяется со слоем 1 от входа 1. Вес слоя соединяется со слоем 2 из слоя 1. Уровень 2 является сетевым выходом и имеет цель.
net = network(1,2,[1;0],[1; 0],[0 0; 1 0],[0 1])
Можно просмотреть подобъекты сети со следующим кодом.
net.inputs{1}
net.layers{1}, net.layers{2}
net.biases{1}
net.inputWeights{1,1}, net.layerWeights{2,1}
net.outputs{2}
Можно изменить свойства любого подобъекта сети. Этот код изменяет передаточные функции обоих уровней:
net.layers{1}.transferFcn = 'tansig';
net.layers{2}.transferFcn = 'logsig';
Весовые коэффициенты для соединения с первого входа на первый уровень можно просмотреть следующим образом. Веса для соединения от входа к слою сохраняются в net.IW. Если значения еще не установлены, результат будет пустым.
net.IW{1,1}Весовые коэффициенты для соединения между первым и вторым слоями можно просмотреть следующим образом. Веса для соединения между слоями сохраняются в net.LW. Опять же, если значения еще не установлены, результат будет пустым.
net.LW{2,1}Значения смещения для первого слоя можно просмотреть следующим образом.
net.b{1}Чтобы изменить количество элементов на входе 1 на 2, установите диапазон каждого элемента:
net.inputs{1}.range = [0 1; -1 1];
Для моделирования сети для двухэлементного входного вектора код может выглядеть следующим образом:
p = [0.5; -0.1]; y = sim(net,p)