Thuật toán khởi động lại trong VEGAS


8

Tôi đang cố gắng tìm hiểu thuật toán nổi loạn của VEGAS ( ấn phẩm gốc ( bản in từ LKlevin) và ghi chú thực hiện ) tích hợp Monte Carlo. Tôi sẽ cố gắng giải thích trước những gì tôi nghĩ rằng tôi đã hiểu và sau đó đặt ra câu hỏi của mình.

Để đơn giản, giả sử chúng ta có hàm 1 chiều dương trên toàn bộ khoảng [ 0 , 1 ] . Khoảng này được phân tách thành, giả sử, n thùng. Những thùng này có kích thước ban đầu như nhau. Kích thước bin Δ x i xác định mật độ xác suấtf(x)[0,1]nΔxi

ρ(x)={0x<Δx1:1nΔx1Δxn1x<Δxn:1nΔxn.

Các kích thước bin phải thêm đến độ dài của khoảng thời gian để làm cho bình thường hóa đúng cách:ρ(x)

i=1nΔxi=101dxρ(x)=1.

Sử dụng số được chọn ngẫu nhiên { x i } từ sự phân bố ρ ( x ) VEGAS tính xấp xỉ S ( 1 ) của tích phân:N{xi}ρ(x)S(1)

S(1)=1N{xi}f(xi)ρ(xi)01dxf(x)

Cho đến nay, đây chỉ là lấy mẫu quan trọng (tôi không quan tâm đến lấy mẫu phân tầng) bằng cách sử dụng lưới có kích thước thay đổi. Phần thú vị trong VEGAS là thuật toán rebinning, tức là thuật toán tính toán lại kích thước bin tùy thuộc vào các giá trị hàm được tích lũy trong lần lặp trước:

  • Đối với mỗi thùng, các giá trị hàm bình phương (?) Được tính tổng (trong ấn phẩm gốc, các giá trị tuyệt đối được tổng hợp).
  • Ngoài ra còn có một chức năng làm ẩm được áp dụng cho từng giá trị, để "tránh những thay đổi nhanh chóng, làm mất ổn định".
  • Sau đó, mỗi giá trị được làm mịn bằng các thùng lân cận. Tôi đoán điều này cũng bổ sung một số tính ổn định cho thuật toán rebinning cho một số chức năng nhất định (nhưng tôi không thể giải thích tại sao). Hãy gọi các giá trị cuối cùng .bi
  • Các kích thước thùng hiện được đặt sao cho mỗi thùng mới chứa xấp xỉ mức trung bình:

b¯=1ni=1nbi

Thuật toán này làm cho các thùng phát triển trong đó hàm "nhỏ" và co lại trong đó hàm "lớn". Nhỏ và lớn được hiểu liên quan đến nhau, ví dụ: cực đại của hàm được coi là "lớn" và mọi thứ khác sẽ được coi là "nhỏ hơn". Vì xác suất để một điểm kết thúc trong bất kỳ thùng nào là bằng nhau (VEGAS được viết để thể hiện hành vi này), nên hàm được lấy mẫu nhiều nhất ở nơi lớn nhất và do đó lỗi được giảm.x

Tại sao nó được viết theo cách đó? Tại sao người ta không giải quyết vấn đề trực tiếp hơn, ví dụ bằng cách lấy hàm trung bình và hàm số làm mật độ xác suất cho lần lặp tiếp theo?


Bạn nên thêm một liên kết đến các ấn phẩm gốc. Hơn nữa, bạn có ý nghĩa gì với "các chức năng khác nhau chủ yếu ở các thùng lân cận"? Một chức năng nhỏ là gì? Một chức năng lớn là gì?
vanCompute

Không hoàn toàn chắc chắn câu hỏi của bạn là gì. Là vấn đề mà các giá trị tuyệt đối được tóm tắt?
LKlevin

@LKlevin: Chà, các giá trị bình phương được tính tổng khác với giá trị được viết trong ấn phẩm gốc (tổng giá trị tuyệt đối) cho một. Nhưng tôi đoán điều này là bởi vì nó mang lại sự hội tụ tốt hơn cho hầu hết các tích phân trong thực tế. Nhưng tại sao vậy? Họ chỉ làm điều đó trên cơ sở thực nghiệm hay có một lời giải thích thích hợp? Tôi cũng không chắc tại sao thuật toán này có thể ổn định ở tất cả nếu bạn tính tổng bình phương thay vì các giá trị tuyệt đối. Tôi đã cố gắng tìm một thuật toán rebinning tốt hơn nhưng dường như không thể tìm thấy một thuật toán ổn định cho các tích phân không thể thực hiện được. Tại sao nó tốt như vậy?
cschwan

Câu trả lời:


1

Tuyên bố miễn trừ trách nhiệm: Tôi rất quen thuộc với các thuật toán Monte Carlo nói chung, nhưng không nói riêng với thuật toán VEGAS.

Thuật toán VEGAS dựa trên thực tế là nếu chúng ta biết mật độ xác suất chính xác giảm thiểu phương sai của tích hợp Monte Carlo, chúng ta có thể nhận được câu trả lời của mình bằng cách sử dụng chính xác 1 đánh giá của hàm f.

Điều này được đưa ra bởi

p(x)=|f(x)|Ω|f(x)|dx

Chúng tôi không biết mật độ xác suất và việc ước tính chính xác nó là không khả thi đối với chức năng có chiều cao vì nó sẽ nhanh chóng chiếm một lượng lớn bộ nhớ.

Thay vào đó, thuật toán VEGAS xấp xỉ nó như là một hàm hằng số từng bước M.

Tôi đoán bạn không có quyền truy cập vào toàn bộ bài viết? Bài viết gốc KHÔNG sử dụng chức năng bình phương, nhưng là bài tuyệt đối (có thể tìm thấy phiên bản in sẵn ở đây ).

Tôi hy vọng điều này sẽ giúp trả lời câu hỏi của bạn. Bài viết gốc trả lời hầu hết điều này, vì vậy nó có thể đáng để nhận

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.