@vame

Как определять количество нейронов и слоев в нейронной сети?

У мены есть lstm сеть, в которую я посылаю 100 подготовленных стеков из 4 чисел и задача заключается, чтобы нейросеть научилась предугадывать последующие числа в след.стеке. Как мне можно понять или может как-то посчитать, сколько слоев и нейронов в них мне требуется задать, чтобы ей хватало для успешного обучения?
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 1
@GrKon
Это зависит от того что за процесс сидит в твоих 100 стеках по 4 числа. Судя по 100х4 ты пытаешься предсказать изменение курса на бирже.
1. Мое мнение - что для коротких интервалов это дело гиблое (совсем).
2. Делал лаболаторку на эту тему так что пробовал на зуб.

Если все таки хочешь попробовать - в общих чертах:
3. Для начала возьми от 10000 (лучше 100000) свечей (min, max, in, out) можно и val добавить для очистки совести .
4. найди и что-то сделай с временными дырами - просто так оставлять нельзя - сильно портит распределение данных
5. Разделить на train, val, test. Нормализуй. Организуй подачу данных для обучения скользящим окном шириной пусть 100 и шагом 1-10. (лучше использовать dataloader)
6. Для начала попробуй научить сеть предсказывать значение (лучше не следующее а через одно (+2) - если получится - будет шанс предсказать +3, +4 и т.п.
7. LSTM - 1-2 слоя по 5-500 нейронов, затем 1-3 полносвязных
8. Начинать с архитектуры попроще - если учится (лучше чем орел/решка) - добавлять нейроны-слои (по очереди) - пока не начнет переучиваться.
...
9. Максимально убирай абсолютные значения - а то сеть научится "базе" и будет имитировать предсказание. (Нормализация вещь нужная но здесь не поможет)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы