Ваше запитання досить широке, але ось кілька порад:
Для інформаційних мереж див. Це питання :
@ відповідь Дуга спрацювала на мене. Існує ще одне додаткове правило, яке допомагає вирішувати проблеми з навчанням. Верхня межа кількості прихованих нейронів, які не призведуть до надмірного прилягання:
Nh=Ns(α∗(Ni+No))
Ni = кількість вхідних нейронів. = кількість вихідних нейронів.
= кількість зразків у наборі даних про навчання. = довільний коефіцієнт масштабування, як правило, 2-10. Інші рекомендують
встановлювати на значення від 5 до 10, але я вважаю, що значення 2 часто працюватиме без надмірного розміщення. Як пояснюється цим відмінним текстом проекту NN , ви хочете обмежити кількість вільних параметрів у вашій моделі (її
ступінь або кількість ненульових ваг) лише невеликою часткою ступенів свободи ваших даних. Ступінь свободи у ваших даних - це кількість вибірок * ступенів свободи (розміри) у кожному зразку абоNoNsα
alphaNs∗(Ni+No)
(assuming they're all independent). So α is a way to indicate
how general you want your model to be, or how much you want to prevent
overfitting.
For an automated procedure you'd start with an alpha of 2 (twice as
many degrees of freedom in your training data as your model) and work
your way up to 10 if the error for training data is significantly
smaller than for the cross-validation data set.
And specifically on LSTM's, you might want to check out this.
But the main point: there is no rule for the amount of hidden nodes you should use, it is something you have to figure out for each case by trial and error.