Создание нейронной сети в Матлаб. Проектирование нейросети в Matlab Neural Toolbox. Функция newff

Используя Матлаб можно очень быстро создать и обучить нейронную сеть практически на любой выборке. Обучается очень быстро и довольно точно! То что ниже сохранить как матлабовский файл (например neural.m):

%--------------------------------------------

function [TRAIN1, TRAIN2] = NeuralNet1()
clear;
[A] = csvread('oil.csv'); %чтение csv-файла
[m,n] = size(A); %размерность входного массива

[TRAIN1] = A(1:m); % входная серия, то есть первый столбец входного файла
[TRAIN2] = A(m+1:m*2); %выходная серия, в данном случае второй столбец

mx = max(TRAIN1); % максимальное значение входного ряда

TRAIN1 = TRAIN1/mx; % приводим входной ряд в единичный интервал
TRAIN2 = TRAIN2/mx; % приводим выходной ряд в единичный интервал

%for k=2:m-1 % в этом цикле делаем нормальную входную и выходную выборки для прогнозирования
% RYD_IN(k-1) = TRAIN1(k+1) - TRAIN1(k); % то есть делаем разность между К-м и К+1 - м значениями ряда
% RYD_OUT(k-1) = TRAIN2(k+1) - TRAIN2(k);
% NUM(k-1) = k-1;
%end

%net = newff(TRAIN1, TRAIN2, [10],{'trainlm'});

net = newff(TRAIN1, TRAIN2); % создаем нейронную сеть
net.trainParam.epochs = 200; % количество эпох для обучения
net = train(net, TRAIN1, TRAIN2); % собственно обучение нейросети

y1 = sim(net, TRAIN1); % имитация работы сети

c = y1 - TRAIN2; % разность между тем, что должно было быть и тем, что получилось

plot(c); % вывод графика того, что должно было быть и того что получилось

% если ниже расскоментировать, а предыдущую строчку закоментировать, то будет вывод в отдельных рядах

%subplot(2,1,1); plot(RYD_OUT)
%title('Real data')
%subplot(2,1,2); plot(y1)
%title('NN out')

% или можно выводить ошибку, если расскоментировать
%plot(c);
%--------------------------------------------

Символ % - означает комментирование в Матлаб. Соотвественно, чтобы получить разные представления графиков - раскомментировать поблочно в коде

Файл oil.csv, который читается в начале имеет следующую структуру:
16.44000,16.50000,16.18000,16.19000
16.35000,16.54000,16.20000,16.27000
16.25000,16.25000,16.01000,16.20000

Можно естесственно другой файл - главное, чтобы он был csv. Можно и другие форматы, только немного код изменить надо будет

Код работает на Matlab 2007b. В более старых версиях может не работать, т.к. есть подозрение, что файл newff.m видоизменялся.
Назад (нейросети) >>




 
Апшеронск Спорт VBA Форекс Сочи-2014 Нейросети Студентам
Краснодар
Новороссийск
Сочи
Армавир
Геленджик
Анапа
Туапсе
Тимашевск
Краснодарский край
Ростовская область
Ставропольский край
Кабардино-Балкария
Карачаево-Черкессия
Северная Осетия
Чечня
Абхазия

Связь с Администратором сайта, E-mail: apsheronka@mail.ru
Апшеронск, Краснодарский край

Размещение рекламы на сайте
Карта сайта

При перепечатке материалов сайта http://apsheronsk.bozo.ru - обязательная активная гиперссылка на сайт!


бурение скважин

80-best songs Лучшие фильмы