Введём переменную значения ошибки — КиберПедия 

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Введём переменную значения ошибки

2024-02-15 21
Введём переменную значения ошибки 0.00 из 5.00 0 оценок
Заказать работу

Лек аяк жагы гана )))))))))))3лек Жандос Акжол

Лек Улфат Улпан

Жадыра Азамат

Молдир Муха

Жардем Асанали

Биржан Серик

2.3 Зертханалық жұмыстардың жоспары

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

Тақырыбы.    Биологиялық және  жасанды нейрон.

Жұмыс мақсаты: биологиялық және  жасанды нейронның құрылымын және жұмыс істеу принципін оқып үйрену.     

Әдiстемелiк   ұсыныстар .  

Жасанды нейроненгізілген сигналдар жиынтығы бойынша шығу сигналын есептейтін қарапайым процессор. Салмақ коэффициентi бар немесе салмағы бар енгізілетін сигналдар ойлап-пiшiлген (взвешенный) байланыстар бойынша жiберіледi.

Жасанды нейронның құрамын көбейткiштер (синапстар),  сумматорлар және түрлендiргiштер құрайды (жалпы жағдайда сызықты емес). Нейрондардың арасындағы байланыстарды синапстар жүзеге асырады және енгізілетін сигналдарды синапстың салмағына (бұл байланыстың күшін сипаттайтын сан) көбейтеді.  Синапстың байланыстары бойынша сырттан енгізілген сигналдардың және басқа нейрондардан түсетiн сигналдардың қосуын сумматор орындайды. Жалпы жағдайда сызықты емес   түрлендiргiш тек қана бiр аргументті сызықты емес функциясын жүзеге асырады - ол сумматордың шығуы ретінде алынады. Бұл функция активация  функциясы немесе нейронның берiлiс функциясы деп аталады. Негiзiнде нейрон векторлық аргументтің скалярлық функциясын жүзеге асырады. Нейронның математикалық үлгiсi келесі формулалармен анықталады:

1. Matlab-тың анықтама жүйесінде келтiрiлген нейронның  жұмыс істеу бағытымен танысыңыз   

D emo – Toolboxes – Neural Networks.

-  Simple neuron and transfer functions (қарапайым нейрон және беріліс функциялар);

-  Neuron with vector input (векторлық кірісі бар нейрон).

2.   Берiлiс функцияның нейронның шығу сигналының мәніне ықпалын талқыланыңыз ( 1 кесте).

3. Neural Networks Matlab-тағы активация функцияларымен танысыңыз.  

Жұмысты орындау тәртібі

1. 1 кестедегі келтірілген беріліс функциялардың графиктерін анықтаңыз.

2. 1-ші кестеде активацияның барлық функциялары үшiн енгізілетін және салмақтардың мәндері берілген, осы берілгендер үшін нейронның шығуын Excel – де есептеңiз. [-5,5] аралығында тиiстi жасанды нейронның схемасын бейнелеңiз. 

1 Кесте – Нейрондарды активациялау функцияларының тiзiмi

Функция атауы Формула сы Мәндер аумағы
1 Табалдырықты (Пороговая) hardlim (0, 1)
2 Таңбалық (Знаковая)  (сигнатурная) Hardlims (-1, 1)
3 Сигмоидальдық (логистическая) logsig (0, 1)
4 Жартылай сызықтық  (Полулинейная) poslin (0, ¥)
5 Сызықтық (Линейная) purelin (-¥, ¥)
6 Радиальді-базистік (Радиальная базисная ) (гауссова) radbas (0, 1)
7 Қанығумен жартылай сызықтық (Полулинейная с насыщением) satlin (0, 1)
8 Қанығумен сызықтық (Линейная с насыщением) satlins (-1, 1)
9 Гиперболалық тангенс (сигмоидальная) tansig (-1, 1)
10 Үш бұрышты (треугольная) tribas (0, 1)

  

Тапсырма варианттары

 

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Х W X W X W X W X W
0,7 -0,3 0,4 0,5 0,2 -2,1 0,3 0,6 0,6 0,8
0,1 3,1 0,9 -0,9 0,5 3,5 0,1 1,9 0,7 -0,9
0,3 0,5 0,1 2,6 0,6 -0,2 0,5 0,7 0,9 1,5

b=0,9

b=1,3

b= –0.5

b= 1,5

b= – 0,7

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10

X W X W X W X W X W
0,2 -1,1 0,2 -1,1 0,3 -1,5 0,5 0,2 0,1 1,8
0,5 0,8 0,5 0,8 0,7 2,4 1,1 2,1 1,7 -1,9
0,4 0,6 0,4 0,6 1,6 -3,2 1,9 0,3 2,9 0,5

b=0,4

b= –1

b=0,3

b= –2

b= – 1,7

 

3. Зерханалық жұмысында вариант бойынша берілгендерге барлық келтiрiлген Matlab-тың функцияларын орындаңыз.    

Әдебиет нег. 8 [4-5], қос. 15 [1-62]

Бақылау сұрақтары

1.  Биологиялық нейронның жұмыс істеу принципін және құрылымын сипаттаңыз. 

2. Активацияның математикалық функцияларын атап өтіңіз. Олардың формулаларын және графиктерін, мәндердiң өзгеру облысын   келтіріңіз.  

3.  Matlab Neural Networks –де активацияның қандай функциялары бар және активацияның функцияларының туындылары бар ма?

 

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

 

Тақырыбы.   Қарапайым нейрожелiлер.    Персептрондар  

2.1 Жұмыс мақсаты: Қарапайым нейрондық желілерді құруға және оларды пайдалануға үйрену. Нейрондық желімен жұмыс істеу үшiн графикалық функцияларын, қатенiң функцияларын, тағы басқа қосалқы функцияларын оқып білу және оларды қолданып практикалық дағдыларын алу.

2.2 Персептрондар

Нейрон, схема которого приведена на рисунке 2, называется нейроном персептронного типа, или просто персептроном. Как правило, персептроны имеют пороговую функцию активации. Нейронная сеть, состоящая из одного или нескольких слоев нейронов персептронного типа также называется персептроном.

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

Әдiстемелiк ұсыныстар

2.3 Зерттелетін функциялар.    Нейрондық желісін жасау функциясы.   

net = newp(PR, S, TF, LF) – персептронды құру функциясы. Персептрон  – нейрондардан тұратын бiр қабатты нейрондық желi, әдетте оларда белсендiлiктiң (активация) табалдырықты функциясы болады.   

Аргументтері: PR  -  R – кіріс элементтердiң ең төменгi және максимал мәндерiнен тұратын R х 2 матрицасы, S – нейрондар саны, TF – активацияны жасайтын функция, үнсіз бойынша  'hardlim', LF – оқыту функциясы, үнсіз бойынша  'learnp'.

Нейрондар қабаттарын баптау  

Функциялар қосалқы болып табылады және басқа функциялармен қолданылады.  

learnp(W, P, …) – персептронды оқыту алгоритімін жүзеге асыратын функциясы.

learnpn(W, P, …) – берілгендерді тұрақты ету әрекетімен персептронды үйретудің алгоритімін iске асыратын функция.

 Қателердiң функциялары.

mae(E) – желiнiң орташа абсолюттiқ қатесiн қайтарады. 

sse(E)  – желiнiң қателер квадраттарының қосындысын қайтарады.  

mse(E) – желiнiң орташа квадраттық ауытқуын қайтарады. 

Барлық функциялары үшiн E-нің аргументі – желiнiң қателерiнiң матрицасы  (T–Y), мұнда T – мақсаттық вектор, Y – желi модельдеуінің нәтижесі (опрос ).

 Графикалық функциялар.

hintonw(W, maxw, minw) – салмақтар матрицасының хинтоновтың графигiн қайтаратын функция, онда әрбір салмақ коэффициентi тiк төртбұрыштың түрiнде көрсетiледi, оның аланы осы коэффициенттiн шамасына пропорционалды болады. Таңба (знак) тiк төртбұрыштың түсiмен көрсетiледi.      

Аргументтер: W – салмақтар матрицасы, мiндеттi емес параметрлер maxw, minw – салмақтар матрицасының элементтерiнiң ең төменгi және ең жоғарғы мәндері.  

Hintonwb (W, b, maxw,minw) – ұқсас функция, бiрақ графикада салмақ ғана емес, (b) орын ауыстыру да көрсетiледi

plotpv(P,T) – персептронның P кіретін және T мақсаттық векторларының  график түрінде бейнесін қайтаратын функция.  

plotpc(W,b) – персептрон шешiмінiң сызық графигiн қайтаратын функция.   Аргументтер: W – салмақтар матрицасы , b –орын ауыстыру векторы. Рlotpv функциясымен бірге қолданылады.

Функция адаптации

