Примеры: Рецепты нейросетей - страница 2

 
pxx:

Автору респект за статью.

Только не понял фразу "Например, если вес изменяется от 0 до 1 с шагом 0,01, то нам понадобиться 100 шагов. Для 5 весов это будет 5100 комбинаций."

Может, имелось ввиду "100^5" (100 в степени 5)?

да, в тексте ошибка. она возникла, когда я скопировал всё из ворда. Верхние индексы не поддержались.

Правильно 5^100 .... и дальше по тексту 5^10

 

Тоже получил удовольствие от прочтения, но после сборки приложения и попытки его выполнить нарвался на странность, программе нужен еще один файл

MA25_15.bar. Скрипт его не генерирует:((, а автор как-то умолчал о нем. Неувязочка :)). Получается никто дальше чтения не пошел, а жаль!

Исправил скрипт, добавил формирование файла.

   // В функцию start перед return(0);
   FileName = ИмяФайла+".bar"; 
   // проверяем наличие файла
   hFile = FileOpen(FileName, FILE_READ|FILE_BIN);
   if (hFile!=-1)
   {
       	if (MessageBox("Файл "+FileName+" существует. Перезаписать?", "Предупреждение!", MB_YESNO|MB_ICONQUESTION)==IDNO)
	return(0); // если отказались от перезаписи, то выходим
   }
   // создаем файл
   hFile = FileOpen(FileName, FILE_WRITE|FILE_BIN);
   FileSeek(hFile, 0, SEEK_END);
   // вызываем процедурку
   SaveBars();    // задали параметры бара
   FileClose(hFile); 
// ----------------------------
// И соот-ц-ноо, процедурка
//------------------------------------------------------------------ CreateBars
void SaveBars() // создаем массив цен для каждого бара
{
   Comment("Составляем массив баров");
   FileSeek(hFile, 0, SEEK_END);
   int i;
   for (i=NUM_BAR; i>0; i--) // проходим по барам
   {
	FileWriteDouble(hFile, Open[i]);
	FileWriteDouble(hFile, High[i]);
	FileWriteDouble(hFile, Low[i]);
	FileWriteDouble(hFile, Close[i]); // :7))
   }
}

Правда в коде С++ нашел упоминание только о том, что bar[3] - это цена закрытия бара, поэтому не обессутьте, если есть ошибка.

Далее запустил генератор весов, получил странную картинку:))

Хотелось бы услышать автора, что он об этом думает.

С праздником, мужчины, однако!

 

Прочитал статью несколько раз, вроде бы писал понимающий человек, правда настораживает ссылка на бредятину г-на Решетова.

Алексей, а можно получить ссылку на исходный непокареженный С++ код? В Вашем варианте даже слоя Кохонена нет. :((

 
Owner:

Прочитал статью несколько раз, вроде бы писал понимающий человек, правда настораживает ссылка на бредятину г-на Решетова.

Алексей, а можно получить ссылку на исходный непокареженный С++ код? В Вашем варианте даже слоя Кохонена нет. :((

А зачем тебе C++ код? Чужой код на C++ хуже чем дебри Амазонки! Подключи пакет MATLAB к своему проекту и нет проблем, в нем есть все! Или еще вариант спроси Google, но будь готов к потерянной недели, а может и дви на понимание чужого кода, под нескочаемой прогонкой под отладчиком. Мне кажеться, что автор статьи раскрыл тему польностью, тут важна идея.
 
!CreateBarHistory.mq4
 
Zebra:
Спасибо за статью, в каком пакете компилировать С++ код? Почему-то в VisualStudio2005 не получается...

Проект сделан в 6 или 7 MSVC-e .. просьба у кого установлена 7-ка, скинуть готовую dll-ку без дебугинфы есно.
 
Valio:
Zebra:
Спасибо за статью, в каком пакете компилировать С++ код? Почему-то в VisualStudio2005 не получается...

Проект сделан в 6 или 7 MSVC-e .. просьба у кого установлена 7-ка, скинуть готовую dll-ку без дебугинфы есно.

У меня вообще не загружалось в 6, пришлось подкорректировать первую строчку файла проекта Better1.dsp  (посмотреть, как она выглядит на своих проектах) После чего проект загрузился, правда там автор намеренно искорёжил тексты,  пришлось в каждую строчку вникать. Да и слоя Коханнена там нет, только заготовки под него. Реально там есть код с пороговым преодолением и обратным распространением коррекции ошибки. Не смотря на это - автору огромное спасибо.  

 
В формуле Out=S(x)=1/1+e^-x переменная x - это значение входного вектора (если да, то, если вектор не одномерный, значение берется оси абцис, или ординат?), или это значение с выхода последнего слоя сети?
 
4OPT:

автор намеренно искорёжил тексты,  пришлось в каждую строчку вникать.

а какой смысл мне это делать да и еще намеренно. вероятно у вас тексты сами полезли, когда вы правили dsp файл. Проект сделан на VC++ 6.0

Да и слоя Коханнена там нет, только заготовки под него.

Слой кохонена там есть и в придачу к нем же все те алгоритмы оптимизации про которые идет речь в статье. 

 
Burgunsky:
В формуле Out=S(x)=1/1+e^-x переменная x - это значение входного вектора (если да, то, если вектор не одномерный, значение берется оси абцис, или ординат?), или это значение с выхода последнего слоя сети?

S(x) - это сжимающая функция. x в данной формуле это сумма произведений весовых коэфициентов на соответсвующие этим нейронам входам. 

помотрите на рисунок 1.  х~Ki. 

Причина обращения: