Tối ưu hóa và học máy


13

Tôi muốn biết bao nhiêu học máy đòi hỏi tối ưu hóa. Từ những gì tôi đã nghe thống kê là một chủ đề toán học quan trọng cho những người làm việc với máy học. Tương tự như thế nào là quan trọng đối với một người làm việc với máy học để tìm hiểu về tối ưu hóa lồi hoặc không lồi?


2
"Làm việc với máy học" là một khái niệm mơ hồ - làm việc để phát triển các phương thức ML tốt hơn sẽ có nghĩa là một câu trả lời, phát triển các hệ thống ML sử dụng các phương thức đã biết là một điều hoàn toàn khác.
Peteris

Câu trả lời:


28

Cách tôi nhìn nhận là thống kê / học máy cho bạn biết những gì bạn nên tối ưu hóa, và tối ưu hóa là cách bạn thực sự làm như vậy.

Ví dụ, hãy xem xét hồi quy tuyến tính với nơi E ( ε ) = 0V một r ( ε ) = σ 2 tôi . Thống kê cho chúng ta biết rằng đây là (thường xuyên) một mô hình tốt, nhưng chúng tôi tìm thấy ước tính thực tế của chúng tôi β bằng cách giải một bài toán tối ưuY= =Xβ+εE(ε)= =0Vmộtr(ε)= =σ2Tôiβ^

β^= =argminbRp||Y-Xb||2.

Các đặc tính của β được gọi cho chúng tôi qua số liệu vì vậy chúng tôi biết rằng đây là một vấn đề tối ưu hóa tốt để giải quyết. Trong trường hợp này, nó là một tối ưu hóa dễ dàng nhưng điều này vẫn cho thấy nguyên tắc chung.β^

Tổng quát hơn, phần lớn học máy có thể được xem như giải quyết f = argmin f F 1 trong đó tôi đang viết bài này mà không cần chính quy nhưng có thể dễ dàng thêm vào.

f^= =argminfF1nΣTôi= =1nL(yTôi,f(xTôi))

Một lượng lớn nghiên cứu về lý thuyết học thống kê (SLT) đã nghiên cứu các tính chất của các argminima này, cho dù chúng có tối ưu không có triệu chứng hay không, chúng liên quan đến độ phức tạp của và nhiều thứ khác như vậy. Nhưng khi bạn thực sự muốn có được f , thường bạn kết thúc với một tối ưu hóa khó khăn và nó là một tập hợp toàn bộ riêng biệt của những người nghiên cứu vấn đề đó. Tôi nghĩ rằng lịch sử của SVM là một ví dụ tốt ở đây. Chúng tôi có những người SLT như Vapnik và Cortes (và nhiều người khác) đã chỉ ra cách SVM là một vấn đề tối ưu hóa tốt để giải quyết. Nhưng sau đó, những người khác như John Platt và các tác giả LIBSVM đã thực hiện điều này khả thi trong thực tế.Ff^

Để trả lời câu hỏi chính xác của bạn, biết một số tối ưu hóa chắc chắn là hữu ích nhưng nhìn chung không ai là chuyên gia trong tất cả các lĩnh vực này vì vậy bạn học được nhiều nhất có thể nhưng một số khía cạnh sẽ luôn là thứ gì đó trong hộp đen đối với bạn. Có thể bạn chưa nghiên cứu đúng các kết quả SLT đằng sau thuật toán ML yêu thích của bạn hoặc có thể bạn không biết hoạt động bên trong của trình tối ưu hóa bạn đang sử dụng. Đó là một hành trình cả đời.


3
Thật đáng để đề cập rõ ràng en.wikipedia.org/wiki/Empirical_risk_minimization
Emre

13

Trong thực tế, rất nhiều gói chăm sóc tối ưu hóa và hầu hết các chi tiết toán học cho bạn. Ví dụ, TensorFlow có thể tự động giảm độ dốc backprop + stochastic để đào tạo mạng lưới thần kinh cho bạn (bạn chỉ cần xác định tốc độ học tập). Các công cụ ML của scikit-learn nói chung sẽ không yêu cầu bạn thực sự biết công cụ về cách tối ưu hóa thực sự xảy ra, nhưng có thể chỉ cần đặt một số tham số điều chỉnh và nó sẽ xử lý phần còn lại (ví dụ: số lần lặp mà trình tối ưu hóa chạy). Ví dụ, bạn có thể huấn luyện một SVM mà không cần biết bất kỳ phép toán nào trong scikit-learn-- chỉ cần cung cấp dữ liệu, loại nhân và tiếp tục.

Điều đó đang được nói, biết tối ưu hóa cơ bản (ví dụ ở cấp độ Tối ưu hóa lồi / lập trình phi tuyến của Boyd và Vandenberghe) có thể hữu ích trong thiết kế và phân tích vấn đề / thuật toán, đặc biệt nếu bạn đang làm việc trên lý thuyết. Hoặc, tự thực hiện các thuật toán tối ưu hóa.

Lưu ý rằng các phương pháp tối ưu hóa sách giáo khoa thường cần các tinh chỉnh để thực sự hoạt động trong thực tế trong các cài đặt hiện đại; ví dụ, bạn có thể không sử dụng độ dốc dốc ngẫu nhiên Robbins-Munroe cổ điển, mà là một biến thể tăng tốc nhanh hơn. Tuy nhiên, bạn có thể đạt được một số hiểu biết khi làm việc với các vấn đề tối ưu hóa.

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.