Это довольно популярно в эти дни, чтобы просто использовать число пересмотра Подрывной деятельности.
Хотя на вопрос уже ответили, позвольте мне обмениваться своим опытом. Я пытался приблизить Синусоидальную функцию с помощью 1 - 4 - 1 нейронная сеть. т.е., И подобный Вашему случаю, мне не разрешают использовать API высокого уровня как TensorFlow. Кроме того, я обязан использовать C++ по Python3! (BTW, я главным образом предпочитаю C++).
я использовал Сигмовидный активация и ее производная, определенная как:
double sigmoid(double x)
{
return 1.0f / (1.0f + exp(-x));
}
double Sigmoid_derivative(double x)
{
return x * (1.0f - x);
}
И это - то, что я получил после 10 000 эпох , обучение сеть на [1 116] 20 Учебных Примеров .
Как, Вы видите, сеть не чувствовала себя подобно отрицательной кривой. Так, я изменил функцию активации на [1 117] Tanh.
double tanh(double x)
{
return (exp(x)-exp(-x))/(exp(x)+exp(-x));
}
double tanh_derivative(double x)
{
return 1.0f - x*x ;
}
И удивительно, после половины эпох, (т.е. 5000 ), я получил намного лучшую кривую. И все мы знаем, что это значительно изменит к лучшему использование более скрытых нейронов, больше эпох и лучше (и больше) учебный пример. Кроме того, перестановка данных важна также!