[net, Y, E]=adapt(net, P, T) – выполняет адаптацию сети в соответствии с установками net.adaptFcn и net.adaptParam. Функция возвращает значения выходов Y и ошибку сети E. Аргументы: net – имя сети, P – входные векторы, T – выходные векторы.

Қолдануға арналған функциялар

Y=sim(net, P) – функция, моделирующая работу нейронной сети. Функция возвращает значения выходов Y. Аргументы: net – имя сети, P – ее входы.

gensim(net) – функция генерирует нейросетевой блок Simulink для последующего моделирования нейросети средствами этого пакета.

 Нейрондық желілердің сипаттамалары

adaptFcn - определяет функцию, используемую при адаптации НС.

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

IW – массив, определяющий веса от входов к слоям НС.

b – массив, определяющий векторы смещений слоев нейронов.

 

2.4 Жұмысты орындау тәртібі

Барлық деректерді үйретушi және тексеретін жиындарға бөлшектеңіз. Классификацияны өткізетін персептронды жасаңыз. Графиктер түрінде нейрожелінің жұмыс істеуін көрсетіңіз.  

2.4.1.  Demo-Toolboxes-Neural Networks-та классификация есебімен таңысу.    

- Decision boundaries (Граница решения).

Бірінші кластағы элементтерді ақ маркерлер белгілейді, қара – екіншіі. Диаграмма элементерін және шешу сызығын жылжытып қолданушы өзі қлассификация есептерін жасап шешімін алады. Ол үшін қойылған еепті шығарған кезде персептронның  параметрлері автоматты түрде өзгереді,.

- Perceptron learning rule ( персептронды ұйретудің ережелерін қолдану).

Ақ және қара маркерлерін тасымалдап жаңа есептерді құруға болады. Нәтижесін алу үшін келесі пернелер қолданылады: "Learn" – бірлік векторды қолданып персептронды ұйрету; "Train" –    5 дейін ұйрету циклін қайталау;  "Random" – кездейсоқ тәсілімен шешуді табу.  Ауытқумен және ауытқусыз персептрон нұсқаларын таңдауға болады   (Bias, No bias).

2.4.2.   Matlab-та классификацияны өткізе алатын персептронды құру мысалы

Мысал ретінде максимальдық жылдамдылығына және максимальдық ұшып шығу салмағына тәуелді бомба тастайтын және истребитель ұшақтарына қлассификациялауды өткізетін есебін рәсімдейміз және шешімін табамыз. Самолет туралы берілген деректерді диаграммаға түсіреміз    (3-сурет  ).

 Сызық арқылы бөлуді өткізетін есепті шешу қажет – провести прямую,  которая разделит плоскость на две полуплоскости таким образом, что все точки первого класса (истребители) будут принадлежать одной полуплоскости, а все точки второго класса (бомбардировщики) будут принадлежать другой полуплоскости.

Для решения разделим имеющиеся данные на две группы. Первую часть используем для обучения созданного персептрона (обучающая выборка).

 

 

Рисунок 3 ­– Данные двух классов на плоскости

Вторую – для проверки правильности его работы после обучения (тестовая выборка).

>> P=[0.1 0.3 0.3 0.6 0.5; % Задаем 5 входных векторов – координат (x, y)

        1 2 0.4 0.6 1.7]  %     пяти точек (обучающая выборка)

 

P = 0.1000 0.3000 0.3000 0.6000 0.5000

     1.0000 2.0000 0.4000 0.6000 1.7000

>> T=[0 0 1 1 0] % Задаем целевой вектор принадлежности точек классам

T =

0 0 1 1 0

Ø Выводим график (см. рисунок 4). Точки, принадлежащие одному классу, изображены крестиками, другому классу – кружками.

>> plotpv(P,T)   

Ø Создаем нейронную сеть, состоящую из одного персептрона с двумя входами

>> net=newp([0 1;0 2],1);  

Ø Попытаемся выдать линию решения. Но созданный персептрон пока имеет нулевые веса и не сможет справиться с задачей:

>> linehandle=plotpc(net.IW{1},net.b{1})

>> E=1;     

Введём переменную значения ошибки

 запустим функцию адаптации персептрона в цикле, пока ошибка не

Ø

 обратится в 0: 

>> while (sse(E))

[net,Y,E]=adapt(net,P,T);

linehandle = plotpc(net.IW{1},net.b{1}); drawnow;

end;

Ø Линию решения, разделяющую на класса точек, см. на рисунке 5 (линии, полученные в процессе обучения, не показаны).

Ø
Рисунок 5 – Линия решения
Проверяем работу адаптированной сети на тестовом множестве P1:

