Điều chỉnh siêu tham số trong hồi quy quy trình Gaussian


13

Tôi đang cố gắng điều chỉnh các siêu đường kính của thuật toán hồi quy quy trình gaussian mà tôi đã thực hiện. Tôi chỉ đơn giản muốn tối đa hóa khả năng cận biên của nhật ký được đưa ra bởi nhật ký công thức ( y | X , θ ) = - 1

log(y|X,θ)=12yTKy1y12log(det(K))n2log(2π)
trong đóKlà ma trận hiệp phương sai với các phần tử
Kij=k(xi,xj)=b1exp(12(xixj)TM(xixj))+a1δij
trong đóM=lIa,bllà các siêu đường kính.

đạo hàm riêng của các tham số wrt khả năng cận biên của log được đưa ra bởi

log(y|X,θ)dθ=12trace(K1dKdθ)+12(ydKdθK1dKdθy)

Như các mục của K phụ thuộc vào các thông số, do đó, làm phái sinh và nghịch đảo của K . Điều này có nghĩa, khi sử dụng trình tối ưu hóa dựa trên độ dốc, việc đánh giá độ dốc tại một điểm nhất định (giá trị tham số) sẽ yêu cầu tính toán lại ma trận hiệp phương sai. Trong ứng dụng của tôi, điều này là không khả thi vì tính toán ma trận hiệp phương sai từ đầu và tính toán nghịch đảo của nó trong mỗi lần lặp lại độ dốc là quá đắt. Câu hỏi của tôi là những lựa chọn của tôi là gì để tìm ra một sự kết hợp khá tốt của ba tham số này? và tôi cũng không biết nên tối ưu hóa tham số nào trước và tôi cũng sẽ đánh giá cao bất kỳ con trỏ nào về vấn đề này.


Tôi đã thành công khi sử dụng HMC để lấy mẫu siêu tham số GP cho các tập dữ liệu có kích thước khiêm tốn.
Sycorax nói Phục hồi lại

Xin chào @Sycorax, bạn có thể vui lòng cho chúng tôi biết bạn đã sử dụng kỹ thuật này như thế nào để giải quyết vấn đề này không? Tôi có cùng một vấn đề như OP đã hỏi và đã suy nghĩ về việc sử dụng MCMC để giải quyết nó nhưng chưa biết làm thế nào để làm điều đó.
Willian Fuks

Tôi vừa mã hóa GP ở Stan. Các siêu đường kính GP được khai báo là tham số của mô hình và được suy ra tương ứng. Điều này tạo ra một bộ dự đoán cho mỗi lần lặp HMC. Gelman minh họa cách tất cả hoạt động trong BDA3.
Sycorax nói phục hồi Monica

Câu trả lời:


6

Bạn đã đúng rằng bạn cần một phép tính ma trận hiệp phương sai mới trên mỗi lần lặp lại độ dốc. Vì vậy, nếu tính toán ma trận không khả thi cho cài đặt của bạn, thì tôi nghĩ, bạn không thể sử dụng tối ưu hóa khả năng cận biên dựa trên độ dốc.

Đề xuất của tôi là sử dụng các phương pháp không có độ dốc để điều chỉnh siêu tham số, chẳng hạn như tìm kiếm lưới, tìm kiếm ngẫu nhiên hoặc tìm kiếm dựa trên tối ưu hóa Bayes . Các phương pháp này được sử dụng rộng rãi để tối ưu hóa siêu âm của các thuật toán học máy khác, ví dụ như SVM.

Tôi đề nghị tìm kiếm lưới cho lần thử đầu tiên của bạn. Về cơ bản, bạn tạo thành một bảng (lưới) các siêu đường kính có thể, thử mọi thứ và tìm kiếm hiệu suất xác thực tốt nhất (hoặc khả năng cận biên tốt nhất).

Tìm kiếm lưới sẽ mang lại một bộ siêu đường kính tối ưu và bạn phải tự xác định lưới. (Mẹo: tạo lưới theo tỷ lệ nhật ký) nhưng cần tính toán ít hơn nhiều. (và bạn không cần gradient!)

Nếu bạn không quen với tìm kiếm dạng lưới, bạn có thể tra cứu Wikipedia: Tối ưu hóa siêu tham số - Tìm kiếm lưới

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.