Hàm giảm dần so với hàm lm () trong R?


13

Tôi đang xem qua các video trong khóa học máy trực tuyến miễn phí của Andrew Ng tại Stanford. Ông thảo luận về Gradient Descent như một thuật toán để giải quyết hồi quy tuyến tính và viết các hàm trong Octave để thực hiện nó. Có lẽ tôi có thể viết lại các hàm đó trong R, nhưng câu hỏi của tôi không phải là hàm lm () đã cho tôi đầu ra của hồi quy tuyến tính? Tại sao tôi muốn viết hàm giảm độ dốc của riêng mình? Có một số lợi thế hay nó hoàn toàn là một bài tập học tập? Lm () có làm giảm độ dốc không?


Tôi nghĩ rằng bạn có thể cần phải tự thực hiện giảm độ dốc bằng ngôn ngữ khác trong trường hợp không có giải pháp tốt trong R (ví dụ: một số biến thể của hồi quy, như hồi quy chính quy với dữ liệu lớn)
Manoel Galdino

Câu trả lời:


20

Gradient giảm dần thực sự là một cách khá kém để giải quyết vấn đề hồi quy tuyến tính. Các lm()chức năng trong R nội bộ sử dụng một hình thức QR decomposition , đó là đáng kể hiệu quả hơn. Tuy nhiên, giảm độ dốc là một kỹ thuật thường hữu ích và đáng để giới thiệu trong bối cảnh đơn giản này, để làm rõ hơn cách áp dụng nó trong các vấn đề phức tạp hơn. Nếu bạn muốn thực hiện phiên bản của riêng mình như một bài tập học tập, thì đó là một việc đáng làm, nhưng lm()là một lựa chọn tốt hơn nếu tất cả những gì bạn muốn là một công cụ để thực hiện hồi quy tuyến tính.


@Martin Có thể lm () vẫn tốt hơn nếu chúng ta có nhiều tính năng?
dùng2626445

0

Lý do gradient trực tuyến là hữu ích cho các ứng dụng quy mô lớn. Trong mọi trường hợp, bây giờ có các thư viện triển khai nó, do đó bạn không cần phải lập trình nó. Đó là một cách tốt để tìm hiểu làm thế nào mọi thứ hoạt động.

Trong Leon Bottou từ:

Học máy quy mô lớn lần đầu tiên được tiếp cận như một vấn đề kỹ thuật. Ví dụ, để tận dụng tập huấn luyện lớn hơn, chúng ta có thể sử dụng máy tính song song để chạy thuật toán học máy đã biết hoặc điều chỉnh các phương pháp số nâng cao hơn để tối ưu hóa chức năng mục tiêu học máy đã biết. Cách tiếp cận như vậy dựa trên giả định hấp dẫn rằng người ta có thể tách rời các khía cạnh thống kê khỏi các khía cạnh tính toán của vấn đề máy học.

Công trình này cho thấy giả định này là không chính xác, và việc từ bỏ nó dẫn đến các thuật toán học tập hiệu quả hơn đáng kể. Một khung lý thuyết mới có tính đến hiệu quả của tối ưu hóa gần đúng đối với các thuật toán học tập.

Phân tích cho thấy sự đánh đổi khác biệt cho trường hợp các vấn đề học tập quy mô nhỏ và quy mô lớn. Các vấn đề học tập quy mô nhỏ phải tuân theo sự đánh đổi ước tính xấp xỉ thông thường. Các vấn đề học tập quy mô lớn phải chịu sự đánh đổi khác nhau về chất lượng liên quan đến độ phức tạp tính toán của các thuật toán tối ưu hóa cơ bản theo những cách không tầm thường. Ví dụ, thuật toán Stochastic Gradient Descent (SGD) dường như là thuật toán tối ưu hóa tầm thường và được chứng minh là hoạt động rất tốt trong các vấn đề học tập quy mô lớn.

Học tập quy mô lớn

dự án sgd

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.