Khi chúng ta cập nhật điểm tối ưu ban đầu bằng công thức (2.53), chúng ta mong muốn hàm đặc trưng sẽ giảm tại mỗi bước lặp, hay:
(2.55)
Ta sẽ chọn một hướng pk sao cho với tốc độ học đủ nhỏ, và có thể thực hiện "xuống đồi" (downhill). Xét chuỗi Taylor mở rộng ở công thức (2.10) của hàm F(x) theo giá trị xk:
(2.56)
Trong đó gk là giá trị của gradient tại điểm xk:
(2.57)
Để F(xk+1) nhỏ hơn F(xk), thành phần thứ 2 trong công thức (2.56) phải âm:
(2.58)
Chúng ta sẽ chọn một nhỏ nhưng phải lớn hơn 0. Ta sẽ có: (2.59)
Một véctơ pk thỏa m•n công thức này được gọi là một hướng xuống dốc. Hàm sẽ giảm nếu chúng ta
thực hiện một số bước đủ nhỏ trong hướng này. Tuy nhiên để chọn hướng sao cho hàm giảm ở hầu
hết các bước lặp thì hầu hết phải âm. Đây là tích trong giữa gradient và véctơ hướng, . Nó sẽ hầu hết âm khi véctơ hướng là trái dấu với gradient. Vì vậy một véctơ là một hướng sao trong thực hiện xuống dốc từng bước là:
(2.60)
Sử dụng công thức này trong mỗi bước lặp của công thức (2.53) sẽ cho ta phương pháp xuống dốc
từng bước:
(2.61)
Với phương pháp này chúng tôi đưa ra hai phương pháp để xác định tốc độ học, . Một cách tiếp cận là tối thiểu hàm đặc trưng thực hiện F(x) với từng riêng biệt tại mỗi bước lặp. Trong trường hợp này chúng ta đang thực hiện tối thiểu theo đường thẳng:
(2.62)
Các phương pháp chọn là sử dụng một giá trị cố định (ví dụ = 0.02), hoặc thay đổi, nhưng giá trị phải
được quy định trước (ví dụ = 1/k). Xét ví dụ cho sự lựa chọn như sau. Thực hiện áp dụng phương pháp xuống dốc từng bước đối với hàm sau: ,
Xuất phát với điểm ban đầu
Bước thứ nhất ta có gradient là:
Giả sử chúng ta sử dụng tốc độ học cố định =0.01. Thuật toán thay đổi ở bước lặp thứ nhất sẽ là:
ở bước lặp thứ 2 sẽ là:
Nếu chúng ta tiếp tục các bước lặp ta sẽ được quỹ đạo tìm kiếm như hình vẽ sau.
Hình 2.63- Quỹ đạo tìm kiếm với =0.01
Ô tròn thể hiện các điểm tìm kiếm tại mỗi bước lặp. Tuy nhiên nếu chúng ta thay đổi tốc độ học thì
Hình 2.64- Quỹ đạo tìm kiếm với =0.035
Chúng ta muốn chọn tốc độ học lớn với hi vọng thuật toán hội tụ nhanh hơn (việc tìm kiếm cần ít
bước lặp hơn). Tuy nhiên qua ví dụ này ta thấy tốc độ học lớn quá thì thuật toán sẽ trở nên không ổn
định. Sẽ không có một lựa chọn tốc độ học tối đa cho phép đối với mọi hàm, nhưng đối với hàm bậc 2 chúng ta có thể đặt giới hạn trên cho tốc độ học .
Xét tốc độ học ổn định
Giả sử hàm đặc trưng thực hiện là một hàm bậc 2 như sau:
(2.65)
Theo công thức (2.38) ta tính gradient của hàm là: (2.66)
Thay vào công thức của thuật toán xuống dốc từng bước (2.61) ta được:
(2.67) hay
(2.68)
Đây là một hệ động tuyến tính, nó sẽổn định nếu các trị riêng của ma trận có độ lớn nhỏ hơn 1. Chúng ta có thể biểu diễn các trị riêng của ma trận này thành các thành phần của trị riêng của ma trận
Hessian A. Đặt và là các trị riêng và véctơ riêng của ma trận Hessian, thì ta có:
(2.69)
Vì thế các véctơ riêng của giống với các véctơ riêng của A, và các trị riêng của là . Điều kiện cho sự ổn định của thuật toán xuống dốc từng bước sẽ là:
(2.70)
Nếu chúng ta giả thiết rằng hàm bậc 2 có một điểm cực tiểu mạnh thì các trị riêng của nó phải là
những số dương, khi đó công thức (2.70) sẽ trở thành
(2.71)
Điều này phải đúng với tất cả các trị riêng của ma trận Hessian nên ta sẽ có
(2.72)
Tốc độ học ổn định tối đa tỷ lệ nghịch với độ cong lớn nhất của hàm bậc 2. Độ cong của hàm cho ta thấy độ nhanh của sự thay đổi gradient. Nếu gradient thay đổi quá nhanh chúng ta có thể nhảy qua
khỏi điểm cực tiểu mà ở đó gradient sẽ lớn hơn rất nhiều so với điểm trước đó. Điều này dẫn đến
việc tăng số lượng các bước lặp của thuật toán.
Xét ví dụở trên ta có ma trận Hessian của hàm bậc hai là
Các véctơ riêng và trị riêng của A là
Ta có tốc độ học tối đa cho phép là
Kết quá này sẽ được minh họa trong hình sau với 2 tốc độ học khác nhau là và .
Hình 2.73- Quỹ đạo tìm kiếm với ?=0.039 và ?=0.041
Cực tiểu theo một đường thẳng
Một cách tiếp cận khác cho việc chọn tốc độ học để cực tiểu hàm đặc trưng thực hiện với các khác
nhau tại mỗi bước lặp. Nói một cách khác, chọn để cực tiểu
Đối với hàm bậc 2 chúng ta có thể thực hiện cực tiểu tuyến tính theo giải tích. Đạo hàm riêng của hàm (2.74) đối với các được tính như sau:
(2.75)
Nếu ta đặt đạo hàm này bằng 0 và tính cho ta được
(2.76)
Trong đó Ak là ma trận Hessian được tính tại bước lặp trước đó với xk: (2.77)