2015-09-30 2 views
0

Можно ли вычислить функцию f(x) = sqr(x) с использованием opencvANN? Мне нужно обучить мой ann, используя набор целых чисел и их квадратные значения.Как использовать opencv ann для вычисления выходного сигнала функции

Мне нужно получить квадратное значение целого числа как результат от ann model.

Если мы сможем сделать это с помощью opencv ann, то каким будет число входных нейронов, выходных нейронов и как указать классы и т. Д. ??

ответ

0

Вы упомянули спецификацию класса, но я не думаю, что это проблема категоризации классов. Я думаю, что было бы лучше рассматривать вход как X, а выход - как sqr (X). Тогда это становится проблемой аппроксимации общей функции.

Однако существует проблема с этой конкретной проблемой. Нейронные сети плохо подходят для функций с неограниченным вводом/выводом. Выход нейронной сети обычно ограничен диапазоном его функции активации, а входное значение обычно масштабируется до некоторого разумного диапазона. Предполагая, что вы используете активацию по умолчанию (симметричный сигмоид), ваш выход ограничен (-1, 1). Если у вас ограниченный диапазон целых чисел, которые вы хотите использовать, вы все равно можете это сделать, но вам придется масштабировать входы и выходы соответственно.

Если вы используете этот метод, то будет один входной узел и один выходной узел, соответствующий масштабированным версиям X и sqr (X) соответственно. OpenCV будет пытаться позаботиться о масштабировании для вас автоматически. Вероятно, вам лучше доверять этому, ЕСЛИ вы планируете предоставлять несколько разных наборов данных обучения. Различные наборы могут иметь разные распределения, следовательно, различный масштаб.

Смежные вопросы