>> P1=[0.2 0.4 0.4 0.5 0.7;

          2 0.5 3 0.5 0.5]

P1 = 0.2000 0.4000 0.4000 0.5000 0.7000

        2.0000 0.5000 3.0000 0.5000 0.5000

 

>> sim(net,P1)

ans = 0 1 0 1 1  

% Сеть справилась с задачей классификации новых данных успешно.

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

Әдебиет нег. 8 [8--14], қос. 15 [1-62]

Бақылау сұрақтары

1.   Персептрон дегеніміз не? Сызық бойынша бөліп алатын есеп нені білдіреді?

2. Персептронды құруға, адаптациялауға және қолдануға арналған Matlab функцияларын келтіріңіз. 

3. Matlab-та нейрожелiнiң жұмыс сапасын қалай бағалауға болады? 

4. Matlab-та нейрожелілермен жұмыс істеу үшін қандай графикалық функциялары бар?  

Вариант 1                                                   Вариант 2

      Вариант 3                                                         Вариант 4

   

Вариант 5                                                    Вариант 6

 

 

                      Вариант 7                        Вариант 8

Вариант 9                                                                         Вариант 10

                                                        

            

 

 

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

 

Тақырыбы.   Көпқабатты нейрон дық желі

3.1 Жұмыс мақсаты: Matlab Neural Networks пакеттегі функциялар көмегімен қөпқабатты   нейрондық желіні құруға, оқытуға және пайдалануға үйрену.  

3.2 Алгоритм обратного распространения ошибки

Алгоритм обратного распространения используется для обучения многослойных сетей с последовательными связями (см. схему многослойной нейронной сети на рисунке 6)

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

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

Рисунок 6 – Многослойная нейронная сеть

 Әдiстемелiк ұсыныстар.

3.2 Нейрожелілік әдістің негізінде есепті шешу кезеңдері.

Нақты  есептiң шешiмiн алу үшiн нейрожелілік әдістің негізгі кезеңдері келесідей болады:  

1. Желiнi (жаттығу ) үйрету үшiн мәлiметтердi әзiрлеу .
2. Желіні жасау.
3. Желіні үйрету.
4. Желіні тестілеу.
5. Желіні модельдеу
 (Қойылған есептiң шешiмiн алу үшiн құрылған желіні пайдалану.)     

Көпқабатты нейрожеліні (НЖ) құру функциялары.

net = newff(PR, [S1 S2…SNI], {TF1 TF2…TFNI}, BTF, BLF, PF)  қателерді кері бағытпен тарату әдісі бойынша "классикалық" көпқабатты нейрожелісін құру,

PR– R - кіріс элементтердiң ең төменгi және максимал мәндерiнен тұратын R х 2 матрицасы,

Si – Ni қабаттар үшін i-ші жасырын қабаттын өлшемі,

Tfi – i-ші қабаттағы нейрондарды ақтивациялау үшін функция, үнсіз бойынша 'tansig',

BTF –желіні үйрету функциясы , үнсіз бойынша 'traingd',

BLF – салмақтар мен ауытқуны баптау функциясы, үнсіз бойынша 'learngdm',

PF – қатенiң функциясы, үнсіз бойынша 'mse'.

Нейрожеліні оқыту функциялары

[net, tr] = train(net, P, T) – net.trainFcn және net.trainParamнiң қойылымдарына сәйкес НЖ үйренуін жүзеге асыратын функция. tr – үйрету үрдісі орындалғаны туралы алынатын ақпарат (циклдер саны және оқытудың қателіктері). P – енгізілетін деректер массиві, T –шығарылатын мақсаттық мәндердің массиві.   

Қолданушы тiлегi бойынша берілген конфигурациямен НЖ-ні үйрететін алгоритмін орнатуға мүмкiндiк беретін қосалқы функциялар, мысалы: 

[net, tr] = traingd(net, …) – қателiктi керi бағытпен тарату алгоритмін  орындайтын функция.  

[net, tr] = trainbfg(net, …) – қателiктi керi бағытпен тарату квазиньютононның алгоритмін орындайтын оқыту функциясы.  

[net, tr] = trainrp(net, …) – қателiктi керi бағытпен тарату серпiмдi алгоритмін iске асыратын функция.

[net, tr] = trainlm(net, …) – Левенберг-Марквардтаның ықшамдау алгоритмін пайдаланып НЖ –нің салмақтарын және ауытқуларын қайтаратын функция.

3.6 Характеристики НС

