math.js derivative работает не правильно
Я делаю простую нейросеть, и для нее мне нужна функция активации и ее производная.
Есть два поля ввода: f(x) и f'(x)
Пользователь вводит f(x), например: 1/(1 + exp(-x)). Программа автоматически вставляет в f'(x) результат данного кода:
math.string(math.derivative(here is our f(x), 'x'))
Я получаю это:
exp(-x) / (exp(-x) + 1) ^ 2
Но ожидаю это:
x*(1-x)
И моя нейросеть не обучается.
Она работает идеально с x*(1-x), поэтому я думаю что проблема в производной которую генерирует math.js derivative. Что не так?
Ответы (1 шт):
Ошибка все же была в моем коде.
Я должен был активировать значение нейрона непосредственно перед использованием: f(neurone.value)*connection но вместо этого сохранял в значении нейрона на самом деле значение пропущенное через функцию активации: neurone.value = f(neurone.value) и потом neurone.value*connection
Итог: x*(1 - x) на самом деле был f(x)*(1 - f(x))