Các kỹ thuật máy học có phải là thuật toán xấp xỉ của thuật toán không?


23

Gần đây, có một câu hỏi giống như ML về stackexchange của cstheory và tôi đã đăng một câu trả lời đề xuất phương pháp của Powell, độ dốc gốc, thuật toán di truyền hoặc "thuật toán xấp xỉ" khác. Trong một bình luận, ai đó đã nói với tôi những phương pháp này là "heuristic" chứ không phải "thuật toán gần đúng" và thường không đạt đến mức tối ưu về mặt lý thuyết (vì chúng "thường bị kẹt trong cực tiểu cục bộ").

Những người khác có đồng ý với điều đó? Ngoài ra, đối với tôi, có một ý nghĩa trong đó các thuật toán heuristic có thể được đảm bảo để tiến gần đến mức tối ưu về mặt lý thuyết nếu chúng được thiết lập để khám phá một phần lớn của không gian tìm kiếm (ví dụ: đặt tham số / kích thước bước nhỏ), mặc dù tôi không biết Tôi đã thấy điều đó trong một bài báo. Có ai biết nếu điều này đã được hiển thị hoặc chứng minh trong một bài báo? (nếu không phải là một lớp lớn các thuật toán có thể cho một lớp nhỏ nói NNs, v.v.)


Về suy nghĩ sâu hơn về câu hỏi này, có vẻ như lĩnh vực nghiên cứu có liên quan / có liên quan được gọi là các phương pháp / biến thể tối ưu hóa toàn cầu trên các thuật toán kiểu cục bộ, ví dụ như giảm độ dốc ...
vzn

Câu trả lời:


29

Tôi nghĩ rằng bạn đang trộn lẫn nhiều khái niệm quan trọng. Hãy để tôi thử làm rõ một vài điều:

  • Có những phương pháp siêu hình, đó là những phương pháp lặp đi lặp lại để cải thiện một giải pháp ứng cử viên. Ví dụ về điều này là tìm kiếm tabu, mô phỏng ủ, thuật toán di truyền, v.v. Quan sát rằng trong khi có thể có nhiều trường hợp các phương pháp này hoạt động tốt, thì không có sự hiểu biết sâu sắc nào khi các phương pháp này hoạt động và khi nào chúng không hoạt động. Và quan trọng hơn khi họ không đi đến giải pháp, chúng ta có thể tùy tiện cách xa nó. Các vấn đề được giải quyết bằng các phương pháp siêu hình có xu hướng rời rạc trong tự nhiên, bởi vì có nhiều công cụ tốt hơn để xử lý các vấn đề liên tục. Nhưng thỉnh thoảng bạn cũng thấy siêu dữ liệu cho các vấn đề liên tục.

  • Có các phương pháp tối ưu hóa số, mọi người trong cộng đồng này kiểm tra cẩn thận bản chất của chức năng được tối ưu hóa và các hạn chế của giải pháp (thành các nhóm như tối ưu hóa lồi, lập trình bậc hai, lập trình tuyến tính, v.v.) và áp dụng các thuật toán đã được hiển thị để làm việc cho loại chức năng đó và các loại hạn chế đó. Khi những người trong khu vực này nói "hiển thị để làm việc", họ có nghĩa là một bằng chứng. Tình hình là các loại phương pháp này hoạt động trong các vấn đề liên tục. Nhưng khi vấn đề của bạn rơi vào loại này, đây chắc chắn là công cụ để sử dụng.

  • Có các phương pháp tối ưu hóa riêng biệt, có xu hướng là những thứ mà trong tự nhiên được kết nối với các thuật toán để nghiên cứu kỹ các vấn đề riêng biệt: chẳng hạn như đường dẫn ngắn nhất, lưu lượng tối đa, v.v. Mọi người trong khu vực này cũng quan tâm rằng thuật toán của họ thực sự hoạt động (bằng chứng). Có một tập hợp những người trong nhóm này nghiên cứu các vấn đề thực sự khó khăn mà không có thuật toán nhanh nào được dự kiến ​​tồn tại. Sau đó, họ nghiên cứu các thuật toán gần đúng, đó là các thuật toán nhanh mà họ có thể chỉ ra rằng giải pháp của họ nằm trong một yếu tố không đổi của tối ưu thực sự. Điều này được gọi là "thuật toán gần đúng". Những người này cũng cho thấy kết quả của họ như là bằng chứng.

Vì vậy, ... để trả lời câu hỏi của bạn, tôi không nghĩ rằng siêu dữ liệu là thuật toán gần đúng. Nó dường như không phải là một cái gì đó liên quan đến ý kiến, nó chỉ là sự thật.


lại là "phương pháp tối ưu hóa số", "phương pháp tối ưu hóa rời rạc", có vẻ như nhiều kỹ thuật ML có thể được chứng minh là nằm trong một yếu tố không đổi của tối ưu thực sự nếu "không gian tìm kiếm ban đầu" của chúng bị buộc phải lớn, nhưng tôi không thấy một ref về điều này

