exponenta event banner

Обобщенные регрессионные нейронные сети

Сетевая архитектура

Обобщённая регрессионная нейронная сеть (GRNN) часто используется для аппроксимации функций. Имеет радиальный базовый слой и специальный линейный слой.

Архитектура GRNN показана ниже. Он аналогичен радиальной базовой сети, но имеет несколько другой второй слой.

Здесь поле nprod, показанное выше (функция кода normprod) создает S2 элементы в векторе n2. Каждый элемент является скалярным произведением строки LW2,1 и входного вектора a1, нормализованных по сумме элементов a1. Например, предположим, что

LW{2,1}= [1 -2;3 4;5 6];
a{1} = [0.7;0.3];

Тогда

aout = normprod(LW{2,1},a{1})
aout =
    0.1000
    3.3000
    5.3000

Первый слой просто так для newrbe сетей. У этого есть столько же нейронов, сколько там введены целевые векторы / в P. А именно, веса первого слоя установлены в P'. Смещение b1 устанавливается в вектор столбца 0,8326/SPREAD. Пользователь выбирает SPREAD, расстояние между входным вектором и вектором веса нейрона должно составлять 0,5.

Опять же, первый уровень работает так же, как newrbe радиальный базовый слой, описанный выше. Взвешенный вход каждого нейрона - это расстояние между входным вектором и его весовым вектором, рассчитанное с помощью dist. Чистый вход каждого нейрона является произведением его взвешенного входа с его смещением, рассчитанным с помощью netprod. Выход каждого нейрона - это его чистый вход, пропущенный через radbas. Если вектор веса нейрона равен входному вектору (транспонированному), его взвешенный вход будет равен 0, его чистый вход будет равен 0, а его выход будет равен 1. Если вектор веса нейрона является расстоянием spread от входного вектора, его взвешенный ввод будет spread, и его чистый вход будет sqrt (− log (.5)) (или 0.8326). Поэтому его выход будет равен 0,5.

Второй слой также имеет столько нейронов, сколько входных/целевых векторов, но здесь LW{2,1} имеет значение T.

Предположим, что входной вектор p близок к pi, один из входных векторов среди входных векторных/целевых пар, используемых при проектировании весов уровня 1. Этот вход p создает выход уровня 1, близкий к 1. Это приводит к выходу уровня 2, близкому к ti, одной из целей, используемых для формирования весов уровня 2.

Большее spread приводит к большой области вокруг входного вектора, где нейроны уровня 1 будут реагировать со значительными выходами. Следовательно, если spread мал, радиальная базисная функция очень крута, так что нейрон с весовым вектором, ближайшим к входу, будет иметь гораздо больший выход, чем другие нейроны. Сеть имеет тенденцию реагировать целевым вектором, связанным с ближайшим входным вектором проекта.

Как spread становится больше, наклон радиальной базовой функции становится более плавным, и несколько нейронов могут реагировать на входной вектор. Затем сеть действует так, как если бы она брала средневзвешенное значение между целевыми векторами, входные векторы конструкции которых наиболее близки к новому входному вектору. Как spread становится все больше и больше нейронов способствуют среднему значению, в результате чего сетевая функция становится более плавной.

Дизайн (newgrnn)

Можно использовать функцию newgrnn для создания GRNN. Например, предположим, что три входных и три целевых вектора определены как

P = [4 5 6];
T = [1.5 3.6 6.7];

Теперь можно получить GRNN с помощью

net = newgrnn(P,T);

и смоделировать его с помощью

P = 4.5;
v = sim(net,P);

Можно также попробовать GRNN Function Approximation.

Функция

Описание

compet

Функция конкурентной передачи.

dist

Евклидова функция веса расстояния.

dotprod

Функция веса точечного продукта.

ind2vec

Преобразование индексов в векторы.

negdist

Отрицательная евклидова функция веса расстояния.

netprod

Функция чистого ввода продукта.

newgrnn

Разработать обобщенную регрессионную нейронную сеть.

newpnn

Разработать вероятностную нейронную сеть.

newrb

Проектирование радиальной базовой сети.

newrbe

Проектирование точной радиальной базовой сети.

normprod

Нормализованная функция веса скалярного произведения.

radbas

Радиальная базисная передаточная функция.

vec2ind

Преобразование векторов в индексы.