import numpy as np
global w0, w1, w2, g0, g1, g2, a
w0 = 0
w1 = 0
w2 = 0
g0 = 1
g1 = 1
g2 = 1
a = 0.01
def mysum(x1, x2):
return w0 + w1 * x1 + w2 * x2
if __name__ == '__main__':
x1 = np.array([2.104, 1.600, 2.400, 1.416, 3.000])
x2 = np.array([3, 3, 3, 2, 4])
t = np.array([4.00, 3.30, 3.69, 2.32, 5.40])
for i in range(1000):
w0 = w0 - a * (mysum(x1[i % 5], x2[i % 5]) - t[i % 5])
g0 = (mysum(x1[i % 5], x2[i % 5]) - t[i % 5])
w1 = w1 - a * (mysum(x1[i % 5], x2[i % 5]) - t[i % 5]) * x1[i % 5]
g1 = (mysum(x1[i % 5], x2[i % 5]) - t[i % 5]) * x1[i % 5]
w2 = w2 - a * (mysum(x1[i % 5], x2[i % 5]) - t[i % 5]) * x2[i % 5]
g2 = (mysum(x1[i % 5], x2[i % 5]) - t[i % 5]) * x2[i % 5]
while abs(g0) < a and abs(g1) < a and abs(g2) < a:
print(g0, g1, g2)
break