Tối ưu hóa các mô hình máy tính ngẫu nhiên


11

Đây là một chủ đề khó đối với bản thân tôi đối với google vì có tối ưu hóa từ và ngẫu nhiên trong tìm kiếm gần như tự động mặc định cho các tìm kiếm để tối ưu hóa ngẫu nhiên. Nhưng điều tôi thực sự muốn biết là phương pháp nào tồn tại để tối ưu hóa các mô hình máy tính khi đầu ra mô hình máy tính là ngẫu nhiên, tức là không xác định?

Ví dụ: nếu bạn xem xét một mô hình máy tính có một số hàm không xác định đại diện cho đầu ra của mô hình máy tính, thì tồn tại nhiều phương pháp thống kê để giải quyết các vấn đề nhưf(x)

minf(x)xX

khi f(x) là xác định. Nhưng điều gì xảy ra khi f(x) là ngẫu nhiên? Có giải pháp nào cho vấn đề không, hay nhất là chúng ta chỉ có thể giải quyết

minE[f(x)]xX

trong đó E() là toán tử kỳ vọng thông thường.


1
Đây là một câu hỏi rất thú vị. Tối ưu hóa là điều duy nhất thực sự có thể. Một ứng dụng thống kê liên quan đến câu hỏi này là thuật toán MCEM, trong đó hàm khả năng đầy đủ chỉ có thể quan sát được với lỗi MCMC ở trên nó. Tương tự, các thuật toán lọc hạt MCMC có cùng một vấn đề. Tôi chưa đọc đủ tài liệu để biết trạng thái của các phương pháp nghệ thuật để trả lời điều này là gì. E[f(x)]
Cliff AB

2
Nó phụ thuộc vào mục tiêu của bạn. chỉ là một trong nhiều lựa chọn khả thi. Trong một số ứng dụng, bạn có thể muốn có một giải pháp "đáng tin cậy", không chỉ là một giải pháp "trung bình tốt". Trong kịch bản này, bạn sẽ tối ưu hóa wrt thành một số lượng tử của phân phối . Tối ưu hóa Bayes thỏa thuận với các đánh giá chức năng tốn kém (và đôi khi ồn ào). Kiểm tra ví dụ câu hỏi này . f ( x )E[f(x)]f(x)
lacerbi

1
@lacerbi có bất kỳ ví dụ nào ồn ào không? Tôi nghĩ rằng họ chỉ mang tính quyết định.
RustyStatistician

@RustyStatistician: bạn nói đúng, hầu hết các ví dụ đều mang tính quyết định hoặc nói về tối ưu hóa Bayes nói chung. Xem bên dưới để tham khảo nhiều hơn tập trung vào phần "ồn ào".
lacerbi

Bạn có truy cập vào chương trình máy tính để bạn có thể tự chạy nó cho các đầu vào được chọn không? Sau đó, các phương pháp để thiết kế các thí nghiệm trở nên có sẵn để sử dụng! Tìm kiếm trang web này. x
kjetil b halvorsen

Câu trả lời:


10

( Mở rộng nhận xét của tôi thành một câu trả lời thích hợp. )

Như tôi đã đề cập, nó phụ thuộc vào mục tiêu của bạn.

Giá trị mong đợi chỉ là một trong nhiều lựa chọn khả thi cho mục tiêu tối ưu hóa. Ví dụ: giả sử rằng thường được phân phối, bạn có thể làm:f ( x )E[f(x)]f(x)

κRκ>0κκ

xopt=argminx{E[f(x)]+κVar[f(x)]}
cho một số thao túng độ nhạy cảm rủi ro. Nếu bạn đang tìm kiếm một giải pháp mạnh mẽ có khả năng là tốt nhất và không khuyến khích các dao động tích cực lớn. Ngược lại, một tiêu cực sẽ ủng hộ tối ưu hóa "lạc quan" tìm kiếm các dao động tiêu cực lớn (tiêu cực là tốt vì chúng tôi đang giảm thiểu). Bạn có thể chọn dựa trên số lượng phân phối bình thường (xem tài liệu tham khảo 2 bên dưới).κRκ>0κκ

Nói chung, tối ưu hóa Bayes (BO, liên quan đến các quy trình và giết chết Gaussian ) liên quan đến các đánh giá chức năng tốn kém và đôi khi ồn ào; mặc dù hầu hết trọng tâm của văn học đã tập trung vào phần trước. Bạn có thể tìm thấy các đánh giá để tối ưu hóa Bayes tại câu hỏi này .

Một số người đã áp dụng BO cho các chức năng ồn ào. Để giới thiệu chủ đề này, David Ginsbourger đã có một bài nói chuyện rất hay với tiêu đề "Biến thể về sự cải thiện được mong đợi" tại Hội thảo về các quy trình Gaussian để tối ưu hóa toàn cầu (Sheffield, ngày 17 tháng 9 năm 2015). Bạn có thể tìm thấy bài nói chuyện của anh ấy ở đây , và tất cả các bài nói chuyện đều có sẵn trên trang này (tôi cũng đề nghị tất cả các bài nói chuyện khác như một lời giới thiệu chung tuyệt vời về BO.)

Để tham khảo, tôi sẽ bắt đầu với công việc được thực hiện bởi Ginsbourger và các đồng nghiệp, và Gramacy và các đồng nghiệp:

  1. Picheny, V. và Ginsbourger, D., 2014. "Các phương pháp tối ưu hóa dựa trên kuceing ồn ào: một triển khai thống nhất trong gói DiceOptim". Thống kê tính toán & phân tích dữ liệu , 71, tr.1035-1053. ( liên kết )

  2. Picheny, V., Ginsbourger, D., Richet, Y. và Caplin, G., 2013. "Tối ưu hóa dựa trên lượng tử của các thí nghiệm máy tính ồn với độ chính xác có thể điều chỉnh". Kỹ thuật , 55 (1), tr.2-13. ( liên kết )

  3. Gramacy, RB và Lee, HK, 2012. "Các mô hình quy trình Gaussian của Bayesian với một ứng dụng cho mô hình máy tính". Tạp chí của Hiệp hội Thống kê Hoa Kỳ . ( liên kết )

  4. Gramacy, RB và Apley, DW, 2015. "Xấp xỉ quá trình Gaussian cục bộ cho các thí nghiệm máy tính lớn". Tạp chí thống kê tính toán và đồ họa , 24 (2), tr.561-578. ( liên kết )

Cả Ginsburger và Gramacy đều có các gói R thực hiện các phương thức BO của chúng, tương ứng là DiceOptimtgp .


1
Ở đâu trong câu trả lời của bạn, hoặc bạn có nghĩa là ? κkκ
RustyStatistician

1
Một thuật toán nữa, mà tôi chưa sử dụng * nhưng chiến thắng trong bộ phận tên gây cười, là SNOBFIT . (* Tác giả đáng chú ý trong cộng đồng tối ưu hóa tuy nhiên, và các phần mềm đã làm OK trên một chuẩn mực xác định , vì vậy đề nghị không chỉ dựa trên tên mát mẻ!)
GeoMatt22

4

Các câu trả lời hiện tại tập trung vào định nghĩa (toán học) thích hợp của mục tiêu tối ưu hóa ngẫu nhiên - tôi muốn cung cấp một viễn cảnh được áp dụng nhiều hơn.

Vấn đề này xảy ra thường xuyên khi lắp các mô hình ngẫu nhiên, ví dụ như sử dụng các khả năng không chính thức hoặc tổng hợp. Tham chiếu (1) cung cấp cho bạn danh sách các tùy chọn có thể được sử dụng để xác định khoảng cách giữa mô hình ngẫu nhiên và dữ liệu.

Sau khi đã xác định mục tiêu của bạn theo cách này, vấn đề còn lại là tìm ra mức tối ưu của một số mục tiêu ồn ào. Có hai tuyến đường để đi, a) tối ưu hóa và b) lấy mẫu MCMC. Bạn đã hỏi cụ thể về tối ưu hóa, nhưng tôi muốn đưa vào các MCMC vì chúng thường được xử lý tốt hơn cho nhiệm vụ này.

a) Nếu bạn duy trì tối ưu hóa, bạn cần đảm bảo rằng bạn không bị kẹt và trình tối ưu hóa có thể đối phó với mục tiêu ngẫu nhiên. Chương 4 trong luận án tiến sĩ của Matteo Fasiolo đưa ra một số gợi ý, xem (2).

b) Như chúng tôi lưu ý trong (1), các MCMC thường mạnh hơn so với mục tiêu ngẫu nhiên - trong điều kiện nhẹ liên quan đến phân phối tiếng ồn, MCMC sẽ loại bỏ tiếng ồn và mục tiêu được lấy mẫu sẽ không thể phân biệt được với tiếng ồn mục tiêu với trung bình của mục tiêu ồn ào. Tuy nhiên, các MCMC cũng có thể bị kẹt khi gặp một đánh giá đặc biệt tốt. Điều bạn KHÔNG PHẢI làm bây giờ là có được ý tưởng "hiển nhiên" sau: chỉ cần tính cả giá trị hiện tại và giá trị đề xuất trong mỗi lần lặp MCMC. Từ khóa để tra cứu ở đây là "giả biên", xem thêm ở đâyđây .

1) Hartig, F.; Calabrese, JM; Đánh giá lại, B.; Wiegand, T. & Huth, A. (2011) Suy luận thống kê cho các mô hình mô phỏng ngẫu nhiên - lý thuyết và ứng dụng . Ecol. Lett., 14, 816-827.

2) Fasiolo, M. (2016) Phương pháp thống kê cho động lực dân số phức tạp . Đại học tắm


4

Giả sử chúng ta đang ở trong một không gian xác suất riêng biệt sao cho . Theo trực giác, bạn cần một số hàm để bạn có thể tối ưu hóa . Bạn chỉ có thể tối ưu hóa một mục tiêu duy nhất! U : R nR U ( f ( x ) )f(x)RnU:RnRU(f(x))

