Проектирование точной радиальной базовой сети
net = newrbe(P,T,spread)
Радиальные сети базиса могут использоваться, чтобы аппроксимировать функции. newrbe
очень быстро проектирует радиальную базовую сеть с нулевой ошибкой на векторах проекта.
net = newrbe(P,T,spread)
принимает два или три аргумента,
P |
|
T |
|
spread | Разброс функций радиального базиса (по умолчанию = 1.0) |
и возвращает новую точную радиальную базовую сеть.
Чем больше spread
более плавным будет приближение функций. Слишком большой разброс может вызвать числовые проблемы.
Здесь вы проектируете радиальную сеть базиса, заданную входами P
и целевые T
.
P = [1 2 3]; T = [2.0 4.1 5.9]; net = newrbe(P,T);
Сеть моделируется для нового входа.
P = 1.5; Y = sim(net,P)
newrbe
создает двухуровневую сеть. Первый слой имеет radbas
нейроны и вычисляет их взвешенные входы с помощью dist
и его чистый вход с netprod
. Второй слой имеет purelin
нейроны и вычисляет его взвешенный вход с помощью dotprod
и его чистые входы с netsum
. Оба слоя имеют смещения.
newrbe
устанавливает веса первого слоя равными P'
, и все смещения первого уровня установлены на 0.8326/spread
, в результате чего радиальные базисные функции пересекают 0,5 при взвешенных входах +/- spread
.
Веса второго слоя IW{2,1}
и смещения b{2}
найдены путем симуляции выходов первого слоя A{1}
и затем решение следующего линейного выражения:
[W{2,1} b{2}] * [A{1}; ones] = T