Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Лабораторная работа № 8. Исследование радиальных базисных сетей общего вида



Исследование радиальных базисных сетей
общего вида

Цель работа: изучение архитектуры радиальных базисных нейронных сетей общего вида и специальных функций для их создания и автоматической настройки весов и смещений, ознакомление с демонстрационными примерами и их скриптами; приобретение навыков построения таких сетей для классификации векторов и аппроксимации функций.

Теоретические сведения

Радиальная, базисная сеть общего вида – это двухслойная нейронная сеть с R входами, каждый из которых может состоять из нескольких элементов. Передаточной функцией нейронов входного слоя является колоколообразная симметричная функция следующего вида:

Эта функция имеет максимум, равный 1, при n = 0 и плавно убывает при увеличении n, достигая значения 0.5 при n = ±0.833. Передаточной функцией нейронов выходного слоя является линейная функция perelin.

Функция взвешивания для входного слоя вычисляет евклидово расстояние между каждой строкой матрицы весов и каждым столбцом матрицы входов:

.

Затем эта величина умножается на смещение нейрона и поступает на вход передаточной функции, так что

a{i} = radbas(net.prod(dist(net.IW{1, 1}, p).net.b{i})).

Для нейронов выходного слоя функцией взвешивания является скалярное произведение dotprod, а функцией накопления – функция суммирования взвешенных входов и взвешенного смещения netsum.

Для того чтобы понять поведение радиальной базисной сети общего вида, необходимо проследить прохождение вектора входа p. При задании значений элементам вектора входа каждый нейрон входного слоя выдает значение в соответствии с тем, как близок вектор входа к вектору весов каждого нейрона. Таким образом, нейроны с векторами весов, значительно отличающимися с вектором входа p, будут иметь выходы, близкие к 0, и их влияние на выходы линейных нейронов выходного слоя будет незначительное. Напротив, входной нейрон, веса которого близки к вектору p, выдаст значение, близкое к единице.

Для построения радиальных базисных сетей общего вида и автоматической настройки весов и смещений используются две функции newrbe и newrb. Первая позволяет построить радиальную базисную сеть с нулевой ошибкой, вторая позволяет управлять количеством нейронов входного слоя. Эти функции имеют следующие параметры:

net = newrbe(P, T, SPREAD),

net = newrb(P, T, GOAL, SPREAD),

где P – массив размера RxQ входных векторов, причем R – число элементов вектора входа, а Q – число векторов в последовательности;

T – массив размера SxQ из Q векторов цепи и S классов;

SPREAD – параметр влияния, определяющий крутизну функции radbas, значение по умолчания которого равно единице;

GOAL – средняя квадратичная ошибка, при этом значение по умолчанию равно 0.0.

Параметр влияния SPREAD существенно влияет на качество аппроксимации функции: чем больше его значение, тем более гладкой будет аппроксимация. Слишком большое его значение приведет к тому, что для получения гладкой аппроксимации быстро изменяющейся функции потребуется большое количество нейронов: слишком малое значение параметра SPREAD потребует большего количества нейронов для аппроксимации гладкой функции. Обычно параметр влияния SPREAD выбирается большим, чем шаг разбиения интервала задания обучающей последовательности, но меньшим размера самого интервала.

Функция newrbe устанавливает веса первого слоя равным P′, а смещения – равными 0.8326/ SPREAD, в результате радиальная базисная функция пересекает значение 0.5 при значениях евклидового расстояния ±SPREAD. Веса второго слоя LW{2,1} и смещения b{2} определяются путем моделирования выходов первого слоя A{1} и последующего решения системы линейных уравнений:

[LW{2,1} b{2}]*[A{1}; ones] = T.

Функция newrb формирует сеть следующим образом. Изначально первый слой не имеет нейронов. Сеть моделируется и определяется вектор входа с самой большой погрешностью, добавляется нейрон с функцией активации radbas и весами, равными вектору входа, затем вычисляются весовые коэффициенты линейного слоя, чтобы не превысить средней допустимой квадратичной ошибки.

Практические задания

Задание 1. Создать радиальную базисную сеть с нулевой ошибкой для обучающей последовательности P = 0:3 и T = [0.0 2.0 4.1 5.9], проанализировать структурную схему построенной сети и значения параметров ее вычислительной модели, выполнив следующие действия:

1. Создать радиальную базисную сеть с нулевой ошибкой:

P = 0:3;

T = [0.0 2.0 4.1 5.9];

net = newrbe(P, T);

2. Проанализировать структурную схему построенной сети:





Дата публикования: 2015-10-09; Прочитано: 536 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...