net.performFcn - определяет функцию ошибки (оценки функционирования сети), например: net.performFcn = 'sse' .

net.trainParam –определяют параметры используемой функции обучения. Например:

net.trainParam.epochs = 20 задает количество циклов обучения, равное 20. По умолчанию net.trainParam.epochs = 100.

net.trainParam.goal = 0.005 задает ошибку сети, при которой обучение будет считаться законченным. По умолчанию net.trainParam.goal = 0.

net.trainFcn – определяет используемую функцию обучения сети, например:

net.trainFcn = 'traincgf'.

3.7 Работа с файлами НС

save 'путь\имя файла' net – запись НС net в файл, расположенный в указанном каталоге. Например:

save 'D:\Ns\nun' net

load 'путь\имя файла' – загрузка НС из указанного файла. Например:

load 'D:\Ns\nun'

path(path, 'Полное наименование каталога') – подключение указанного каталога к Matlab в качестве рабочего. По умолчанию все m-файлы ищутся только в текущем рабочем каталоге.

3.8 Функция оценки качества работы сети

[m, b, r] = postreg(A,T) – функция нахождения уравнения линейной регрессии между выходами НС и соответствующими целевыми значениями. Аргументы: A – массив фактических выходов сети, T – массив целевых векторов, m – коэффициент линейной регрессии, b – смещение, r – коэффициент корреляции (если r = 1, то результат моделирования сети можно считать идеальным).

3.9 Пример решения задачи с помощью многослойной нейронной сети

В качестве примера рассмотрим следующую задачу: имеется массив,

состоящий из значений функции , (S>0) на интервале (0,1).

Требуется создать нейронную сеть, такую, что при вводе этих значений на входы сети, на выходах получались бы значения параметров С, A и S.

3.10 Жұмысты орындау тәртібі 

Подготовка данных для обучения (тренировки) сети

Определим размерность входного массива. Выберем количество значений функции равным N = 21, т.е. в качестве входных векторов массива используем значения функции y в точках х = 0.05; …1.0. Для обучения сети необходимо сформировать массив входных векторов для различных наборов параметров С, A и S. Каждый набор этих параметров является целевым вектором для соответствующего входного вектора.

 Для подготовки входного и целевого массивов воспользуемся следующим алгоритмом. Выбираем случайным образом значения компонент целевого вектора С, A, S и вычисляем компоненты соответствующего входного вектора. Повторяем эту процедуру М раз и получаем массив входных векторов в виде матрицы NxM и массив целевых векторов в виде матрицы 3хМ.

Прежде чем приступать к формированию обучающих массивов необходимо определиться с некоторыми свойствами массивов.

1. Диапазон изменения параметров С, A, S. Выберем диапазоны изменения параметров C, A, S равными (0.1, 1). Значения, близкие к 0 и сам 0 исключим в связи с тем, что функция не определена при S=0. Второе ограничение связано с тем, что при использовании типичных передаточных функций желательно, чтобы компоненты входных и выходных векторов не выходили за пределы диапазона (-1,1) (обойти это ограничение позволяют методы нормирования данных).

2. Количество входных и эталонных векторов выберем равным М=100. Этого достаточно для обучения, причем сам процесс обучения не займет много времени.

Тестовые массивы и эталоны подготовим с помощью программы mas1. Программа mas1 создается в редакторе Matlab (File – New…–M-file) и записывается на диск для дальнейшего использования.

P = zeros(100,21);   % формирование входного массива P
T = zeros(3,100);    
% и целевого вектора T
x = 0:5.e-2:1;
for i =1:100
c = 0.9*rand+0.1;
a = 0.9*rand+0.1;
s = 0.9*rand+0.1;
T(1,i)=c;
T(2,i)=a;
T(3,i)=s;
P(i,:)=c*exp(-((x-a).^2/s));
end;
P=P';

С помощью этой программы формируется матрица P из M=100 входных вектор-столбцов, каждый из которых сформирован из 21 точки исходной функции со случайно выбранными значениями параметров C,A,S, и целевой матрицы T из 100 эталонных вектор-столбцов, каждый из которых сформирован из 3 соответствующих целевых значений. Матрицы P и T будут использованы при обучении сети.

Создание сети

Выбор архитектуры сети для решения конкретной задачи основывается на опыте разработчика. Предложенная архитектура сети является одним из возможных вариантов.

