Tối ưu hóa bằng cách lấy mẫu ngẫu nhiên


7

Trên internet, tôi đã thấy các tài liệu tham khảo rải rác cho ý tưởng thay đổi kích thước một hàm mục tiêu và sử dụng nó như một bản PDF cho mục đích tối ưu hóa. (Trên trang web này chẳng hạn: Do các kỹ thuật tối ưu hóa ánh xạ tới các kỹ thuật lấy mẫu? ) Ai đó có thể chỉ cho tôi đến một nơi mà tôi có thể tìm hiểu thêm về phương pháp này không? (Giấy tờ, bài đăng trên blog, bài giảng, v.v.)

Ý tưởng, như tôi đã thấy, là lấy hàm mục tiêu và tạo một hàm mới , trong đó là một số rất lớn cho một vấn đề tối đa hóa hoặc một số âm rất lớn cho một vấn đề tối thiểu hóa. Hàm mới sau đó sẽ cao hơn nhiều ở mức tối ưu toàn cầu so với bất kỳ nơi nào khác. Nếu sau đó được coi là hàm mật độ xác suất không chuẩn hóa, hầu hết các mẫu được rút ra từ phân phối đó sẽ nằm trong khoảng tối ưu đó.f(x)g(x)=ekf(x)kg(x)g(x)

Những điều tôi muốn biết bao gồm, nhưng không giới hạn:

  1. Những thuật toán lấy mẫu có hiệu quả cho các hàm xác suất này?
  2. Tại sao phương pháp này không được sử dụng thường xuyên hơn? (Có vẻ như nó có thể rất hiệu quả). Nói cách khác, có tranh luận chống lại nó?
  3. Có bất kỳ biến thể của phương pháp này để cải thiện hiệu quả hoặc hiệu suất?

Câu trả lời:


4

Có vẻ như bạn quan tâm đến việc nghiên cứu các phương pháp tối ưu hóa ngẫu nhiên . Nếu bạn tái tối ưu hóa khung như một loại vấn đề lấy mẫu, bạn sẽ có được phương pháp tối ưu hóa ngẫu nhiên và phương pháp sau này sẽ chỉ thuận lợi nếu nó cung cấp một số cải tiến so với các phương pháp tối ưu hóa xác định tương tự.

Nói chung, các phương pháp tối ưu hóa ngẫu nhiên thuộc loại này sẽ liên quan đến việc tạo ra các giá trị ngẫu nhiên theo cách phụ thuộc vào chức năng được tối ưu hóa, và do đó, nó có khả năng ít nhất là chuyên sâu tính toán (và có thể tính toán nhiều hơn) so với các phương pháp xác định tương ứng . Phương pháp ngẫu nhiên cũng thường phức tạp hơn để hiểu. Do đó, lợi thế duy nhất có khả năng tích lũy cho các phương pháp tối ưu hóa ngẫu nhiên (được xây dựng tốt), là chúng thường giữ một số xác suất khác không của các khu vực "tìm kiếm" của miền có thể bị bỏ qua bởi các phương pháp xác định, và vì vậy chúng là mạnh mẽ hơn, nếu bạn sẵn sàng chạy chúng trong một thời gian dài.

Hầu hết các phương pháp tối ưu hóa xác định tiêu chuẩn bao gồm thực hiện các bước lặp theo hướng tối ưu bằng cách chọn hướng chuyển động xác định và di chuyển theo hướng đó theo một số lượng xác định (ví dụ: với độ dốc cao nhất chúng ta di chuyển theo hướng của vectơ độ dốc). Hướng và độ dài của các bước thường được xác định bằng cách nhìn vào độ dốc của hàm, trong thực tế, được tính bằng cách nhìn vào độ dốc theo mức tăng chuyển động nhỏ. Bằng cách biến tối ưu hóa thành vấn đề lấy mẫu, bạn thực sự chỉ cần di chuyển theo hướng ngẫu nhiên theo một lượng ngẫu nhiên, nhưng bạn vẫn sẽ muốn sử dụng thông tin về độ dốc của hàm để xác định hành vi ngẫu nhiên của chuyển động này. Có khả năng phương thức sau sẽ sử dụng cùng thông tin như phương thức trước, chỉ trong một phức tạp hơn (và do đó, cách tính toán chuyên sâu hơn). Dưới đây tôi sẽ xây dựng một phương thức sử dụng thuật toán MH, dựa trên mô tả của bạn.


