Về cơ bản nghĩ về L-BFGS như một cách tìm tối thiểu (cục bộ) của hàm mục tiêu, sử dụng các giá trị hàm mục tiêu và độ dốc của hàm mục tiêu. Mức mô tả đó bao gồm nhiều phương pháp tối ưu hóa ngoài L-BFGS. Bạn có thể đọc thêm về nó trong phần 7.2 của Nocedal và Wright "Tối ưu hóa số, phiên bản 2" http://www.springer.com/us/book/9780387303031 . Một cuộc thảo luận rất khó hiểu về L-BFGS được cung cấp tại https://en.wikipedia.org/wiki/Lrict-memory_BFGS .
Phương thức bậc nhất có nghĩa là độ dốc (đạo hàm đầu tiên) (và có thể các giá trị hàm mục tiêu) được sử dụng, nhưng không phải là Hessian (đạo hàm thứ hai). Ví dụ, nghĩ về độ dốc gốc và độ dốc cao nhất, trong số nhiều người khác.
Phương pháp bậc hai có nghĩa là độ dốc và Hessian được sử dụng (và có thể là các giá trị hàm mục tiêu). Phương pháp thứ hai có thể dựa trên
Ma trận Hessian "Chính xác" (hoặc khác biệt hữu hạn của độ dốc), trong trường hợp đó chúng được gọi là phương pháp Newton hoặc
Các phương pháp Quasi-Newton, gần đúng với Hessian dựa trên sự khác biệt của độ dốc qua một số lần lặp, bằng cách áp đặt điều kiện "secant" (Quasi-Newton). Có nhiều phương pháp Quasi-Newton khác nhau, ước tính Hessian theo những cách khác nhau. Một trong những phổ biến nhất là BFGS. Xấp xỉ BFGS Hessian có thể dựa trên toàn bộ lịch sử của độ dốc, trong trường hợp này được gọi là BFGS, hoặc nó chỉ có thể dựa trên các gradient m gần đây nhất, trong trường hợp đó được gọi là BFGS bộ nhớ giới hạn, viết tắt như L-BFGS. Ưu điểm của L-BFGS là chỉ yêu cầu giữ lại các gradient m gần đây nhất, trong đó m thường khoảng 10 đến 20, đây là yêu cầu lưu trữ nhỏ hơn nhiều so với n * (n + 1) / 2 yếu tố cần thiết để lưu trữ đầy đủ (tam giác) của ước tính Hessian, theo yêu cầu với BFGS, Trong đó n là chiều vấn đề. Không giống như (đầy đủ) BFGS, ước tính của Hessian không bao giờ được hình thành hoặc lưu trữ rõ ràng trong L-BFGS (mặc dù một số triển khai BFGS chỉ hình thành và cập nhật hệ số Choelsky của xấp xỉ Hessian, chứ không phải là xấp xỉ Hessian); thay vào đó, các tính toán sẽ được yêu cầu với ước tính của Hessian được thực hiện mà không hình thành rõ ràng. L-BFGS được sử dụng thay vì BFGS cho các vấn đề rất lớn (khi n rất lớn), nhưng có thể không hoạt động tốt như BFGS. Do đó, BFGS được ưa thích hơn L-BFGS khi các yêu cầu về bộ nhớ của BFGS có thể được đáp ứng. Mặt khác, hiệu suất L-BFGS có thể không kém hơn nhiều so với BFGS. ước tính của Hessian không bao giờ được hình thành hoặc lưu trữ rõ ràng trong L-BFGS (mặc dù một số triển khai BFGS chỉ hình thành và cập nhật yếu tố Choelsky của xấp xỉ Hessian, chứ không phải là xấp xỉ Hessian); thay vào đó, các tính toán sẽ được yêu cầu với ước tính của Hessian được thực hiện mà không hình thành rõ ràng. L-BFGS được sử dụng thay vì BFGS cho các vấn đề rất lớn (khi n rất lớn), nhưng có thể không hoạt động tốt như BFGS. Do đó, BFGS được ưa thích hơn L-BFGS khi các yêu cầu về bộ nhớ của BFGS có thể được đáp ứng. Mặt khác, hiệu suất L-BFGS có thể không kém hơn nhiều so với BFGS. ước tính của Hessian không bao giờ được hình thành hoặc lưu trữ rõ ràng trong L-BFGS (mặc dù một số triển khai BFGS chỉ hình thành và cập nhật yếu tố Choelsky của xấp xỉ Hessian, chứ không phải là xấp xỉ Hessian); thay vào đó, các tính toán sẽ được yêu cầu với ước tính của Hessian được thực hiện mà không hình thành rõ ràng. L-BFGS được sử dụng thay vì BFGS cho các vấn đề rất lớn (khi n rất lớn), nhưng có thể không hoạt động tốt như BFGS. Do đó, BFGS được ưa thích hơn L-BFGS khi các yêu cầu về bộ nhớ của BFGS có thể được đáp ứng. Mặt khác, hiệu suất L-BFGS có thể không kém hơn nhiều so với BFGS. các tính toán sẽ được yêu cầu với ước tính của Hessian được thực hiện mà không hình thành rõ ràng. L-BFGS được sử dụng thay vì BFGS cho các vấn đề rất lớn (khi n rất lớn), nhưng có thể không hoạt động tốt như BFGS. Do đó, BFGS được ưa thích hơn L-BFGS khi các yêu cầu về bộ nhớ của BFGS có thể được đáp ứng. Mặt khác, hiệu suất L-BFGS có thể không kém hơn nhiều so với BFGS. các tính toán sẽ được yêu cầu với ước tính của Hessian được thực hiện mà không hình thành rõ ràng. L-BFGS được sử dụng thay vì BFGS cho các vấn đề rất lớn (khi n rất lớn), nhưng có thể không hoạt động tốt như BFGS. Do đó, BFGS được ưa thích hơn L-BFGS khi các yêu cầu về bộ nhớ của BFGS có thể được đáp ứng. Mặt khác, hiệu suất L-BFGS có thể không kém hơn nhiều so với BFGS.
Ngay cả ở cấp độ mô tả này, có rất nhiều biến thể. Ví dụ, các phương thức có thể hoàn toàn không được bảo vệ, trong trường hợp bất cứ điều gì xảy ra, và chúng có thể không hội tụ đến bất cứ điều gì, ngay cả trên các vấn đề lồi. Hoặc họ có thể được bảo vệ. Các phương pháp được bảo vệ thường dựa trên các vùng tin cậy hoặc tìm kiếm dòng và có nghĩa là để đảm bảo hội tụ đến một cái gì đó. Rất quan trọng, chỉ cần biết rằng một phương thức là L-BFGS không tự nó cho bạn biết loại bảo vệ nào, nếu có, được sử dụng. Nó giống như nói rằng một chiếc xe hơi là một chiếc xe 4 cửa - nhưng tất nhiên không phải tất cả các dòng xe 4 cửa đều giống nhau về hiệu suất hoặc độ tin cậy. Nó chỉ là một thuộc tính của một thuật toán tối ưu hóa.