Я использую NumPy для практики градиентного спуска по линейной регрессии. Вот мой процесс градиентного спуска:
def batch_gradient_descent(data_points, initial_b, initial_W, lr, iterations):
b = initial_b
W = initial_W
for i in range(iterations): # Calcultes Gradient Descent for n-iterations.
b, W = gradient_step(b, W, data_points, lr)
current_cost = cost(b, W, data_points)
# plt.figure(figsize=(8, 4))
# plt.plot(i, current_cost, linewidth=1)
# plt.xlabel("iteration")
# plt.ylabel("log(L)")
# plt.title("log(L) After "+str(i)+"th iteration")
plt.show()
return [b, W]
Мне нужно использовать matplotlib для построения всего лишь двух цифр:
ось X- это i, а ось y - это логарифмическое значение (стоимость) в соответствии с каждым i.
ось x - это i, а ось y - это кривая каждые значение элемента в W, которое является вектором 5 * 1. Таким образом, на этом рисунке будет 5 строк.
Кстати, общее число итераций равно 200, что означает, что диапазон значений по оси x должен быть 0 - 200.
Мое оригинальное решение прокомментировано в коде, но на самом деле оно изображает множество цифр, которые выглядят так:
![enter image description here](https://i.stack.imgur.com/kyDRt.png)
Как правильно это сделать?