Ước lượng không chắc chắn trong các vấn đề suy luận chiều cao mà không cần lấy mẫu?


9

Tôi đang làm việc với một vấn đề suy luận chiều cao (khoảng 2000 tham số mô hình) mà chúng tôi có thể thực hiện mạnh mẽ ước tính MAP bằng cách tìm mức tối đa toàn cầu của log-posterior bằng cách sử dụng kết hợp tối ưu hóa dựa trên độ dốc và thuật toán di truyền.

Tôi rất muốn có thể đưa ra một số ước tính về độ không đảm bảo trên các tham số mô hình ngoài việc tìm ước tính MAP.

Chúng tôi có thể tính toán hiệu quả độ dốc của log-posterior liên quan đến các tham số, vì vậy, về lâu dài chúng tôi đang nhắm đến việc sử dụng Hamilton MCMC để thực hiện một số mẫu, nhưng hiện tại tôi quan tâm đến các ước tính không lấy mẫu.

Cách tiếp cận duy nhất tôi biết là tính toán nghịch đảo của Hessian ở chế độ để xấp xỉ hậu thế là đa biến thông thường, nhưng ngay cả điều này dường như không khả thi đối với một hệ thống lớn như vậy, ngay cả khi chúng ta tính toán các yếu tố của Hessian Tôi chắc chắn chúng ta không thể tìm thấy nghịch đảo của nó.4×106

Bất cứ ai có thể đề nghị loại phương pháp thường được sử dụng trong các trường hợp như thế này?

Cảm ơn!

EDIT - thông tin bổ sung về vấn đề

Bối cảnh
Đây là một vấn đề nghịch đảo liên quan đến một thí nghiệm vật lý lớn. Chúng ta có một lưới tam giác 2D mô tả một số trường vật lý và các tham số mô hình của chúng ta là các giá trị vật lý của các trường đó ở mỗi đỉnh của lưới. Lưới có khoảng 650 đỉnh và chúng tôi mô hình 3 trường, do đó, đó là nơi 2000 tham số mô hình của chúng tôi đến từ.

Dữ liệu thử nghiệm của chúng tôi là từ các công cụ không đo trực tiếp các trường này, nhưng số lượng là các hàm phi tuyến tính phức tạp của các trường. Đối với mỗi công cụ khác nhau, chúng tôi có một mô hình chuyển tiếp ánh xạ các tham số mô hình theo dự đoán của dữ liệu thử nghiệm và so sánh giữa dự đoán và phép đo mang lại khả năng ghi nhật ký.

Sau đó, chúng tôi tổng hợp khả năng đăng nhập từ tất cả các công cụ khác nhau này và cũng thêm một số giá trị trước nhật ký áp dụng một số ràng buộc vật lý cho các trường.

Do đó, tôi nghi ngờ 'mô hình' này nằm gọn trong một danh mục - chúng tôi không có lựa chọn mô hình đó là gì, nó được quyết định bởi cách thức các công cụ thực tế thu thập dữ liệu thử nghiệm của chúng tôi.

Tập dữ liệu
Tập dữ liệu được tạo thành từ 500x500 hình ảnh và có một hình ảnh cho mỗi camera nên tổng số điểm dữ liệu là 500x500x4 = .106

Mô hình lỗi
Chúng tôi nhận tất cả các lỗi trong vấn đề là Gaussian tại thời điểm này. Tại một số điểm, tôi có thể cố gắng chuyển sang mô hình lỗi của sinh viên chỉ để linh hoạt hơn, nhưng mọi thứ dường như vẫn hoạt động tốt chỉ với Gaussian.

Ví dụ về khả năng
Đây là một thí nghiệm vật lý plasma và phần lớn dữ liệu của chúng tôi đến từ các máy ảnh hướng vào plasma với các bộ lọc cụ thể trước ống kính để chỉ nhìn vào các phần cụ thể của phổ ánh sáng.

Để tái tạo dữ liệu có hai bước; đầu tiên chúng ta phải mô hình hóa ánh sáng phát ra từ plasma trên lưới, sau đó chúng ta phải mô hình hóa ánh sáng đó trở lại hình ảnh camera.

Việc mô hình hóa ánh sáng phát ra từ plasma không may phụ thuộc vào hệ số tốc độ hiệu quả, cho biết mức độ phát ra của các quá trình khác nhau được đưa ra trong các trường. Các tỷ lệ này được dự đoán bởi một số mô hình số đắt tiền, vì vậy chúng tôi phải lưu trữ đầu ra của chúng trên các lưới và sau đó nội suy để tìm kiếm các giá trị. Dữ liệu hàm tốc độ chỉ được tính một lần - chúng tôi lưu trữ dữ liệu sau đó xây dựng một spline từ nó khi mã khởi động, và sau đó spline đó được sử dụng cho tất cả các đánh giá hàm.

Giả sử và là các hàm tốc độ (mà chúng ta đánh giá bằng phép nội suy), sau đó phát xạ ở đỉnh thứ của lưới được đưa ra bởi trong đó là 3 trường chúng ta lập mô hình trên lưới. Dễ dàng đưa vectơ phát xạ vào hình ảnh camera, chỉ cần nhân với ma trận để mã hóa các phần của lưới mà mỗi pixel camera nhìn qua.R1R2iEi

Ei=R1(xi,yi)+ziR2(xi,yi)
(x,y,z)G

Vì các lỗi là Gaussian, nên khả năng đăng nhập cho máy ảnh cụ thể này là

L=12(GEd)Σ1(GEd)

trong đó là dữ liệu camera. Tổng khả năng ghi nhật ký là tổng của 4 biểu thức trên nhưng đối với các máy ảnh khác nhau, tất cả đều có các phiên bản khác nhau của các hàm tốc độ vì chúng nhìn vào các phần khác nhau của phổ ánh sáng.dR1,R2

Ví dụ trước
Chúng tôi có nhiều linh mục khác nhau, chỉ thực sự đặt giới hạn trên và dưới nhất định cho các đại lượng khác nhau, nhưng những người này có xu hướng không hành động quá mạnh mẽ vào vấn đề. Chúng tôi có một ưu tiên hành động mạnh mẽ, áp dụng hiệu quả việc làm mịn kiểu Laplacian cho các trường. Nó cũng có dạng Gaussian:

log-prior=12xSx12ySy12zSz


1
Những mô hình bạn đang phù hợp? Hồi quy tuyến tính? Bác sĩ gia đình? Một mô hình đếm thứ bậc? Hiệu chuẩn Bayes của một mô hình máy tính? Vui lòng thêm chi tiết về vấn đề bạn đang giải quyết và tôi sẽ viết câu trả lời với ưu và nhược điểm của VI.
DeltaIV

1
@DeltaIV Tôi đã cập nhật câu hỏi với một số thông tin khác - có thể là tôi đã không giải thích chính xác những gì bạn đang tìm kiếm. Nếu vậy hãy cho tôi biết và tôi sẽ thực hiện một chỉnh sửa khác, cảm ơn!
CBowman

1
@DeltaIV Cảm ơn một lần nữa! Thêm thông tin được thêm vào, cho tôi biết nếu tôi có thể thêm bất cứ điều gì khác.
CBowman

1
@DeltaIV hình ảnh dữ liệu là 500x500 và có một cho mỗi camera nên tổng số điểm dữ liệu là 500x500x4 = . Dữ liệu hàm tốc độ chỉ được tính một lần - chúng tôi lưu trữ dữ liệu sau đó xây dựng một spline từ nó khi mã khởi động, và sau đó spline đó được sử dụng cho tất cả các đánh giá hàm. 106
CBowman

1
Tôi không có tài liệu tham khảo, nhưng có rất nhiều xấp xỉ thứ hạng thấp để tính toán nghịch đảo ma trận. ví dụ: tìm giá trị lớn nhất , giả sử còn lại bằng nhau và sử dụng xấp xỉ thô cho các hàm riêng tương ứng với giá trị riêng thấp. Tôi khá chắc chắn rằng cũng có các phân tách Cholesky gần đúng / lặp đi lặp lại hội tụ đến giá trị chính xác. chỉ cần chấm dứt các lần lặp lại sau khi bạn chờ đợi thời gian tối đa là bao nhiêuk2000k
xác suất vào

Câu trả lời:


4

Trước hết, tôi nghĩ mô hình thống kê của bạn là sai. Tôi thay đổi ký hiệu của bạn thành một người quen thuộc hơn với các nhà thống kê, do đó, hãy để

d=y=(y1,,yN), N=106

là véc tơ quan sát của bạn (dữ liệu) và

x=θ=(θ1,,θp)y=ϕ=(ϕ1,,ϕp)z=ρ=(ρ1,,ρp), p650

các vectơ tham số của bạn, có tổng kích thước . Sau đó, nếu tôi hiểu chính xác, bạn giả sử một mô hìnhd=3p2000

y=Gr1(θ,ϕ)+ρGr2(θ,ϕ))+ϵ, ϵN(0,IN)

Trong đó là ma trận nội suy spline .GN×d

