Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нейронные сети на каких данных обучать (https://javascript.ru/forum/misc/75841-nejjronnye-seti-na-kakikh-dannykh-obuchat.html)

grigandal 11.11.2018 12:44

Нейронные сети на каких данных обучать
 
Есть некоторая гистограмма. Хочу обучить нейронную сеть предугадывать, уйдет ли эта гистограмма сильно положительном или отрицательном направлении (в момент, когда столбцы гистограммы близки к 0 или меняют знак)

В нейронках опыта не так много, поэтому что-то мог делать не правильно.

Примеры гистограммы:

Пример гистограммы 1
Пример гистограммы 2

Как видно, они относительно плавные.

У меня есть возможность обучить нейронку обычным обратным распространением ошибки, а так же генетическим алгоритмом, примерно как обучают тут, только еще добавил комбинирование весов (там только комбинирование сдвигов функции активации)

Я пытался обучить так:

Нейронная сеть - персептрон, по слоям - 4, 6, 3, 2

На входы:
  1. Абсолютный максимум всех столбцов, взятых по модулю;
  2. Максимум (по модулю) из наиболее длинной знакопостоянной последовательности столбцов;
  3. Среднее столбцов (все по модулю), взятых по модулю из той же знакопостоянной последовательности;
  4. Среднее из одного-двух-трех (по выбору) столбцов НЕ ПО МОДУЛЮ из того момента, в котором как раз требуется определить, уйдет ли гистограмма (ЕДИНСТВЕННОЕ ЗНАЧЕНИЕ, ИМЕЮЩЕЕ ЗНАК);
Каждый вход, плюс ко всему, делится на среднее ВСЕХ столбцов, взятых по модулю, чтобы для различных гистограмм они были примерно одного порядка.

На выходах хочу получить:
  • [1,0] - Гистограмма уйдет вверх
  • [0,1] - Гистограмма уйдет вниз
  • [0,0] - В данный момент гистограмма не уйдет никуда
После обучения тестирую - результат с переменным успехом, даже слишком неточно

Какие могут быть способы улучшить результат?


Часовой пояс GMT +3, время: 23:29.