In [1]:
import numpy as np
In [2]:
x = np.array([3, 2])
y = 1
In [3]:
def fz(z):
    return 1/(1+np.e**(-z))
In [4]:
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
In [5]:
sgd(x, y)
Out[5]:
(array([0.15, 0.1 ]), 0.05)
In [ ]:
 
In [ ]: