Tại sao cần phải giảm độ dốc?


9

Khi chúng ta có thể phân biệt hàm chi phí và tìm các tham số bằng cách giải các phương trình thu được thông qua sự khác biệt một phần đối với mọi tham số và tìm ra hàm chi phí ở mức tối thiểu. Ngoài ra tôi nghĩ có thể tìm thấy nhiều nơi có đạo hàm bằng 0, do đó chúng ta có thể kiểm tra tất cả các vị trí đó và có thể tìm thấy cực tiểu toàn cầu

Tại sao độ dốc giảm dần được thực hiện thay thế?


2
Làm thế nào để một cách tổng quát đặt các đạo hàm thành 0 cho một hàm? Với các thuật toán, chẳng hạn như độ dốc gốc.
Vách đá AB

3
Bạn có thể nghĩ về độ dốc gốc là phương pháp được sử dụng để giải các phương trình mà bạn đang đề cập đến. Nếu bạn có niềm tin rằng bạn có thể giải quyết một cách tổng quát các phương trình như vậy bằng thao tác đại số thông minh, tôi mời bạn hãy thử làm như vậy để hồi quy logistic.
Matthew Drury



bạn không thể giải quyết mọi thứ một cách phân tích. Ngay cả khi bạn có thể, nếu có nói, số lượng không thể đếm được, thì bạn sẽ mất nhiều thời gian để kiểm tra tất cả các điểm quan trọng.
Pinocchio

Câu trả lời:


7

Ngay cả trong trường hợp, giả sử, các mô hình tuyến tính, nơi bạn có một giải pháp phân tích, vẫn có thể tốt nhất là sử dụng một bộ giải lặp như vậy.

Ví dụ, nếu chúng ta xem xét hồi quy tuyến tính, giải pháp rõ ràng yêu cầu đảo ngược một ma trận có độ phức tạp . Điều này trở nên cấm trong bối cảnh dữ liệu lớn.O(N3)

Ngoài ra, rất nhiều vấn đề trong học máy là lồi, vì vậy sử dụng độ dốc đảm bảo rằng chúng ta sẽ đi đến cực đoan.

Như đã chỉ ra, vẫn còn các vấn đề không lồi có liên quan, như mạng thần kinh, trong đó các phương thức gradient (backpropagation) cung cấp một bộ giải hiệu quả. Một lần nữa điều này đặc biệt có liên quan cho trường hợp học sâu.


2
Đảo ngược một ma trận là một chút của một người rơm ở đây vì phân tách QR với xoay vòng một phần chính xác hơn và nhanh hơn, nhưng vâng, QR vẫn là . Tôi đồng ý rằng đối với các hệ thống đủ lớn (ví dụ:> 10.000 biến) có thể bắt đầu trở thành vấn đề. Cách tiếp cận hiện đại, công nghệ cao là để tính gần đúng giải pháp với các phương pháp không gian con Krylov lặp lại (ví dụ: gradient liên hợp, GMRES). O(n3)
Matthew Gunn

1
Một điểm mà một số người có thể thấy khó hiểu là làm thế nào để giải quyết một hệ thống tuyến tính là một vấn đề tối ưu hóa? Câu trả lời tất nhiên là việc giải một hệ thống tuyến tính có thể được quy định là tối thiểu hóa một mục tiêu bậc hai. Một số phương pháp lặp để giải các hệ thống tuyến tính dễ hiểu hơn từ góc độ chúng đang giảm thiểu một mục tiêu bậc hai theo kiểu lặp. (Ví dụ: hướng bước không gian con của phương pháp không gian con Krylov dựa trên độ dốc ... nó liên quan một cách lỏng lẻo với độ dốc gốc.)
Matthew Gunn

12

Gradient không cần thiết. Hóa ra độ dốc gốc thường là một thuật toán tối ưu hóa kém hiệu quả khủng khiếp! Đối với các phương pháp lặp, thường có thể tìm thấy một hướng tốt hơn để di chuyển hơn là nơi dốc nhất.

Đó là một chút của một câu trả lời lật mặc dù. Câu hỏi của bạn thực sự nên là, "tại sao chúng ta cần phương pháp lặp?" Ví dụ. tại sao không đi thẳng vào giải pháp nếu vấn đề là lồi, điều kiện của Slater và các điều kiện đặt hàng đầu tiên là điều kiện cần và đủ cho tối ưu? Đó là, khi giải pháp có thể được mô tả là giải pháp cho một hệ phương trình, tại sao không đơn giản là giải hệ? Câu trả lời là:

  • Đối với bài toán tối ưu bậc hai, điều kiện bậc nhất là một hệ phương trình tuyến tính và chúng ta có thể đi gần như trực tiếp đến lời giải vì các hệ tuyến tính có thể được giải một cách hiệu quả! Chúng ta sử dụng các điều kiện đặt hàng đầu tiên và giải quyết hệ thống (ví dụ. Với QR phân hủy, báo trước dưới đây).
  • Tuy nhiên, nhìn chung, các điều kiện bậc nhất xác định một hệ phương trình phi tuyến tính và hệ phi tuyến tính có thể khá khó giải! Trên thực tế, cách bạn thường giải một hệ phương trình phi tuyến tính bằng số là bạn định dạng lại nó như một bài toán tối ưu hóa ...
  • Đối với các hệ thống tuyến tính cực lớn , việc giải quyết hệ thống trực tiếp bằng phân tách QR và xoay vòng một phần trở nên không khả thi. Mọi người làm gì?! Phương pháp lặp! (ví dụ: các phương thức không gian con Krylov lặp ...)

7

Trong phép tính 101, chúng ta đã học về cách tối ưu hóa hàm bằng "phương pháp phân tích": chúng ta chỉ cần lấy đạo hàm của hàm chi phí và đặt đạo hàm thành 0 sau đó giải phương trình. Đây thực sự là một vấn đề đồ chơi và gần như sẽ không bao giờ xảy ra trong thế giới thực.

x7+x352+ex+log(x+x2)+1/x=0x=1.4786, nhưng không biết giải pháp phân tích). Chúng ta phải sử dụng một số phương pháp số (kiểm tra tại sao ở đây về các trường hợp đa thức Abel Ruffin Định lý ).

f(x)=x2x=0x=1.1234×1020

f(x1,x2)=x12+x22+|x1+x2|(1,1)4.0(x1,x2)x1 x2xy(1,1)(3,3)α=0.001(0.003,0.003)1,1(0.997,0.997)


thêm thông tin có thể được tìm thấy trong bài liên quan
Haitao Du

4

Cách tiếp cận mà bạn đề cập chỉ có thể được sử dụng để giải một tập hợp các phương trình tuyến tính, ví dụ trong trường hợp hồi quy tuyến tính, nhưng nói để giải một tập các phương trình phi tuyến tính, trong trường hợp như mạng nơ ron có kích hoạt sigmoid, giảm độ dốc là cách tiếp cận để đi cho. Do đó, Gradient Descent là một cách tiếp cận chung hơn.

Ngay cả đối với các phương trình tuyến tính, kích thước của các ma trận được đưa ra bởi tập hợp các phương trình tuyến tính i rất lớn và có thể khó ràng buộc yêu cầu bộ nhớ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.