Thực hiện với thuật toán Metropolis-Hastings: Giả sử bạn đang xử lý một vấn đề tối đa hóa với phân phối trên một chiều và xem xét phương pháp lấy mẫu của Metropolis-Haging bằng cách sử dụng độ lệch Gaussian. Đây là một phương pháp lấy mẫu nổi tiếng khá mạnh mẽ chống lại hành vi khó chịu bởi mật độ lấy mẫu.

Để thực hiện thuật toán, chúng tôi tạo ra một chuỗi về độ lệch ngẫu nhiên, sau này chúng tôi sẽ nhân với tham số "băng thông" (vì vậy tham số này thể hiện độ lệch chuẩn của các bước được đề xuất của chúng tôi). Chúng tôi cũng tạo ra một chuỗi của các biến ngẫu nhiên thống nhất. Chúng tôi chọn giá trị bắt đầu một cách tùy ý và tạo chuỗi các giá trị mẫu theo cách đệ quy là:ε1,ε2,ε3,...IID N(0,1)λ>0U1,U2,U3,...U(0,1)x0

xt+1={xt+λεt+1if Ut+1exp(k(f(xt+λεt+1)f(xt))),xtotherwise.

Thuật toán MH có phân phối cố định bằng mật độ đích, do đó chúng tôi có phân phối gần đúng cho lớn . Lấy giá trị lớn cho (liên quan đến tham số băng thông) sẽ có nghĩa là độ lệch theo hướng tối ưu sẽ được chấp nhận với xác suất cao và độ lệch khỏi tối ưu (hoặc vượt quá mức tối ưu) sẽ bị loại bỏ với xác suất cao. Do đó, trong thực tế, các giá trị mẫu sẽ hội tụ gần điểm tối đa của mật độ . (Vẫn có trường hợp điều này sẽ không xảy ra; ví dụ: nếu mật độ là lưỡng kim và thuật toán leo lên độ dốc sai.) Nếu chúng ta lấy giá trị lớn của thì phân phốiXnexp(k(f(x))nkfkexp(k(f(x)) tập trung cao gần giá trị tối đa hóa, do đó, trong trường hợp này, giá trị trung bình mẫu của các giá trị được lấy mẫu (loại bỏ một số giá trị burn-in) sẽ cho chúng ta ước tính tốt về giá trị tối đa hóa trong tối ưu hóa .

Bây giờ, giả sử chúng ta chống lại giá trị lớn của bằng cách đặt băng thông là nhỏ. Trong trường hợp đó, chúng tôi nhận được các giá trị nhỏ cho độ lệch, vì vậy chúng tôi có xác suất chấp nhận gần đúng:kλ

exp(k(f(xt+λεt+1)f(xt)))exp(kλεt+1f(xt)).

Chúng ta có thể thấy rằng trong trường hợp này, xác suất chấp nhận được xác định bởi đạo hàm của mật độ, độ lớn và hướng của độ lệch và giá trị .εt+1kλ

Vì vậy, thuật toán này có thực sự hoạt động tốt hơn thuật toán tối ưu hóa xác định áp dụng không? Chà, chúng ta có thể thấy rằng thuật toán yêu cầu chúng ta tính toán mật độ ở mỗi bước tiềm năng và nếu tham số băng thông nhỏ thì điều này tương đương với việc tính toán đạo hàm của hàm. Vì vậy, điều này khá giống với một hình thức tăng dần độ dốc ngẫu nhiên, với công việc tính toán nhiều hơn so với phương pháp xác định tương ứng. Ưu điểm, nếu có, là độ lệch đề xuất là ngẫu nhiên, và tất cả xảy ra với một số xác suất khác không (mặc dù biến mất rất nhanh), do đó thuật toán có khả năng "thoát" các vùng có mật độ cao, nhưng không tối đa hóa .


Có bất kỳ kết nối nào giữa cách tiếp cận này và cách tiếp cận trong đó nhiễu được thêm vào gradient trước mỗi bước, ví dụ: trong đó ? Điều gì về stochastic gradient động lực học Langevin ? θ˙=L(θ)+εtεtN(0,σt)
user76284

Chúng trông giống như các thủ tục khác nhau đối với tôi, nhưng có thể có một số kết nối. Chúng được kết nối ít nhất theo nghĩa lỏng lẻo liên quan đến các lần lặp ngẫu nhiên trong đó một số thành phần nhiễu được thêm vào lần lặp Newton-Raphson tiêu chuẩn (theo hướng, khoảng cách hoặc độ dốc).
Ben - Tái lập Monica
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.