1911
.pdf[net,y,E,pf,af] = adapt(net,p,T,pi); |
y |
|
|
y = |
|
|
|
[10.0043] |
[20.0018] |
[29.9992] |
[39.9977] |
Таким образом, линейные динамические нейронные сети могут быть адаптированы для решения задач фильтрации временных сигналов. Для сетей такого класса часто используется название
ADALINE (ADaptive LInear NEtwork) – адаптируемые линейные сети.
Порядоквыполненияработы
1. Для заданного преподавателем варианта задания (таблица) разработать адапт руемую линейную сеть в системе MATLAB, выполнить ее настройку с точностью 0,01 по выходному сигналу.
2. Выполн ть модел рование созданной адаптируемой линейной сети с векторами входа з о учающего множества и вычислить ошибки сети.
3. Осуществ ть моделирование настроенной нейронной сети для пяти новых наборов входных векторов и проверить правильность решения
задачи ф льтрац |
с гнала сетью. |
|
|
|||
4. Распечатать текст программы. |
|
|
||||
5. Составить отчет, который должен содержать : |
||||||
– |
цель работы; |
|
|
|
||
– структурную схему нейронной сети; |
|
|
||||
– ручной расчет настройки сети; |
|
|
||||
– |
текст программы результаты моделирования; |
|||||
– |
выводы. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Номер |
Количество ЛЗ – 2; количество нейронов – 1 |
|
||
|
|
Значения |
Начальные |
|
|
|
|
|
варианта |
Целевые выходы |
|
||
|
|
входов |
условия ЛЗ |
|
||
|
|
1 |
{4 5 6 7} |
{2 3} |
{10 15 20 25} |
|
|
|
2 |
{5 6 7 8} |
{3 4} |
{5 15 20 30} |
|
|
|
3 |
{6 7 8 9} |
{4 5} |
{0 10 20 30} |
|
|
|
4 |
{4 5 6 7} |
{2 3} |
{15 20 25 30} |
|
|
СибАДИ |
|
||||
|
|
5 |
{5 6 7 8} |
{3 4} |
{30 25 20 15} |
|
|
|
6 |
{6 7 8 9} |
{4 5} |
{30 20 10 0} |
|
|
|
7 |
{4 5 6 7} |
{2 3} |
{25 20 15 10} |
|
|
|
8 |
{5 6 7 8} |
{3 4} |
{25 15 20 30} |
|
|
|
9 |
{6 7 8 9} |
{4 5} |
{15 25 30 20} |
|
|
|
10 |
{3 4 5 6} |
{1 2} |
{20 30 25 15} |
|
51
Практическое занятие № 10
Построение нейросетевой модели с применением пакета MATLAB
Цель работы: научиться построению, обучению и использованию искусственной нейронной сети (ИНС) для предсказания сигналов.
СибАДИОсновные сведения
Пакет MATLAB позволяет создавать модель ИНС, поскольку в его состав вход т Neural Network Toolbox. Рассмотрим пример построен я, обучен я и использования ИНС, предсказывающей стационарный с гнал. Пусть задан гармонический сигнал с круговой частотой 4 π 1/с (2 Гц) длительностью 5 с. Дискретный сигнал Т получен в результате квантования исходного сигнала по времени с частотой 40 Гц (такт д скретности 0.025 с) (рис. 1)
>> time =0:0.025:5; T=sin(time*4*pi); >> stairs(time,T);
>> axis([0 5 –1 1]), xlabel(`time, c`), ylabel(`T`)
Рис. 1. График дискретного сигнала T
Требуется предсказать значение ук на выходе сети в момент tK , используя 5 последних значений сигнала Т в качестве входа. В математическом смысле это задача экстраполяции сигнала на один шаг вперед. С позиции теории нейронных сетей это задача настройки параметров и обучения сети.
52
СибАДИРис. 2. Архитектура полученной нейронной сети
Сформируем обучающее множество следующим образом. Входная последовательность Р1 определена на интервале от 0 до 1 с имеет длину Ql, a каждый вектор входа состоит из пяти компонентов, соответствующих запаздывающим значениям сигнала Т; целевой вектор Т1 сформирован из значений сигнала Т, начиная с шестого; контрольное подмножество Т2 формируется из значений сигнала Т на интервале от 3 до 5 с
>>Q= length(T); h= 0.025; Q1= 1/h;
>>P1= zeros(5,Q1);
>>P1(1,1:Q1)=T(1,1:Q1);
>>P1(2,2:Q1)=T(1,1:(Q1-1));
53
>>P1(3,3:Q1)=T(1,1:(Q1-2));
>>P1(4,4:Q1)=T(1,1:(Q1-3));
>>P1(5,5:Q1)=T(1,1:(Q1-4));
>>T1=T(1,6:(Q1+5)); T2=T(1,3/h:Q);
еть для решения этой задачи должна состоять из одного нейрона с пятью входами:
>> net= newlind(P1,T1); gensim(net) |
|
|
|
||
СибАДИ |
|||||
Результатом выполнения этой команды будет следующая |
|||||
нейронная сеть, арх тектура которой представлена SIMULINK- |
|||||
моделью р с 2. |
|
|
|
|
|
Выполн м |
проверку |
сети, |
используя |
входную |
|
последовательность обучающего подмножества |
сравнивая выход |
сети с факт ческ м значением сигнала Т
>> figure(1),clf, Q1=40; >> a= sim(net,P1(:,1:Q1)); >> t1=6:Q1+5;
>> plot(time(t1),a,'*r', time(1:Q1+5),T(1,1:Q1+5)) >> xlabel('Time, c');
>> grid on
Рис. 3. Проверка работы сети с обучающим подмножеством
Проверим теперь работу сети, используя контрольное множество Т2. Определим длину входной последовательности N1, равную 20, и построим реакцию сети:
>>N1=20;
>>Tt=T2(1,1:N1);
>>P2(1,: )=Tt(1,:);
>>P2(2,2:end)=Tt(1,1:end-1);
54
>> P2(3,3:end)=Tt(1,1:end-2); >> P2(4,4:end)=Tt(1,1:end-3); >> P2(5,5:end)=Tt(1,1:end-4); >> a=sim(net,P2);
>> figure(2),clf
>> h1=plot(time(1:size(P2,2)-5), a(1:end-5),`*`);hold on >> h2=plot(time(1:size(P2,2)-5), Tt(6:end),`r`); grid on
Рис. 4. Проверка ра оты сети с контрольным подмножеством
Как видно из приведенных на рис. 4 графиков, сформированная сеть достаточно точно отслеживает входной сигнал. Таким образом, полученная нейронная сеть свои функции выполняет.
Порядок выполнения работы
1. Для заданного преподавателем варианта создать модель НС, предсказывающей стационарный сигнал вида T=sin(2πNt)+2sin(πNt),
где |
N-номер |
варианта. |
Длительность |
сигнала |
выбрать |
самостоятельно. |
|
|
|
|
|
2. Выполнить моделирование созданной модели НС. |
|
||||
3. Распечатать текст программы. |
|
|
|||
4. Составить отчет, который должен содержать : |
|
||||
СибАДИ |
|||||
– |
цель работы; |
|
|
|
|
– |
структурную схему нейронной сети; |
|
|
||
– |
ручной расчет настройки сети; |
|
|
||
– |
текст программы и результаты моделирования; |
|
|||
– |
выводы. |
|
|
|
|
55
Библиографический список
1. Медведев, В.С. Нейронные сети / В.С. Медведев, В.Г. Потемкин. – М. : Диалог МИФИ, 2002.
2. Дьяконов, В.П. MATLAB 5.3.1 с |
пакетами расширений / |
В.П. Дьяконов, И.В. Абраменкова, В.В. Круглов. – М |
: Нолидж, 2001. |
3. Комашинский, В.И. Нейронные сети и их применение в системах СибАДИуправления связи / В. . Комашинский, Д.А. Смирнов. – М. : Горячая линия –
Телеком, 2002.
56