4. Thuật toán giảm đạo hàm (Gradient Descent) copy
Xét hàm số f:Rn→R và bài toán tối ưu minxf(x).
Giả sử nghiệm tối ưu của bài toán trên đạt được tại x∗ là f(x∗)=f∗=minxf(x)
Thuật toán Gradient Descent giúp ta tính gần đúng giá trị x∗.
Bước 1: Chọn giá trị khởi tạo x0∈Rn.
Bước 2: Thực hiện dãy lặp:
x(k)=x(k−1)+αk∇f(x(k−1)),k=1,2,3,...
Trong đó, αk là bước nhảy của thuật toán, có thể thay đổi theo từng bước hoặc cố định tùy yêu cầu.
Giả sử f lồi và khả vi, ∇f(x) liên tục Lipschitz với hằng số L>0, nghĩa là:
∥∇f(x)−∇f(y)∥2≤L∥x−y∥2,∀x,y
Khi đó, với bước nhảy α<L cố định, sai số tại mỗi bước nhảy được đánh giá bởi công thức:
f(x(k))−f∗≤2αk1x(0)−x∗22
▸ VÍ DỤ
Cho hàm f(x)=x2. Hãy áp dụng 3 bước đầu của thuật toán Gradient Descent
với x0=4 và bước nhảy α=0.25