Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МАТЛАБ.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
14.57 Кб
Скачать

4 Зертханалық жұмыс

            1. Радиалды базистік функциялары бар нс

(4 сағат)

4.1 Жұмыстың мақсаты: Аппроксимация мен регрессияның тапсырмаларын шешуге арналған радиалды базистік функциялары бар НС жасау және қолдану үшін тәжірибелік дағдылану.

4.2 Радиалды базистік функцялары бар торап

Радиалды базистік функциялары бар тораптарда кеңістікті гиперсфералармен бөлуге негізделген әдіс қолданылады. Әрбір нейрон-радиалды элементтің центрі (кейбір шеңбермен бөлінетін) және радиусы (қисықтың ауытқуымен бөлінетін) болады. Аналогия бойынша қарапайым радиалды элементтің нейронының центрі ретінде «салмақты», ал радиус ртінде «орын ауыстыруды» қарастыруға болады.

Радиалды базистік элементі бар НС бір аралық қабаты болады, ол радиалды элементтерден құралған және олардың әрқайсысы гиперсфераны және шығыс қабатын туындатады, олар активтенудің сызықтық элементтерінен құралады. Кез келген функцияны моделдеу үшін белгілі радиалды элемент мөлшерін алса жеткілікті.

Радиалды базистік элементі бар НС бірқатар артықшылықтары бар. Олар тек бір ғана аралық қабаттың көмегімен еркін функцияны моделдейді және перспептронды типтегі НС қарағанда тез ретке келтіріледі.

Радиалды базистік функциялары бар нейронның суммарлы кірісі үшін көрсетілуі қарапайым формалды нейронның суммарлы кірісінен ерекшеленеді (9 суретті қараңыз). Суреттегі элемент кіріс векторын р, бірқатарлы матрицаның салмақ кірісін w алады және олардың арасындағы евклидті қашықтықты естиді. Евклидті қашықтықты D X және Y екі векторнының арасында есептейді:

D = sum((x-y).^2).^0.5).

9 сурет– Радиалды базистік нейрон

10 Сурет – radbas активация функциясының графигі

Радиалды базистік функцияның аргументі 0 тең болғанда, 1 тең максимумға ие болады (10 суретті қараңыз).

w және p арасындағы қашықтық кемігенде, функцияның шығысы ұлғаяды. Осылайша, радиалды базистік нейрон детектор ретінде жұмыс істейді, ол 1 тек р кірісі w векторының салмағына тең болғанда береді. b орын ауыстыруы радиалды базистік нейронының сезімталдығын бағыттайды. Мысалы, егер нейронның орын ауыстыруы b=0,1 болса, онда ол шығысында w векторлық салмағына дейінгі қашықтық 8,33 (0,833/b) құрайтын кез келген р векторына 0,5 береді.

Қисық сызықты еркін функция радиалды базистік функцияның комбинациясымен аппроксимирленген болуы мүмкін:

,

мұндағы i(x) – радиалды базистік функция ( 11 суретті қараңыз).

>> x = –5:0.01:5; %%

>> plot(x,(1/4)*radbas(x+2)+radbas(x–1));.

4.3 Зерттелетін функциялар

Радиалды базистік элементтері бар тораптарды құру функциялары.

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

net = newrbe(P, T, spread) – оқытылатын таңдауда нолдік қателіктегі радиалды базистік элементтері бар торапты құру функциясы.

    1. (Радиалды базистік функциялары бар тораптар құру процесінде зерттеледі).

    2. 11Сурет – Радиалды базистік функциялардың комбинациясы

    3. 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. Тәжірибелік мәліметтерге сәйкес регрессия сызығын алу үшін нейрондық торап: