chọn các tham số trước cho hỗn hợp biến thiên của Gaussian


7

Tôi đang thực hiện một hỗn hợp đa dạng vanilla của Gaussian đa biến, theo Chương 10 của Nhận dạng mẫu và Học máy (Giám mục, 2007).

Cách tiếp cận Bayes yêu cầu xác định các tham số (hyper) cho Gaussian-inverse-Wishart trước:

  • α0 (tham số nồng độ của Dirichlet trước);
  • ν0 (mức độ tự do của phân phối Wishart nghịch đảo);
  • β0 (các quan sát giả cho phân phối Wishart nghịch đảo Gaussian);
  • m0 (giá trị trung bình của phân phối Gaussian).
  • W0 (ma trận tỷ lệ cho Wishart nghịch đảo).

Các lựa chọn phổ biến là , , , , , trong đó là chiều của không gian.α0=1ν0=d+1β0=1m0=0W0=Idd

Không có gì đáng ngạc nhiên, hậu thế có thể phụ thuộc mạnh mẽ vào sự lựa chọn tham số (cụ thể, tôi thấy rằng có tác động lớn đến số lượng thành phần, nhiều hơn ). Đối với và , các lựa chọn ở trên chỉ có ý nghĩa nếu dữ liệu đã được chuẩn hóa phần nào.W0α0m0W0

Theo cách tiếp cận Bayes theo kinh nghiệm, tôi đã nghĩ đến việc thiết lập và bằng với ma trận hiệp phương sai theo kinh nghiệm và dữ liệu theo kinh nghiệm (đối với sau này, tôi có thể có lẽ chỉ xem xét đường chéo, ngoài ra, tôi cần nhân ma trận hiệp phương sai mẫu với ). Điều này sẽ hợp lý? Bất kỳ đề nghị về các phương pháp hợp lý khác để thiết lập các tham số? (không đi theo Bayes và DPGMM phân cấp đầy đủ)m0W01ν0

(Có một câu hỏi tương tự ở đây , nhưng không có câu trả lời nào liên quan đến câu hỏi của tôi.)

Câu trả lời:


2

Linh mục tốt phụ thuộc vào vấn đề thực tế của bạn - đặc biệt, tôi không tin có bất kỳ mặc định thực sự phổ quát nào. Một cách tốt là cố gắng hình thành kiến ​​thức cụ thể về miền (có thể yếu và mơ hồ) về quy trình tạo dữ liệu của bạn, ví dụ:

  • "Rất khó có nhiều hơn 12 thành phần"
  • "Rất khó có thể quan sát các giá trị lớn hơn 80"

Lưu ý rằng những thông thường không nên được thông báo bởi dữ liệu thực tế bạn đã thu thập mà bằng những gì bạn có thể nói trước khi thu thập dữ liệu. (ví dụ: dữ liệu biểu thị nhiệt độ ngoài trời tính bằng Celsius do đó rất có thể chúng sẽ nằm trong ngay cả trước khi xem dữ liệu). Bạn cũng có thể thúc đẩy các linh mục của mình bằng máy móc tính toán mà bạn sử dụng (ví dụ: tôi sẽ thu thập 100 điểm dữ liệu, do đó tôi có thể giả định rằng không có nhiều hơn 10 thành phần vì dù sao tôi sẽ không có đủ dữ liệu để tìm nhiều thành phần hơn)[50,80]

Một số câu lệnh có thể được dịch trực tiếp thành các mục sư - ví dụ: bạn có thể đặt và để 95% khối lượng trước vượt quá phạm vi giá trị dự kiến.m0W01

Đối với các tham số ít trực quan hơn (hoặc giống như một kiểm tra độ mạnh khác), bạn có thể theo dõi Trực quan hóa trong giấy công việc Bayes và thực hiện kiểm tra dự đoán trước : điều này có nghĩa là bạn mô phỏng một số lượng lớn các bộ dữ liệu mới bắt đầu từ trước. Sau đó bạn có thể hình dung chúng để xem nếu chúng

  1. đừng vi phạm mong đợi của bạn quá thường xuyên (thật tốt khi để lại một số chỗ cho những điều bất ngờ, do đó nhắm đến một cái gì đó giống như 90% hoặc 95% mô phỏng trong các ràng buộc của bạn)
  2. mặt khác bao gồm toàn bộ phổ của các giá trị một cách hợp lý

Cảm ơn. Đây là một câu trả lời (sách giáo khoa) tốt và tôi đồng ý rằng thông thường các linh mục không nên được thông báo bởi dữ liệu, nhưng trong thực tế, họ rất có thể - xem Bayes theo kinh nghiệm (tất nhiên cách thức Bayes chính xác sẽ là thiết lập mô hình phân cấp với các siêu nhân, những người không bị ảnh hưởng bởi dữ liệu và bị thiệt thòi so với những người đó). Nói cách khác, câu hỏi ban đầu của tôi là hỏi về những siêu nhân như vậy và các xấp xỉ heuristic của chúng.
lacerbi

0

Nếu bạn quan tâm đến hiệu suất trên sự thanh lịch, bạn có thể xác định một số biện pháp phù hợp theo kinh nghiệm và chạy tìm kiếm siêu tham số để tối đa hóa 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.