exponenta event banner

initnw

Функция инициализации уровня 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,

  1. Набор net.initFcn кому 'initlay'. Эти наборы net.initParam в пустую матрицу [], потому что initlay не имеет параметров инициализации.

  2. Набор net.layers{i}.initFcn кому 'initnw'.

Для инициализации сети вызовите init.

Алгоритмы

Метод Нгуена-Видроу генерирует начальные значения веса и смещения для слоя, так что активные области нейронов слоя распределяются приблизительно равномерно по входному пространству.

Преимущества перед чисто случайными весами и предубеждениями

  • Мало нейронов тратится впустую (потому что все нейроны находятся во входном пространстве).

  • Обучение работает быстрее (потому что каждая область входного пространства имеет нейроны). Метод Nguyen-Widrow может применяться только к слоям

    • С уклоном

    • С весами, чьи weightFcn является dotprod

    • С netInputFcn установить в значение netsum

    • С transferFcn чья активная область конечна

Если эти условия не выполняются, то initnw использование rands для инициализации весов и смещений слоя.

Представлен до R2006a