Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба перевод матлаб.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.07 Mб
Скачать

4.3 Изучаемые функции

Функции создания сети с радиальными базисными элементами.

net = newrb(P, T, goal, spread) – функция создания сети с радиальными базисными элементами. P – матрица входных векторов; T – матрица целевых векторов; goal – заданная среднеквадратическая ошибка; spread – отклонение (по умолчанию 1.0).

net = newrbe(P, T, spread) – функция создания сети с радиальными базисными элементами с нулевой ошибкой на обучающей выборке.

(Сети с радиальными базисными функциями обучаются в процессе создания).

Рисунок 11 – Комбинация радиальных базисных функций

4.4 Характеристики нс

net.layers{n}.size – число нейронов в n-том слое.

4.5 Порядок выполнения работы

4.5.1. Пример создания сети с радиальными базисными функциями для аппроксимации функции

Вида y = x2 на отрезке [-1, 1].

>> P = [-1 -0.8 -0.5 -0.2 0 0.1 0.3 0.6 0.9 1]; % Обучающие входные

>> T = [1 0.64 0.25 0.04 0 0.01 0.09 0.36 0.81 1]; % и выходные значения

>> net = newrbe(P,T); % Создание сети с нулевой ошибкой

>> Y = sim(net, [-0.9 -0.7 -0.3 0.4 0.8]) % Опрос сети на новых данных

Y = 0.8100 0.4900 0.0900 0.1600 0.6400

% Результат соответствует ожидаемому. Изобразим результат аппроксимации заданной функции сетью с радиальными базисными

элементами графически (см. рисунок 12)

>> plot(P,T,'*r'); hold on; grid on;

>> x=-1:0.1:1;

>> plot(x,sim(net,x))

% Узнаем количество радиальных

базисных элементов в скрытом слое:

>> net.layers{1}.size

ans = 10

Рисунок 12 – Аппроксимация функции y=x2

Количество радиальных базисных элементов совпадает с количеством обучающих данных.

4.5.2. Пример создания сети с радиальными базисными элементами для решения задачи регрессии . По опытным данным, приведенным в таблице 2.

Таблица 2 – Исходные опытные данные

X

-0,5

-0,5

-0,4

-0,3

-0,2

-0,2

-0,1

Y

1,5

1,2

1,2

2,3

3,1

2,2

1,1

X

0

0,1

0,2

0,3

0,3

0,3

0,4

Y

1,9

2,8

4,7

1,1

1,5

2,1

3,8

X

0,5

0,6

0,7

0,7

0,8

0,9

1

Y

7,9

8,7

7,5

7,1

7,3

1,5

1,9

% Вводим входные и целевые выходные значения:

>> P=[ -0.5 -0.5 -0.4 -0.3 -0.2 -0.2 -0.1 0 0.1 0.2 0.3 0.3 0.3 …

0.4 0.5 0.6 0.7 0.7 0.8 0.9 1];

>> T=[1.5 1.2 1.2 2.3 3.1 2.2 1.1 1.9 2.8 4.7 1.1 1.5 2.1 3.8 7.9 …

8.7 7.5 7.1 7.3 7.5 7.9];

>> plot(P,T,'*r'); hold on; grid on; % Наносим опытные данные на график

% Создаем НС с радиальными базисными элементами с точностью 0,02 и отклонением 0,5

>> net=newrb(P,T, 0.02, 0.5);

% Проверяем качество регрессии на графике (см. рисунок 13)

>> p = –0.5:0.1:1;

>> plot(p,sim(net,p));

% Обратите внимание на "выбросы" по краям диапазона

Рисунок 13 – Линия регрессии

% Создадим НС с измененными параметрами:

>> net1=newrb(P,T,0.02,1);

Графическая проверка качества регрессии (выполните самостоятельно) показывает, что новая сеть дает на границах диапазона более приемлемые значения, но хуже соответствует опытным точкам внутреннего диапазона. Таким образом, подбирая параметры создаваемой сети с радиальными базисными элементами, можно создать вариант НС, качество решения которой будет соответствовать требованиям исследования (создайте несколько сетей с различными вариантами параметров самостоятельно. Сравните результаты и сделайте выводы о значении параметров).

% Проведем опрос сети

>> sim(net, 0.05)

ans = 2.9528

Тапсырма

  1. НС для аппроксимации функции:

Вариант

1

2

3

Функция

4

5

6

7

8

9

10

2. Нейронную сеть для получения линии регрессии по опытным данным: