Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Теория программирования > Информационные технологии
Перезагрузить страницу функция обучения нейронной сети
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
skazzi skazzi вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.07.2011
По умолчанию функция обучения нейронной сети - 30.07.2011, 02:42

добрый день.
в справке матлаба написано «TRAIN вызывает функцию, которая задается NET.trainFcn, использующую параметры тренировки, задаваемые NET.trainParam»
как можно создать свою функцию тренировки? есть где-то понятно написано, какие у нее должны быть параметры и выходные данные? посмотрела как написаны стандартные из пакета — сложно без опыта разобраться в чужом коде..
спасибо
Ответить с цитированием
  (#2 (permalink)) Старый
Specialized Specialized вне форума
Member
 
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.11.2011
По умолчанию 21.11.2011, 10:19

Цитата:
Сообщение от skazzi Посмотреть сообщение
добрый день.
в справке матлаба написано «TRAIN вызывает функцию, которая задается NET.trainFcn, использующую параметры тренировки, задаваемые NET.trainParam»
как можно создать свою функцию тренировки? есть где-то понятно написано, какие у нее должны быть параметры и выходные данные? посмотрела как написаны стандартные из пакета — сложно без опыта разобраться в чужом коде..
спасибо
Не все так просто. Train - описывает методику тренировки. learn - алгоритм.
Работающих алгоритмов немного - наиболее известный минимизация среднеквадратической ошибки.
Проще Train определяет как используется learn.
Можете вовсе обойтись без Train. Используя встроенную learn, или определяя свою, что вы и хотели.

cpp Код:
% learnwh - Widrow-Hoff weight/bias learning function
 epochs = 500; % на 200 эпохах точного результата получить не удается
  w = zeros(1,16);
  b = 0;
 lp.lr = maxlinlr(P,'bias');
 sse = zeros(epochs+1,1);
 sse(1) = sum(sum((T-w*P-b).^2));
 
net = newlin( minmax(P),1);

for i=1:epochs
    q = fix(rand*6)+1;% просто тусуем в "случайном" порядке входные векторы
    p = P(:,q);
    t = T(:,q);
   % a = w*p+b;
    a = sim(net,p);
    e = t-a;
   
    %[dw,LW] = learnp(w,p,[],[],[],[],e,[],lp,[]);
    dw = learnwh([],p,[],[],[],t,e,[],[],[],lp,[]);
    db = learnwh (b,[1],[],[],[],t,e,[],[],[],lp,[]);
   
    w=w+dw;
    b=b+db;
   
    net.IW{1,1} = w;
    net.b{1} =  b;
    sse(i+1) = sum(sum((T-w*P-b).^2));
   
end

Написать свой алгоритм обучения - вот это вопрос.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кластеризация с помощью нейронной сети imported_enhancer Информационные технологии 1 16.02.2011 17:44
нужна система дистанционного обучения СДО Работа 0 10.02.2011 23:08
кластеризация с помощью нейронной сети imported_enhancer Задания за деньги 1 20.04.2010 22:54
Программа обучения таблице умножения Gock C++ Builder 6 31.03.2010 20:41
FireBug - отладчик и инструмент для обучения 12345 DHTML, JavaScript, VBScript 0 28.02.2007 21:10
Обучения слишком много? c++ Офтопик 4 01.05.2006 14:06
Задача обучения компьютера естественному языку. Dozer Prolog 6 03.02.2006 19:51
Проект online обучения SEugene Некоммерческие проекты 15 21.12.2005 11:41
Системы обучения нейронных сетей CyBurglar Информационные технологии 6 28.01.2005 10:56
Инструмент для обучения логическому программированию!!! J7 Prolog 24 24.12.2004 00:13
Начальные этапы обучения искусству программирования Anonymous Вопросы начинающих программистов 3 14.03.2003 13:50
Основы обучения языку программирования в Visual C++ Демон самоубийств Вопросы начинающих программистов 5 10.03.2003 17:27



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов