Экспериментальный образец.
Создание и обучение радиальной базисной сети осуществляется функцией
newrb(PR, T, goal, spread, MN, DF),
где – матрица столбцов входных значений,
– матрица целевых значений,
goal – допустимое значение функционала ошибки,
spread – диапазон перекрытия входных значений (размах нейрона или его влияние),
– максимально-возможное количество нейронов в скрытом слое (по умолчании равно количеству входов),
– интервал (количество нейронов), по истечении которого на дисплей выводятся промежуточные результаты обучения.
Пример формирования РБФ-сети.
Создадим радиальную базисную сеть для следующей обучающей последовательности для средней квадратичной ошибки 0.1:
Задаем обучающую выборку из 4 объектов.
P = 0:0.2:3;
T_t = [-ones(1,8) ones(1,8)]; % целевое значение
Создаем растущую сеть РБФ.
net = newrb(P,T_t,0.1);
Выводим число нейронов после обучения.
net.layers{1}.size
Сформированная радиальная базисная сеть имеет 3 нейрона с функцией активации radbas.
Выполним моделирование сети для обучающей выборки:
V = sim(net,P); % Векторы входа из обучающего множества
Error_train=mean(abs(T_t-V))%средняя абсолютная ошибка обучения
plot(P,V);
hold on;
Тест
P1 = 0.5:0.2:2.5; %строим тестовую выборку
T = [-ones(1,5) ones(1,6) ]; % целевое значение
Y = sim(net,P1) % новые вектора
plot(P1,Y,'+k')%
error=mean(abs(T-Y))%средняя абсолютная ошибка обучения
NEWRB, neurons = 0, MSE = 1
NEWRB, neurons = 2, MSE = 0.146477
NEWRB, neurons = 3, MSE = 0.133459
NEWRB, neurons = 4, MSE = 0.116289
NEWRB, neurons = 5, MSE = 0.0748
net.layers{1}.size=5
Error_train = 0.1942
Y = -0.9685 -1.1513 -1.2099 -1.0256 -0.5850 0.0144 0.6044 1.0213 1.1809 1.1183 0.9672
error = 0.2334
Рис. 1 Обучение (красный- цель, синий -сеть) и тест(красный- цель, черный -сеть)
Задание 1. Построить классификатор на РБФ сети
Экспериментальный образец.
Рассмотреть коллекцию примеров Grng.dat (примеры описания 800 геометрических фигур (эллипс, треугольник, прямоугольник и пятиугольник) по 16 признакам (энергия изгиба в точках) и признак типа объекта (1, 2, 3 или 4)). Прочитать в MatLab (открыть из рабочей обрасти)
1. Прочитать данные по вариантам. Вывести по одному примеру каждого типа данных (до обработки и после обработки) и поместить их в отчет. Провести предобработку:
1) Нормализовать образцы по максиму амплитуды образца.
2) Составить базу для обучения нейронной сети в виде матрицы Р, где столбец соответствует примеру. Одновременно заполнить матрицу целей Т (вектор 1хК, где К - общее число примеров) значениями 1 для одного из классов и значениями –1 для другого (для 3-х классов 1,0,-1, для 4-х классов 1, 2, 3 и 4).
2. Построить нейронную сеть на нейронах радиального типа и подать сигналы для ее обучения как это сделано в примере.
· Исследовать изменение ошибки обобщения (теста) от числа эпох (привести диаграмму обучения) и от ошибки обучения.
Ошибку определять как ошибку классификации (т.е. определяем знак выхода, по знаку назначаем значение выхода сети и сравниваем результат с целевым свойством) и абсолютную ошибку(т.е. ошибку по разнице между целью и выходом сети без обработки).
3. Проверить ошибки обобщения для неиспользованной при обучении части выборки.
4. Подобрать размах нейрона для наиболее качественного решения задачи классификации (диапазон вариаций spreat установить как [0.1, 100] и проверить 5 вариантов параметра)
Эксперимент | |||||
<spreat – размах нейрона> | |||||
<Постоянные параметры – целевая ошибка и число примеров> | |||||
Ошибка обучения | |||||
Ошибка обобщения | |||||
Число нейронов – числу эпох - net.layers{1}.size | |||||
Примеров для теста |
Занести результаты в отчет.
Варианты
вариант | Примеры | Число признаков |
Класс 1, 2 | ||
Класс 2, 4 | ||
Класс 4, 3 | ||
Класс 2, 4 | ||
Класс 3, 4,2 | ||
Класс 3, 4, 1 | ||
Все классы | ||
Все классы |
Сравнить результаты работы с классификацией в многослойном перцептроне. Оценить проблемы обучения радиальной сети с шумом
Содержание отчета
1. описание модельных пространств и их изображение и функция нейрона
2. Таблица результатов обучения нейрона
3. выводы по итогам обучения нейрона в разных пространствах с разным шагом.
Вопросы для защиты
Литература
1. Уоссермен Ф. Нейрокомпьтерная техника: Теория и практика. – 1992.–109 с.
2. Комарцова Л.Г., Максимов А.В. Нейрокомпьютеры – М: Из-во МГТУ, 2004