Лабораторная работа: Нейронные сети с радиальными базисными функциями

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

Задание: Используя встроенные функции пакета нейронных сетей математической среды Matlab, построить нейронную сеть с радиальными базисными функциями.

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

Сети РБФ имеют ряд преимуществ перед рассмотренными многослойными сетями прямого распространения. Во-первых, они моделируют произвольную нелинейную функцию с помощью всего одного промежуточного слоя, тем самым, избавляя разработчика от необходимости решать вопрос о числе слоев. Во-вторых, параметры линейной комбинации в выходном слое можно полностью оптимизировать с помощью хорошо известных методов линейной оптимизации, которые работают быстро и не испытывают трудностей с локальными минимумами, так мешающими при обучении с использованием алгоритма обратного распространения ошибки. Поэтому сеть РБФ обучается очень быстро - на порядок быстрее, чем с использованием алгоритма ОР (обратного распространения).

Недостатки сетей РБФ: данные сети обладают плохими экстраполирующими свойствами и получаются весьма громоздкими при большой размерности вектора входов.

На рис. 1 представлена структурная схема нейронной сети с радиальными базисными функциями.

Нейронная сеть радиальных базисных функций содержит в наиболее простой форме три слоя: обычный входной слой, выполняющий распределение данных образца для первого слоя весов; слой скрытых нейронов с радиально симметричной активационной функцией, каждый j-й из которых предназначен для хранения отдельного эталонного вектора в виде вектора весов wj(h); выходной слой

Для построения сети РБФ необходимо выполнение следующих условий.

Во-первых, наличие эталонов, представленных в виде весовых векторов нейронов скрытого слоя. Во-вторых, наличие способа измерения расстояния входного вектора от эталона. Обычно это стандартное евклидово расстояние. В-третьих, специальная функция активации нейронов скрытого слоя, задающая выбранный способ измерения расстояния. Обычно используется функция Гаусса, существенно усиливающая малую разницу между входным и эталонным векторами. Выходной сигнал эталонного нейрона скрытого слоя aj- это функция (гауссиан) только от расстояния pj между входным и эталонным векторами.

Рис. 1 . Сеть с радиальными базисными функциями

Таким образом, выходной сигнал шаблонного нейрона - это функция только от расстояния между входным вектором х и сохраненным центром wv

Обучение слоя образцов-нейронов сети подразумевает предварительное проведение кластеризации для нахождения эталонных векторов и определенных эвристик для определения значений -.

Нейроны скрытого слоя соединены по полносвязной схеме с нейронами выходного слоя, которые осуществляют взвешенное суммирование

Для нахождения значения весов wот нейронов скрытого к выходному слою используется линейная регрессия.

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

К недостаткам сетей РБФ можно отнести то, что заранее должно быть известно число эталонов, а также эвристики для построения активационных функций нейронов скрытого слоя.

В моделях РБФ могут быть использованы различные способы измерения расстояния между векторами, а также функции активации нейронов скрытого слоя.

Радиальная, базисная сеть общего вида – это двухслойная нейронная сеть с 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 .

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 270
Бесплатно скачать Лабораторная работа: Нейронные сети с радиальными базисными функциями