Функция инициализации уровня Nguyen-Widrow
net = initnw(net,i)
initnw - функция инициализации уровня, которая инициализирует веса и смещения уровня в соответствии с алгоритмом инициализации Nguyen-Widrow. Этот алгоритм выбирает значения для того, чтобы распределить активную область каждого нейрона в слое приблизительно равномерно по входному пространству слоя. Значения содержат степень случайности, поэтому они не совпадают при каждом вызове этой функции.
initnw требует, чтобы уровень, который он инициализирует, имел передаточную функцию с конечным активным диапазоном ввода. Сюда входят функции переноса, такие как tansig и satlin, но не purelin, активным входным диапазоном которого является бесконечный интервал [-inf, inf]. Передаточные функции, такие как tansig, вернут свой активный диапазон ввода следующим образом:
activeInputRange = tansig('active')
activeInputRange =
-2 2
net = initnw(net,i) принимает два аргумента,
net | Нейросеть |
i | Индекс слоя |
и возвращает сеть со слоем iВеса и предубеждения обновлены.
Существует случайный элемент для инициализации Nguyen-Widrow. Если генератор случайных чисел по умолчанию не установлен на одно и то же начальное значение перед каждым вызовом initnwон будет генерировать различные значения веса и смещения каждый раз.
Можно создать стандартную сеть, использующую initnw путем вызова feedforwardnet или cascadeforwardnet.
Подготовка пользовательской сети для инициализации с помощью initnw,
Набор net.initFcn кому 'initlay'. Эти наборы net.initParam в пустую матрицу [], потому что initlay не имеет параметров инициализации.
Набор net.layers{i}.initFcn кому 'initnw'.
Для инициализации сети вызовите init.
Метод Нгуена-Видроу генерирует начальные значения веса и смещения для слоя, так что активные области нейронов слоя распределяются приблизительно равномерно по входному пространству.
Преимущества перед чисто случайными весами и предубеждениями
Мало нейронов тратится впустую (потому что все нейроны находятся во входном пространстве).
Обучение работает быстрее (потому что каждая область входного пространства имеет нейроны). Метод Nguyen-Widrow может применяться только к слоям
С уклоном
С весами, чьи weightFcn является dotprod
С netInputFcn установить в значение netsum
С transferFcn чья активная область конечна
Если эти условия не выполняются, то initnw использование rands для инициализации весов и смещений слоя.
cascadeforwardnet | feedforwardnet | init | initlay | initwb