Рыночный этикет или правила хорошего тона на минном поле - страница 28

 
YDzh писал(а) >>

Нейронная сеть, 13 входных сигналов, без скрытого слоя. Тренировка генетическим алгоритмом

Круто, YDzh!

У меня результаты гораздо скромнее. Нужно тебе на демо ставить и смотреть на чём сетка срежется.

paralocus писал(а) >>

Neutron, похоже ты был прав насчет 25 отсчетов готовности... -:)

Что-то у меня сеть не учится. После 100 эпох веса практически те же, которыми сеть была инициализирована.

В связи с этим еще один глупый вопрос:

В каждой эпохе обучающй вектор один и тот же или нет?

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

Наверное, ошибка в коде. Нужно выискиваться. Я для этого сетку сначала в Маткаде гоняю, в нём удобно всю динамику обучения отлеживать с любой детальностью, да и статистику набирать гораздо легче. Я для сравнения результативности обучения, набираю независимую статистику из 100 экспериментов (по обучаемости, по предсказанию) и только статусреднённые величины сравниваю.

Что касается обучающего вектора, то он конечно разный на каждой эпохе. Но разный по-особому - тот же, но сдвинутый влево каждый раз на один шаг, а место нулевого элемента занимает новый отсчёт и т.д.

P.S. Исследую сейчас разбивку ВР равномерным шагом, так у меня получается, что от эпохи к эпохе лучше рандормировать все веса и полностью переобучать сетку, а не сохранять приобретённые знания. Возможно это особенность используемых входных данных. Я хочу подчеркнуть, paralocus, насколько важно самостоятельно проверять всё в бою - веса медлено растут? - Так поставь перед полученной суммой постоянный коэффициент = 10 и только следи, что бы они в разнос не пошли!

 
Neutron >>:

Наверное, ошибка в коде. Нужно выискиваться. Я для этого сетку сначала в Маткаде гоняю, в нём удобно всю динамику обучения отлеживать с любой детальностью, да и статистику набирать гораздо легче. Я для сравнения результативности обучения, набираю независимую статистику из 100 экспериментов (по обучаемости, по предсказанию) и только статусреднённые величины сравниваю.

Что касается обучающего вектора, то он конечно разный на каждой эпохе. Но разный по-особому - тот же, но сдвинутый влево на один шаг, а место нулевого элемента занимает новый отсчёт и т.д.

Код рою со вчерашнего дня. Вроде все вылизал, перепроверил, частью переписал, чтобы упростить. Сейчас все пишется и читается строго как нужно.

А вот ветора коррекции после каждой эпохи нужно обнулять? По-моему причина в этом. Насчет сдвига вектора на шаг вперед понял - делаю.

 

Ну, конечно нужно!

Все счётчики к началу нового обучения (эпохи) обнуляются.

 

А маткад освоить сложно?

Хоть я его и боюсь, но кажись придется разбираться...

 
Neutron >>:

Я хочу подчеркнуть, paralocus, насколько важно самостоятельно проверять всё в бою - веса медлено растут? - Так поставь перед полученной суммой постоянный коэффициент = 10 и только следи, что бы они в разнос не пошли!

Необходимость самостоятельной проверки для меня самоочевидна, хотя роста весов в этой реализациия пока не наблюдал. Насчет того, куда поставить 10 - пока не понял.

Кстати, если ранломировать веса в начале каждой эпохи это будет равносильно использованию всего одной эпохи. Очень похоже на правду, т.к. за N эпох приращение вектора ошибки становится пренебрежительно малым, а лишних ресурсов персонального компа у нас нет.

 
Neutron писал(а) >>

Круто, YDzh!

У меня результаты гораздо скромнее. Нужно тебе на демо ставить и смотреть на чём сетка срежется.

У меня с этим одна банальная проблема - нет компа, который постоянно включен... Надо будет попробовать на более коротких таймфреймах - а то анализ ошибок затянется на полгода :)

 
paralocus писал(а) >>

А маткад освоить сложно?

...

самый простой язык програмирования, некоторые даже не считают его языком. Чаще всего как видиш формулу написанной в книге так и пишеш её в маткаде.

единственное надо помнить маткад это работа с матрицами. Даже простое число у маткада это матрица. Я считаю его (маткад) верхом эволюции языков програмирования. другие даже рядом не стоят.

 
Prival >>:

самый простой язык програмирования, некоторые даже не считают его языком. Чаще всего как видиш формулу написанной в книге так и пишеш её в маткаде.

единственное надо помнить маткад это работа с матрицами. Даже простое число у маткада это матрица. Я считаю его (маткад) верхом эволюции языков програмирования. другие даже рядом не стоят.

Спасибо Prival !

Рад тебя видеть! -:)

 
paralocus писал(а) >>

В каждой эпохе обучающй вектор один и тот же или нет?

Я прогнался отвечая тебе на этот вопрос в предыдущем посту - имел в виду прогнознового отсчёта, а не новой эпохи. В пределах обучения на новом отсчёте мы имеем всго один обучающий вектор и сотню обучающих эпох с коррекцией весов НС в каждой эпохе!

Поступил новый отсчёт - меняется обучающий вектор и снова на нём прогоняем сотню эпох обучения и т.д.

Прости. Я уже путаюсь сам.

paralocus писал(а) >>

А маткад освоить сложно?

Хоть я его и боюсь, но кажись придется разбираться...

Нет, легкотня полная. Ставь себе 2001i Pro

 
paralocus писал(а) >>

Спасибо Prival !

Рад тебя видеть! -:)

Да я тут все время очень внимательно эту ветку читаю. Но многое не понимаю из-за терминов. Синапсы, эпохи …и т.д.

Нужно время что бы разобраться, лучше конечно делать это с учителем (будет быстрее). Но пока не получается. Готовлю пока данные для проверки идеи, её идею думаю проверять через НС. Вот тогда придет время разбираться, что там и как в ней программировать нужно. Пока только знаю (думаю что знаю) какие данные ей нужно подавать на вход и на что нужно обучать.

Я работаю с Маткадом 14 там есть несколько более удобных фишек чем в 2001i