Инициализируйте нейронную сеть
net = init(net)
Тип help network/init
.
net = init(net)
возвращает net
нейронной сети с обновленными значениями веса и смещения в соответствии с функцией инициализации сети, обозначенной
net.initFcn
, и значения параметров, обозначенные net.initParam
.
Здесь создается перцептрон, и затем конфигурируется так, чтобы его вход, выход, вес и размерности смещения совпадали с входными и целевыми данными.
x = [0 1 0 1; 0 0 1 1]; t = [0 0 0 1]; net = perceptron; net = configure(net,x,t); net.iw{1,1} net.b{1}
Настройка перцептрона изменяет его вес и значения смещения.
net = train(net,x,t); net.iw{1,1} net.b{1}
init
повторно инициализирует эти значения веса и смещения.
net = init(net); net.iw{1,1} net.b{1}
Веса и смещения снова являются нулями, которые являются начальными значениями, используемыми перцептронными сетями.
init
вызывает net.initFcn
для инициализации значения веса и смещения согласно значениям параметров net.initParam
.
Как правило, net.initFcn
установлено в 'initlay'
, который инициализирует веса и смещения каждого слоя в соответствии с его net.layers{i}.initFcn
.
Сети обратного распространения имеют net.layers{i}.initFcn
установлено на 'initnw'
, который вычисляет вес и значения смещения для слоя i
с использованием метода инициализации Nguyen-Widrow.
Другие сети имеют net.layers{i}.initFcn
установлено на 'initwb'
, который инициализирует каждый вес и смещение со своей функцией инициализации. Наиболее распространенной функцией инициализации веса и смещения является rands
, который генерирует случайные значения от -1 до 1.