Мне необходимо решить обратную задачу практически дифференцировать функцию. Такая задача некоректная в силу того что при малых искажениях во входной функции Выходная (дифференциал) будет искажена многократно. Решил иcпользовать нейросети. При сильном разбросе входных образов ошибка достигает 10-20%. То есть сеть не может дифференцировать А в некотором роде занимается классификацией. Также сеть не может распознать выских частот и сглаживает их.
Как решить данную проблему ? может изменить алгоритм обучения ? Мне необходима точность дифференцирования до 0.5%. Причем при зашумлении данных тоже необходима высокая точность. Возможно ли что сеть заходит в локальный минимум ?
Либо такая задача принципиально не подходит для нейросетей чтобы решать ее с такой точностью ?
А как ты формируешь обучающую выборку?... Какие данные используешь? Учишь на зашумленных данных?....
Может стоить (если это еще не предпринято):
1) так как ты говоришь о дифференцировании... стало быть, имеешь дело с непрерывной функцией... По этому резонно увеличить число задержанных значений выхода исходной функции... причем не на одно или два... а на ... ну скажем на 10...
2) Попытайся включить во входной вектор нейросети аргументы исходной функции... как текущие, так и задержанные... Так сеть сможет в своей структуре реализовать нечто похожее на нейросетевую модель твой функции...
... а вообще-то... все зависит от твоей исходной функции... от ее вида и свойств.... от уровня и вида шума... А дифференцировать сеть может... но лишь если эту операцию возможно выполнить исходя из тех данных, которые она получает на вход... Одно время я занимался похожим вопросом... использовал не сети... но очень похожие структуры... так у меня порой требовались сотни задержанных значений.... как по входу так и по выходу... Вот такие вот дела...