import numpy as np
x = np.array([[2104, 3], [1600, 3], [2400, 3], [1416, 2], [3000, 4]])
t = np.array([400, 330, 369, 232, 540])
alpha = 0.1
theta0 = np.random.random()
theta1 = np.random.random()
theta2 = np.random.random()
theta = np.array([theta1, theta2])
eps = 1e-4
e0 = 9
e1 = 9
e2 = 9
i = 0
while e0 >= eps or e1 >= eps or e2 >= eps:
e0 = (np.sum((x[i, 0:1] * theta[i])) + theta0 * 1 - t[i])
e1 = e0 * x[i, 0]
e2 = e0 * x[i, 1]
theta0 = theta0 - alpha * e0
theta1 = theta1 - alpha * e1
theta2 = theta2 - alpha * e2
i += 1
print(theta0, theta1, theta2)
2021-09-03
最新推荐文章于 2021-09-05 18:13:11 发布