Cho hàm bậc hai f(x) = a*x^2 + b*x + c. Đạo hàm là f'(x) = 2*a*x + b.
Thực hiện gradient descent xuất phát từ x0 với learning rate lr trong n bước:
x <- x - lr * f'(x)
In ra giá trị x sau n bước.
x = x0.n lần: x = x - lr * (2*a*x + b).x.Với a=1, b=0, c=0, x0=10, lr=0.1, n=1: f'(10)=20, x = 10 - 0.1*20 = 8.000000.
Dòng 1: ba số thực a b c. Dòng 2: x0 lr (số thực). Dòng 3: số nguyên n.
-100 <= a,b,c,x0 <= 100, a != 0, 0 < lr <= 1, 0 <= n <= 100000.
Một dòng: giá trị x sau n bước. Số thực in với định dạng {:.6f} (6 chữ số thập phân).
Ví dụ:
Đầu vào:
1 0 0
10 0.1
1
Đầu ra:
8.000000
Giải thích:
Đang tải editor...