Спроектируйте радиальную базисную сеть
берет два из этих аргументов:net
= newrb(P
,T
,goal
,spread
,MN
,DF
)
P
R
- Q
матрица Q
входные векторы
T
S
- Q
матрица Q
целевые векторы класса
goal
— Цель среднеквадратической ошибки
spread
— Распространение радиальных основных функций
MN
— Максимальное количество нейронов
DF
— Количество нейронов, чтобы добавить между отображениями
Радиальные базисные сети могут использоваться, чтобы аппроксимировать функции. newrb
добавляют нейроны к скрытому слою радиальной базисной сети, пока он не удовлетворяет заданной цели среднеквадратической ошибки.
Больший spread
более сглаженное приближение функций. Слишком большое распространение означает, что много нейронов требуется, чтобы соответствовать быстро изменяющейся функции. Слишком маленькое распространение означает, что много нейронов требуются, чтобы соответствовать сглаженной функции, и сетевая сила не делает вывод хорошо. Вызовите newrb
с различными распространениями, чтобы найти оптимальное значение для данной проблемы.
newrb
создает сеть 2D слоя. Первый слой имеет radbas
нейроны, и вычисляют его взвешенные входные параметры с dist
и его сетевой вход с netprod
. Второй слой имеет purelin
нейроны, и вычисляют его взвешенный вход с dotprod
и его сетевые входные параметры с netsum
. Оба слоя имеют смещения.
Первоначально radbas
слой не имеет никаких нейронов. Следующие шаги повторяются, пока среднеквадратическая ошибка сети не падает ниже goal
.
Сеть симулирована.
Входной вектор с самой большой ошибкой найден.
radbas
нейрон добавляется с весами, равными тому вектору.
purelin
веса слоя перепроектированы, чтобы минимизировать ошибку.