Получение ошибки (numpy .ndarray не вызывается) при поиске производной сигмоидной функции - PullRequest
1 голос
/ 26 мая 2020

Я новичок в нейтральной сети и пытался найти производную от сигмовидной функции. Пожалуйста, помогите мне исправить эту ошибку. Мой код похож на;

import numpy as np

def sigmoid_derivative (x):

a=1/np.exp(x) +1

s=1/a

ds=s(1-s) 

return ds  

x = np.array ([1, 2, 3 ])

print ("sigmoid_derivative (x) =" + str (sigmoid_derivative (x)))

Вывод: Ошибка, numpy .ndarray не вызывается.

Ответы [ 3 ]

0 голосов
/ 26 мая 2020

Вам не хватает оператора умножения:

ds= s * (1-s) 
0 голосов
/ 26 мая 2020

Во-первых, вы ошиблись в сигмовидной функции.

Я предлагаю примерно следующее:

def sigmoid(x):
    return 1.0 / (1.0 + np.exp(-x))


def sigmoid_derivative(x):
    return sigmoid(x) * (1 - sigmoid(x))

Вот ссылка, которая поможет вам лучше понять: Производная сигмовидной функции

0 голосов
/ 26 мая 2020

в строке ds=s(1-s) вы вызываете numpy .ndarray s с параметром 1-s, я думаю, вам нужно ds=s * (1-s)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...