Библиотеки: Класс нейронной сети MLP - страница 2

 
elibrarius:

Сравнивая результаты обучения таблице умножения ваша сеть заметно проигрывает. На ALGLIB сеть 2,5,1 за 100 эпох обучения (https://www.mql5.com/ru/forum/8265/page2) дает лучшие ответы, чем ваша с 1000000 эпохами. Скорость вычисления 1000000 эпох тоже не радует.

Видимо метод обучения не очень эффективный. Но все равно - спасибо за работу, в малом коде легче разобраться, чем в ALGLIB. Но потом все же надо туда переходить.

не верное сравнение, в варианте алглиба все 100 примеров показаны для обучения, потому и правильнее ответы. думаю если в алгибе урезать варианты примеров с ответами то результаты не будут лучше.

 

Привет, очень ценю то, что вы нашли время, чтобы сделать эту родную библиотеку!

Я попробовал сделать одно горячее кодирование и добавил relu в скрытый и функцию Softmax в вызов выходного слоя. Это работает и дает 100% результат.

Но обучение испортилось, даже при переключении обратно на Sigmoud, неужели iRprop не подходит для классификации? Он дает практически один и тот же результат независимо от входных данных. Иногда меняется, но не сильно.


Второй вопрос, я вижу, что Tanh и Sigmod обрабатываются по-разному в методе Lern, я пока не понимаю эту часть кода, но какой из них подходит для Relu?

 
Спасибо за этот удивительный вклад... Не могли бы вы объяснить, как я могу определить разрешенную ошибку?
 
northedan:
Спасибо за этот удивительный вклад... Не могли бы вы объяснить, как я могу определить разрешенную ошибку?
//+------------------------------------------------------------------+
//| Узнать|
//+------------------------------------------------------------------+
void CNetMLP::Learn(int c_npat,       // количество учебных моделей
                    double &c_inp[],  // входные данные
                    double &c_res[],  // выходные данные
                    int c_nep,        // количество эпох обучения
                    double c_err)     // допустимая погрешность