Leo núi Stochastic thường hoạt động kém hơn so với Leo đồi Steepest , nhưng những trường hợp trước đây thực hiện tốt hơn là gì?
Leo núi Stochastic thường hoạt động kém hơn so với Leo đồi Steepest , nhưng những trường hợp trước đây thực hiện tốt hơn là gì?
Câu trả lời:
Các thuật toán leo đồi dốc nhất hoạt động tốt để tối ưu hóa lồi. Tuy nhiên, các vấn đề trong thế giới thực thường thuộc loại tối ưu hóa không lồi: có nhiều đỉnh. Trong những trường hợp như vậy, khi thuật toán này bắt đầu ở một giải pháp ngẫu nhiên, khả năng nó đạt đến một trong những đỉnh địa phương, thay vì đỉnh toàn cầu, là cao. Các cải tiến như Mô phỏng luyện kim cải thiện vấn đề này bằng cách cho phép thuật toán di chuyển khỏi đỉnh địa phương, và do đó làm tăng khả năng nó sẽ tìm thấy đỉnh toàn cầu.
Rõ ràng, đối với một vấn đề đơn giản chỉ có một đỉnh, leo đồi dốc nhất luôn tốt hơn. Nó cũng có thể sử dụng dừng sớm nếu tìm thấy đỉnh toàn cầu. So sánh, một thuật toán ủ mô phỏng sẽ thực sự nhảy ra khỏi đỉnh toàn cầu, quay trở lại và nhảy đi một lần nữa. Điều này sẽ lặp lại cho đến khi nó đủ nguội hoặc một số lần lặp nhất định đã hoàn thành.
Các vấn đề trong thế giới thực đối phó với dữ liệu ồn ào và mất tích. Một cách tiếp cận leo đồi ngẫu nhiên, trong khi chậm hơn, mạnh mẽ hơn đối với các vấn đề này và thói quen tối ưu hóa có khả năng đạt đến đỉnh cao toàn cầu cao hơn so với thuật toán leo đồi dốc nhất.
Phần kết: Đây là một câu hỏi hay đặt ra một câu hỏi dai dẳng khi thiết kế một giải pháp hoặc lựa chọn giữa các thuật toán khác nhau: sự đánh đổi chi phí tính toán hiệu năng. Như bạn có thể nghi ngờ, câu trả lời luôn là: nó phụ thuộc vào các ưu tiên của thuật toán của bạn. Nếu nó là một phần của một số hệ thống học tập trực tuyến đang hoạt động trên một lô dữ liệu, thì có một hạn chế về thời gian mạnh mẽ, nhưng hạn chế về hiệu suất yếu (các lô dữ liệu tiếp theo sẽ sửa cho sai lệch được đưa ra bởi lô dữ liệu đầu tiên). Mặt khác, nếu đó là một nhiệm vụ học tập ngoại tuyến với toàn bộ dữ liệu có sẵn, thì hiệu suất là hạn chế chính và các phương pháp ngẫu nhiên được khuyến khích.
Trước tiên hãy bắt đầu với một số định nghĩa.
Leo đồi là một thuật toán tìm kiếm chỉ đơn giản là chạy một vòng lặp và liên tục di chuyển theo hướng tăng giá trị - nghĩa là lên dốc. Vòng lặp chấm dứt khi nó đạt đến đỉnh và không có hàng xóm nào có giá trị cao hơn.
Leo đồi Stochastic , một biến thể của leo đồi, chọn ngẫu nhiên trong số các động tác lên dốc. Xác suất lựa chọn có thể thay đổi theo độ dốc của di chuyển lên dốc. Hai phương pháp nổi tiếng là:
Leo đồi lựa chọn đầu tiên: tạo ngẫu nhiên cho người kế vị cho đến khi một phương thức được tạo ra tốt hơn trạng thái hiện tại. * Được coi là tốt nếu nhà nước có nhiều người kế vị (như hàng ngàn, hoặc hàng triệu).
Leo núi ngẫu nhiên khởi động lại:Hoạt động dựa trên triết lý "Nếu bạn không thành công, hãy thử lại".
Bây giờ để câu trả lời của bạn. Leo đồi Stochastic thực sự có thể thực hiện tốt hơn trong nhiều trường hợp . Hãy xem xét trường hợp sau đây. Hình ảnh cho thấy cảnh quan không gian nhà nước. Ví dụ hiện diện trong hình ảnh được lấy từ cuốn sách, Trí tuệ nhân tạo: Cách tiếp cận hiện đại .
Giả sử bạn đang ở điểm được hiển thị bởi trạng thái hiện tại. Nếu bạn thực hiện thuật toán leo đồi đơn giản, bạn sẽ đạt đến mức tối đa cục bộ và thuật toán chấm dứt. Mặc dù tồn tại trạng thái với giá trị hàm mục tiêu tối ưu hơn, nhưng thuật toán không đạt được ở đó vì nó bị kẹt ở mức tối đa cục bộ. Thuật toán cũng có thể bị kẹt ở cực đại cục bộ phẳng .
Khởi động lại ngẫu nhiên leo đồi thực hiện một loạt các tìm kiếm leo đồi từ các trạng thái ban đầu được tạo ngẫu nhiên cho đến khi tìm thấy trạng thái mục tiêu.
Sự thành công của leo đồi phụ thuộc vào hình dạng của cảnh quan không gian nhà nước. Trong trường hợp chỉ có một vài cực đại địa phương, cao nguyên phẳng; ngẫu nhiên khởi động lại leo đồi sẽ tìm thấy một giải pháp tốt rất nhanh chóng. Hầu hết các vấn đề thực tế có cảnh quan không gian nhà nước rất thô, khiến chúng không phù hợp để sử dụng thuật toán leo đồi hoặc bất kỳ biến thể nào của nó.
LƯU Ý: Thuật toán Hill Climb cũng có thể được sử dụng để tìm giá trị tối thiểu và không chỉ các giá trị tối đa. Tôi đã sử dụng thuật ngữ tối đa trong câu trả lời của tôi. Trong trường hợp bạn đang tìm kiếm các giá trị tối thiểu, tất cả mọi thứ sẽ đảo ngược, bao gồm cả biểu đồ.
Tôi cũng mới với những khái niệm này, nhưng theo cách tôi hiểu, leo đồi Stochastic sẽ hoạt động tốt hơn trong trường hợp thời gian tính toán là quý giá (bao gồm cả việc tính toán chức năng tập thể dục) nhưng thực sự không cần thiết để đạt được kết quả tốt nhất giải pháp có thể. Đạt đến mức tối ưu cục bộ sẽ ổn. Rô bốt hoạt động trong bầy đàn sẽ là một ví dụ trong đó điều này có thể được sử dụng.
Sự khác biệt duy nhất tôi thấy khi leo đồi dốc nhất là nó tìm kiếm không chỉ các nút lân cận mà cả các thành công của hàng xóm, giống như cách thuật toán cờ vua tìm kiếm thêm nhiều bước nữa trước khi chọn nước đi tốt nhất.