import numpy as np
x = np.array([3, 2])
y = 1
def fz(z):
return 1/(1+np.e**(-z))
def sgd(x, y, eta=0.1):
w = np.zeros_like(x)
b = 0
z = np.sum(w*x, axis=0) + b
gradw = (fz(z) - y) * x
gradb = (fz(z) - y)
neww = w - eta * gradw
newb = b - eta * gradb
return neww, newb
sgd(x, y)
(array([0.15, 0.1 ]), 0.05)