Выходной слой моей нейронной сети (3 слоя) использует сигмоид в качестве активации, которая выводит только в диапазоне [0-1]. Однако, если я хочу обучить его для выходных данных, выходящих за пределы [0-1], скажем, в тысячах, что мне делать?
Например, если я хочу тренироваться
ввод ----> вывод
0 0 ------> 0
0 1 ------> 1000
1000 1 ----> 1
1 1 -------> 0
Моя программа работает для AND, OR, XOR и т. д. Поскольку ввод-вывод все в двоичном формате.
Были некоторые предложения по использованию,
Активация:
y = lambda*(abs(x)1/(1+exp(-1(x))))
Производная активации:
лямбда*(абс(у)у(1-у))
Это не сходится для упомянутого шаблона обучения (если я не сделал ничего плохого). Есть какие-нибудь предложения, пожалуйста?