Я пытаюсь аппроксимировать функцию sine() с помощью нейронной сети, которую я написал сам. Я уже тестировал свою нейронную сеть по простой проблеме OCR, и это сработало, но у меня возникли проблемы с ее применением для аппроксимации синуса(). Моя проблема заключается в том, что во время обучения моя ошибка сходится ровно на 50%, поэтому я предполагаю, что она полностью случайна.
Я использую один входной нейрон для ввода (от 0 до PI) и один выходной нейрон для результата. У меня есть один скрытый слой, в котором я могу варьировать количество нейронов, но в настоящее время я пытаюсь использовать 6-10.
У меня такое чувство, потому что я использую функцию передачи сигмоида (которая является требованием в моем приложении), которая выводит только от 0 до 1, тогда как выход для синуса() находится между -1 и 1. Для попробуйте исправить это, я попытался умножить результат на 2, а затем вычесть 1, но это не устранило проблему. Я думаю, что я должен кое-что сделать, чтобы сделать эту работу.
Любые идеи?