КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Код программы
Нейронная сеть Хопфилда в Matlab. Архитектура сети
По команде help hopfield можно получить следующую информацию об М-функциях, входящих в состав ППП Neural Network Toolbox и относящихся к построению модифицированных сетей Хопфилда:
Цель программы Сеть Элмана исследуется на примере такой задачи детектирования амплитуды гармонического сигнала. Пусть известно, что на вход нейронной сети поступают выборки из некоторого набора синусоид. Требуется выделить значения амплитуд этих синусоид.
%Требуется выделить значения амплитуд этих синусоид. %Далее рассматриваются выборки из набора двух синусоид с амплитудами 1.0 и 2.0: p1 = sin(1:20); p2 = sin(1:20)*2; %Целевые выходы сети являются векторы t1 = ones(1,20); t2 = ones(1,20)*2; %Сформированный набор векторов входа и целевых выходов p = [p1 p2 p1 p2]; t = [t1 t2 t1 t2]; %Сформирование обучающих последовательностей в виде массивов ячеек: Pseq = con2seq(p); Tseq = con2seq(t);
R = 1; % Число элементов входа S2 = 1;% Число нейронов выходного слоя S1 = 10; % Число нейронов рекуррентного слоя net = newelm([-2 2],[S1 S2],{'tansig','purelin'},'traingdx'); %Обучение сети
net.trainParam.epochs = 1000; %Максимальное количество эпох тренировки; net.trainParam.show = 25; %Количество эпох между графиками; net.trainParam.goal = 0.01; %Условие остановки по отклонению от эталона; [net,tr] = train(net,Pseq,Tseq); % Pseq и Tseq входные элементы
%Проверка сети %1 тестирование figure(2) a = sim(net,Pseq); time = 1:length(p); plot(time, t, '––', time, cat(2,a{:})) axis([1 80 0.8 2.2]) % график 1 %2 тестирование p3 = sin(1:20)*1.6; t3 = ones(1,20)*1.6; p4 = sin(1:20)*1.2; t4 = ones(1,20)*1.2; pg = [p3 p4 p3 p4]; tg = [t3 t4 t3 t4]; pgseq = con2seq(pg); figure(3) a = sim(net,pgseq); ime = 1:length(pg); plot(time, tg, '––', time, cat(2,a{:})) axis([1 80 0.8 2.2]) % график 2
Дата добавления: 2015-06-04; Просмотров: 776; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |