Gradient descent cho hồi quy tuyến tính

Trung bình

AIgradient descenttối ưu4 test · 12 giây · sai số 1e-5

Huấn luyện ŷ = Xw + b bằng gradient descent trên MSE, xuất phát từ w = 0, b = 0. Mỗi bước (dùng cả tập dữ liệu):

  • e = Xw + b − y
  • ∂L/∂w = (2/n) Xᵀe, ∂L/∂b = (2/n) Σ e
  • w ← w − lr·∂L/∂w, b ← b − lr·∂L/∂b

Lặp đúng steps bước và trả về [b, w₁, …, w_d].

Viết hàm

gradient_descent(X, y, lr, steps)

Tham số

  • X: ma trận (n, d)
  • y: mảng (n,)
  • lr: tốc độ học
  • steps: số bước

Trả về

Mảng (d + 1,).

Ví dụ

Tham số

X = [[1],[2]]
y = [2,4]
lr = 0.1
steps = 1

Kết quả

[0.6,1.0]

1 bước: w = 2, b = 1.2

Tham số

X = [[0],[1],[2]]
y = [1,3,5]
lr = 0.1
steps = 200

Kết quả

[1.000002962,1.999997865]

Hội tụ gần b = 1, w = 2

Bài tiếp theo: Accuracy, Precision, Recall, F1 →

Python · NumPy

Bấm “Chạy thử” để gọi gradient_descent() với 2 ví dụ trong đề và so sánh kết quả. Dùng print() thoải mái để gỡ lỗi.