Tối ưu hóa một chức năng mục tiêu duy nhất nghe vẻ khá hạn chế, nhưng thực tế không phải vậy! Thay vào đó, một mục tiêu duy nhất có thể đại diện cho các sở thích vô cùng đa dạng mà bạn có thể có về giải pháp tốt hơn hoặc xấu hơn.

Bỏ qua phía trước, một nơi đơn giản để bắt đầu có thể là chọn một biến ngẫu nhiên sau đó giải quyết:λ

E[f(x)]

minimize (over x)E[λf(x)]subject toxX
Đây là trọng số lại tuyến tính đơn giản của . Dù sao, đây là một lập luận cho lý do tại sao thu gọn nhiều mục tiêu vào một mục tiêu duy nhất thường ổn.E[f(x)]

Thiết lập cơ bản:

  • Bạn có một biến lựa chọn và một bộ khả thi .XxX
  • Sự lựa chọn của bạn dẫn đến một kết quả ngẫu nhiên˜ y = f ( x )xy~=f(x)
  • Bạn có sở thích hợp lý trước kết quả ngẫu nhiên. (Về cơ bản, bạn có thể nói liệu bạn có thích một kết quả ngẫu nhiên cho kết quả khác hay không.)˜ yy~

Vấn đề của bạn là chọn sao cho:xX

xXf(x)f(x)
Trong tiếng Anh, bạn wan để chọn để không lựa chọn khả thi dẫn đến một kết quả ưa thích để .xxf(x)

Tương đương với tối đa hóa tiện ích (trong các điều kiện kỹ thuật nhất định)

Để đơn giản về mặt kỹ thuật, tôi sẽ nói rằng chúng ta đang ở trong một không gian xác suất riêng biệt với kết quả để tôi có thể biểu thị kết quả ngẫu nhiên với một vectơ .ny~yRn

Trong một số điều kiện kỹ thuật nhất định (không giới hạn theo nghĩa thực tế), vấn đề trên tương đương với tối đa hóa hàm tiện ích . (Hàm tiện ích gán kết quả ưu tiên nhiều hơn với số lượng cao hơn.)U(y)

Logic này sẽ áp dụng cho bất kỳ vấn đề nào trong đó lựa chọn của bạn dẫn đến nhiều biến kết quả.

maximize (over x)U(f(x))subject toxX

Cung cấp thêm cấu trúc cho chức năng tiện ích : Giả thuyết tiện ích dự kiến :U

Nếu chúng ta đang ở trong một môi trường xác suất và chúng ta chấp nhận các tiên đề Neumann-Morgernstern , thì hàm tiện ích tổng thể phải có một dạng đặc biệt:U

U(y)=E[u(yi)]=ipiu(yi)
Trong đó là xác suất của trạng thái và là hàm tiện ích lõm. Độ cong của đo lường ác cảm rủi ro. Đơn giản chỉ cần thay thế hình thức chuyên dụng này của bạn nhận được:piiuuU

maximize (over x)ipiu(yi)subject toxXy=f(x)

Quan sát rằng trường hợp đơn giản đang tối đa hóa giá trị mong đợi (nghĩa là không có ác cảm rủi ro).u(yi)=yi

Một cách tiếp cận khác: trọng lượngλ

Một điều cần làm là:

maximize (over x)iλiyisubject toxXy=f(x)

Theo trực giác, bạn có thể chọn trọng số lớn hơn hoặc nhỏ hơn xác suất của trạng thái xảy ra và điều này cho thấy tầm quan trọng của trạng thái.p iλipi

Sự biện minh sâu sắc hơn của phương pháp này là trong các điều kiện kỹ thuật nhất định, tồn tại lambda trọng số sao cho vấn đề trên và các vấn đề trước đó (ví dụ: tối đa hóa ) có cùng một giải pháp.U ( f ( x ) )λU(f(x))


Nhưng trong thiết lập này không phải tất cả các chức năng tiện ích đều dẫn đến cùng một câu trả lời đúng?
RustyStatistician

Và có những lựa chọn điển hình cho các chức năng tiện ích? Vấn đề của tôi là một trình giả lập máy tính ngẫu nhiên, thực sự là một trình giả lập hộp đen, vì vậy tôi không biết thông tin nào về các cơ chế cơ bản vì vậy tôi thậm chí có thể gán cho nó một chức năng tiện ích không?
RustyStatistician

Bạn cần suy nghĩ logic của vấn đề của bạn, điều gì tạo nên kết quả tốt và sau đó tìm một số hàm mục tiêu gán kết quả tốt hơn với số cao hơn. (Hoặc tương tự, bạn có thể thiết lập vấn đề này như một vấn đề tối thiểu hóa và gán kết quả tồi tệ hơn với số lượng cao hơn. Ví dụ: giảm thiểu một số khái niệm về lỗi bình phương, v.v.)
Matthew Gunn
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.