Проектирование точной радиальной базовой сети
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