Realicemos este cálculo usando Python. En primer lugar importamos la librería NumPy y definimos la función sigmoide:
import numpy as np
def sigmoid(x):
return 1 / (1 + np.exp(-x))
Obsérvese en la función anterior que si x es un array NumPy, la función np.exp(x) se aplicará elemento por elemento.
Ahora definimos nuestras tres matrices:
x = np.array([3, 1]).reshape(2, 1)
x
array([[3],
[1]])
W = np.array([2, 1, -3, 4, -2, 5]).reshape(3, -1)
W
array([[ 2, 1],
[-3, 4],
[-2, 5]])
b = np.array([-1, 0, 3]).reshape(3, 1)
b
array([[-1],
[ 0],
[ 3]])
Por último, calculamos el producto de las matrices W y x, sumamos la matriz de bias b, y aplicamos al resultado la función sigmoide:
y = sigmoid(W.dot(x) + b)
y
array([[0.99752738],
[0.00669285],
[0.88079708]])
El resultado coincide con el que calculamos a mano (salvo por el redondeo, por supuesto).