Điều này rõ ràng là sai. Không có cách nào các lỗi tại các điểm khác nhau trong hình ảnh từ cùng một máy ảnh và tại cùng một điểm trong hình ảnh từ các máy ảnh khác nhau, là độc lập. Bạn nên xem xét các số liệu thống kê và mô hình không gian, chẳng hạn như bình phương tối thiểu tổng quát, ước lượng bán tổng thể, phá hoại, quy trình Gaussian, v.v.


Phải nói rằng, vì câu hỏi của bạn không phải là liệu mô hình có gần đúng với quá trình tạo dữ liệu thực tế hay không, nhưng làm thế nào để ước tính mô hình đó, tôi sẽ chỉ cho bạn một vài lựa chọn để làm điều đó.

HMC

2000 thông số không phải là một mô hình rất lớn, trừ khi bạn đào tạo điều này trên máy tính xách tay. Bộ dữ liệu lớn hơn ( điểm dữ liệu), tuy nhiên, nếu bạn có quyền truy cập vào các trường hợp đám mây hoặc máy có GPU, các khung như Pyro hoặc Tensorflow Xác suất sẽ giải quyết vấn đề ngắn như vậy. Do đó, bạn có thể chỉ cần sử dụng Hamiltonian Monte Carlo chạy bằng GPU.106

Ưu điểm : suy luận "chính xác", trong giới hạn số lượng mẫu vô hạn từ chuỗi.

Nhược điểm : không ràng buộc chặt chẽ về lỗi ước tính, tồn tại nhiều số liệu chẩn đoán hội tụ, nhưng không có lý tưởng nào.

Xấp xỉ mẫu lớn

Với việc lạm dụng ký hiệu, hãy biểu thị bằng vectơ thu được bằng cách ghép ba vectơ tham số của bạn. Sau đó, bằng cách sử dụng định lý giới hạn trung tâm Bayes (Bernstein-von Mises), bạn có thể tính gần đúng với , trong đó là giá trị tham số "đúng", là ước tính MLE của và là ma trận thông tin Fisher được đánh giá tại . Tất nhiên, không xác định, chúng tôi sẽ sử dụngθp(θ|y)N(θ0^n,In1(θ0))θ0θ0^nθ0In1(θ0)θ0θ0In1(θ0^n)thay thế. Tính hợp lệ của định lý Bernstein-von Mises phụ thuộc vào một vài giả thuyết mà bạn có thể tìm thấy, ví dụ : ở đây : trong trường hợp của bạn, giả sử rằng trơn tru và khác biệt, định lý là hợp lệ, bởi vì sự hỗ trợ của Gaussian trước là toàn bộ không gian tham số. Hoặc, tốt hơn, nó sẽ hợp lệ, nếu dữ liệu của bạn thực sự đúng như bạn nghĩ, nhưng tôi không tin chúng là như tôi đã giải thích lúc đầu.R1,R2

Ưu điểm : đặc biệt hữu ích trong trường hợpĐược đảm bảo hội tụ đến câu trả lời đúng, trong cài đặt iid, khi khả năng diễn ra suôn sẻ và khác biệt và ưu tiên là không khác trong vùng lân cận của .p<<Nθ0

Nhược điểm : Con lừa lớn nhất, như bạn đã lưu ý, là cần phải đảo ngược ma trận thông tin Fisher. Ngoài ra, tôi sẽ không biết cách đánh giá độ chính xác của phép tính gần đúng theo kinh nghiệm, không sử dụng bộ lấy mẫu MCMC để lấy mẫu từ . Tất nhiên, điều này sẽ đánh bại tiện ích của việc sử dụng B-vM ngay từ đầu.p(θ|y)

Suy luận biến đổi

Trong trường hợp này, thay vì tìm chính xác (sẽ yêu cầu tính toán tích phân idimensional), chúng tôi chọn ước tính với , trong đó thuộc họ tham số được lập chỉ mục bởi vectơ tham số . Chúng tôi tìm kiếm st một số biện pháp khác biệt giữa và được giảm thiểu. Chọn biện pháp này là phân kỳ KL, chúng ta có được phương pháp suy luận biến đổi:p(θ|y)dpqϕ(θ)qQϕϕϕqp

ϕ=argminϕΦDKL(qϕ(θ)||p(θ|y))

