Shayan Project

Hello, your compute has virus


import matplotlib.pyplot as plt

xi = [0, 1, 2, 3, 4, 5, 6, 7]
yi = [1.86, 5.63, 12.42, 17.58, 21.15, 28.49, 33.48, 37.26]
a = b = loss = dloss_a = dloss_b = 0
learning_rate = 0.001
loss_history = []

for _ in range(500):
    loss =dloss_a=dloss_b= 0
    for i in range(len(xi)):
        y = a * xi[i] + b
        loss = loss + (yi[i] - y) ** 2
        dloss_a += -2 * xi[i] * (yi[i] - y)
        dloss_b += -2 * (yi[i] - y)
    a = a - learning_rate * dloss_a
    b = b - learning_rate * dloss_b
    loss_history.append(loss)
print(a, b)

plt.plot(range(500), loss_history, label='Loss')
plt.xlabel('Iteration')
plt.ylabel('Loss')
plt.title('Loss vs. Iteration')
plt.legend()
plt.grid(True)
plt.show()