Для решения задачи сформируем трехслойную сеть, включающую 21 нейрон во входном слое (по числу компонент входного вектора) с функцией активации logsig, 15 нейронов во втором слое с функцией активации logsig и 3 нейрона в выходном слое (по числу компонентов выходного вектора) с функцией активации purelin. При этом в качестве обучающего алгоритма выбран алгоритм Levenberg-Marquardt (trainlm). Этот алгоритм обеспечивает быстрое обучение, но требует много ресурсов. Для обучения можно использовать также и другие алгоритмы (trainbfg, trainrp, trainscg, traincgb, traincgf и т.д.). Указанная сеть формируется с помощью функции:

net= newff( minmax( P), [21, 15, 3], {' logsig' ' logsig' ' purelin'}, ' trainlm');

Результатом выполнения функции newff является объект – нейронная сеть net заданной конфигурации.

Обучение сети

Следующий шаг – обучение созданной сети. Перед обучением необходимо задать параметры обучения. Задаем функцию оценки функционирования sse.

net.performFcn='sse';

В этом случае в качестве оценки (ошибки) вычисляется сумма квадратичных отклонений выходов сети от эталонов. Задаем критерий окончания обучения – значение отклонения, при котором обучение будет считаться законченным:

net.trainParam.goal=0.01;
Задаем максимальное количество циклов обучения. После того, как будет выполнено указанное количество циклов, обучение будет завершено:

net.trainParam.epochs=50;
Теперь можно начинать обучение сети:

[net,tr]=train(net,P,T);
Процесс обучения иллюстрируется графиком зависимости ошибки функционирования от номера цикла обучения (см. рисунок 7).

Рисунок 7 – График изменения ошибки при увеличении эпох обучения

-Обучение сети окончено. Обученную сеть можно сохранить в файле nn1.mat:

save nn1 net;

3.10.4. Тестирование сети . Перед тем, как воспользоваться нейронной сетью, необходимо исследовать степень достоверности результатов вычислений сети на тестовом массиве входных векторов. В качестве тестового массива необходимо использовать массив, компоненты которого отличаются от компонентов массива, использованного для обучения. В нашем случае для получения тестового массива достаточно воспользоваться еще раз программой mas1.

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

>> mas1;   % создание нового тестового массива P
>> y = sim(net,P); % обработка тестового массива сетью
>> [m,b,r] = postreg(y(1,:),T(1,:)); % анализ результатов работы сети.

Сравнение компонентов С целевых векторов с соответствующими компонентами выходных векторов сети показано на рисунке 8. Видно, что все точки легли на прямую, что говорит о правильной работе сети на тестовом массиве.

Аналогичные результаты получаем для двух других компонент целевого вектора:          

>> [m,b,r] = postreg(y(2,:),T(2,:));

           >> [m,b,r] = postreg(y(3,:),T(3,:));

Таким образом, сеть отлично решает поставленную задачу для всех трех выходных параметров. Сохраним обученную сеть net на диске в файл nn1.mat

Save nn1 net

  3.10.5. Моделирование сети (использование сети для решения задачи)

Чтобы применить обученную сеть для обработки данных, необходимо воспользоваться функцией Y=sim(net,p), где p – набор входных векторов, Y – результат анализа в виде набора выходных векторов. Например, пусть С = 0.2, A = 0.8, S = 0.7, тогда

p=0.2* exp(-(( x-0.8).^2/0.7));

p= p';
Y= sim( net, p)

Получаем:

Y = 0.2048 (C)
  0.8150 (A)
  0.7048 (S)
Результат весьма близок к правильному (0.2; 0.8; 07). Рисунок 8 – Анализ работы сети

 (0, 1) интервалында табылған Y-тың функциялардың мәндері бойынша A және C-тiң параметрлерiнiң мәнiн есептейтін көп қабатты нейрондық желіні құрыңыз және үйретіңіз  ( 0 ден 1 дейін диапазонында A және C мәндерінің өзгеруі мүмкін)    Жұмыс варианттары

Вариант 1 2 3
Функция

 

4 5 6 7

 

8 9 10

Бақылау сұрақтары Нейрожелілік әдістің негізгі кезеңдерін атап өтіңіз    Әр кезеңдегі жұмысты түсіндіріңіз.Қателерді кері бағытпен тарату алгоритмін сипаттап беріңіз?  Дәуiр дегеніміз не?

1. Қателiктi керi бағытпен  тарату  әдiсі бойынша нейрожеліні үйрету үшін    Matlab-тың қандай  функциялары арналған (жасау, үйрену, қолдану, бағалау)?

 

 

Лабораторная работа № 4


Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.178 с.