Yêu cầu đối với :qϕ(θ)

  • nó phải khác biệt với , để chúng ta có thể áp dụng các phương pháp để tối ưu hóa quy mô lớn, chẳng hạn như Stochastic Gradient Descent, để giải quyết vấn đề tối thiểu hóa.ϕ
  • nó phải đủ linh hoạt để có thể ước chừng chính xác cho một số giá trị của , nhưng cũng đủ đơn giản để dễ lấy mẫu. Điều này là do ước tính phân kỳ KL (mục tiêu tối ưu hóa của chúng tôi) đòi hỏi phải ước tính một kỳ vọng wrt .p(θ|y)ϕq

Bạn có thể chọn để được factorized đầy đủ, tức là sản phẩm của phân bố xác suất đơn biến:qϕ(θ)d

qϕ(θ)=i=1dqϕi(θi)

đây được gọi phương pháp Variational Bayes có nghĩa là trường trung bình . Người ta có thể chứng minh (xem, ví dụ, Chương 10 của cuốn sách này ) rằng giải pháp tối ưu cho từng yếu tố làqϕj(θj)

logqj(θj)=Eij[logp(y,θ)]+const.

Trong đó là phân phối chung của các tham số và dữ liệu (trong trường hợp của bạn, đó là sản phẩm của khả năng Gaussian của bạn và các linh mục Gaussian trên các tham số) và kỳ vọng là đối với các biến thể khác phân phối đơn biến . Tất nhiên, vì giải pháp cho một trong các yếu tố phụ thuộc vào tất cả các yếu tố khác, chúng tôi phải áp dụng quy trình lặp, khởi tạo tất cả các phân phối cho một số dự đoán ban đầu và sau đó lặp lại cập nhật chúng tại một thời điểm với phương trình trên. Lưu ý rằng thay vì tính toán kỳ vọng ở trên dưới dạngp(y,θ)q1(θ1),,qj1(θj1),qj+1(θj+1),,qd(θd)qi(θi)(d1)tích phân thứ nguyên, sẽ bị cấm trong trường hợp của bạn khi các linh mục và khả năng không liên hợp, bạn có thể sử dụng ước lượng Monte Carlo để ước tính gần đúng.

Thuật toán Variational Bayes trường trung bình không phải là thuật toán VI duy nhất có thể bạn sử dụng: Bộ biến đổi tự động biến đổi được trình bày trong Kingma & Welling, 2014, "Biến đổi mã hóa tự động" là một thay thế thú vị, thay vì giả sử một dạng được xác định đầy đủ đối với và sau đó lấy biểu thức dạng đóng cho , được giả sử là Gaussian đa biến, nhưng với các tham số có thể khác nhau ở mỗi điểm dữ liệuĐể khấu hao chi phí suy luận, một mạng nơ ron được sử dụng để ánh xạ không gian đầu vào thành không gian tham số biến thiên. Xem bài viết để biết mô tả chi tiết về thuật toán: Việc triển khai VAE một lần nữa có sẵn trong tất cả các khung Deep Learning chính.qqiqN


mô hình độc lập VB có thể là một cách tiếp cận khủng khiếp cho các biện pháp chính xác . Nó thường lên tới xấp xỉ loại trình cắm mà không cần điều chỉnh. ví dụ đơn giản là không sử dụng điều chỉnh "bậc tự do" trong bạn và sử dụng bình thường thay vì phân phối t. đặc biệt là một vấn đề đối với các tham số siêu tốcs2
xác suất

@DeltaIV Mô hình thống kê nhìn chung khá tốt, các lỗi giữa các máy ảnh khác nhau rất độc lập và các pixel khác nhau trong cùng một máy ảnh cũng sẽ độc lập về cơ bản trừ khi chúng nằm liền kề nhau. Chúng ta có thể mã hóa một số tương quan không gian trong các pixel liền kề bằng cách sử dụng khả năng xử lý Gaussian, nhưng điều đó sẽ yêu cầu chúng ta đảo ngược trực tiếp ma trận hiệp phương sai hoặc giải quyết một hệ thống tuyến tính thưa thớt mỗi khi chúng ta muốn đánh giá khả năng, nhiều hơn nữa đắt tiền (mặc dù không nằm ngoài câu hỏi).
CBowman

2

bạn có thể muốn kiểm tra một số phần mềm "bayesX" và cũng có thể là phần mềm "inla". cả hai đều có khả năng có một số ý tưởng mà bạn có thể thử. Google nó

cả hai đều phụ thuộc rất nhiều vào việc khai thác độ thưa thớt trong việc tham số hóa ma trận chính xác (nghĩa là độc lập có điều kiện, mô hình kiểu markov) - và có các thuật toán đảo ngược được thiết kế cho điều này. hầu hết các ví dụ được dựa trên các mô hình guassian đa cấp hoặc tự động hồi quy. nên khá giống với ví dụ bạn đã đăng

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.