2
Tôi không đồng ý. * để tối ưu hóa số, bạn có thể truy cập vào mức tối thiểu cục bộ (tất nhiên bạn cũng có thể áp dụng các quy trình khiến cho việc này không thành công). * Điều tương tự cũng xảy ra với Mạng nơ-ron (ít nhất là nó có thể xảy ra trong quá trình đào tạo perceptionron). * Các thuật toán di truyền cũng có thể đi vào tối thiểu cục bộ, hơn nữa nếu bạn chọn tỷ lệ đột biến lớn, bạn sẽ không có sự tiến hóa hợp lý! II cũng nghi ngờ mạnh mẽ rằng có những bộ dữ liệu sẽ luôn khiến các mô hình nhất định có lỗi lớn tùy ý.
jb.

2
@vzn nhiều người chọn mô hình mà giải pháp tối ưu có thể được tìm thấy. Điều này là do các hàm mất lồi sử dụng, như các SVM làm. Tìm tối ưu thực sự ở đây có nghĩa là "tìm giải pháp tối ưu trong không gian tìm kiếm của bạn", vì vậy điều đó không liên quan gì đến không gian tìm kiếm trông như thế nào. Như jb đã nói, đối với các hàm mất chung, việc tìm kiếm tối ưu thực sự thường là không thể / không khả thi.
Andreas Mueller

chấp nhận câu trả lời này như là một mô tả về tình trạng hiện tại và các loại ứng dụng chung nhưng vẫn nghĩ rằng có một số thms cầu tồn tại và vẫn được chứng minh là liên kết các khu vực riêng biệt. bằng chứng rằng các NN có thể mô hình hóa hoặc "xấp xỉ" bất kỳ fn toán học liên tục nào với mức độ chính xác tùy ý có liên quan chặt chẽ với nhau ... tức là kolmogorovs thm
vzn

3

Học máy thường liên quan đến tối ưu hóa một chức năng có nhiều tối thiểu cục bộ. Mạng lưới thần kinh feedforward với các đơn vị ẩn là một ví dụ tốt. Cho dù các chức năng này là rời rạc hay liên tục, không có phương pháp nào đạt được mức tối thiểu toàn cầu và dừng lại. Thật dễ dàng để chứng minh rằng không có thuật toán chung để tìm mức tối thiểu toàn cầu của hàm liên tục ngay cả khi nó là một chiều và trơn tru (có vô số dẫn xuất). Trong thực tế, tất cả các thuật toán để học các mạng thần kinh bị mắc kẹt ở mức tối thiểu cục bộ. Thật dễ dàng để kiểm tra điều này: tạo một mạng nơ-ron ngẫu nhiên, tạo một tập hợp lớn các phản hồi của nó với các đầu vào ngẫu nhiên, sau đó thử tìm hiểu một mạng nơ-ron khác có cùng kiến ​​trúc để sao chép các phản hồi. Trong khi giải pháp hoàn hảo tồn tại, không phải backpropagation không phải bất kỳ thuật toán học tập nào khác sẽ có thể khám phá ra nó,

Một số phương pháp học tập, như mô phỏng ủ hoặc thuật toán di truyền, khám phá nhiều phương pháp tối thiểu cục bộ. Đối với các hàm liên tục, có các phương thức như độ dốc gốc, tìm mức tối thiểu cục bộ gần nhất. Chúng nhanh hơn nhiều, đó là lý do tại sao chúng được sử dụng rộng rãi trong thực tế. Nhưng được cung cấp đủ thời gian, nhóm phương pháp cũ vượt trội hơn về sau về lỗi tập huấn luyện. Nhưng với những hạn chế về thời gian hợp lý, đối với các vấn đề trong thế giới thực, nhóm sau thường tốt hơn.

Đối với một số mô hình, như hồi quy logistic, có một mức tối thiểu cục bộ, hàm là lồi, tối thiểu hóa hội tụ đến mức tối thiểu, nhưng bản thân các mô hình là đơn giản.

Đó là sự thật cay đắng.

Cũng lưu ý rằng bằng chứng về sự hội tụ và bằng chứng về sự hội tụ cho giải pháp tốt nhất là hai điều khác nhau. Thuật toán K-mean là một ví dụ về điều này.

Cuối cùng, đối với một số mô hình, chúng tôi không biết cách học. Ví dụ: nếu đầu ra là một hàm tính toán tùy ý của đầu vào, chúng ta không biết các thuật toán tốt, trong thời gian hợp lý, tìm một máy Turing hoặc máy tương đương thực hiện chức năng này. Chẳng hạn, nếu f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (mười số nguyên tố đầu tiên), chúng tôi không Không biết bất kỳ thuật toán học nào có thể dự đoán, trong thời gian hợp lý, rằng f (11) = 31, trừ khi nó đã biết khái niệm số nguyên tố.

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.