hồi quy quy trình gaussian cho các bộ dữ liệu lớn


10

Tôi đã tìm hiểu về quá trình Gaussian hồi quy từ các video trực tuyến và ghi chú bài giảng, sự hiểu biết của tôi về nó là nếu chúng ta có một bộ dữ liệu với điểm sau đó chúng tôi giả định các dữ liệu được lấy mẫu từ một chiều đa biến Gaussian. Vì vậy, câu hỏi của tôi là trong trường hợp là 10 triệu của hồi quy quy trình Gaussian vẫn hoạt động? Ma trận hạt nhân sẽ không lớn làm cho quá trình hoàn toàn không hiệu quả? Nếu vậy có kỹ thuật nào để xử lý vấn đề này, như lấy mẫu từ tập dữ liệu nhiều lần không? Một số phương pháp tốt để xử lý các trường hợp như vậy là gì? n nnnn


3
Tại sao bạn muốn sử dụng quy trình Gaussian mà không phải là thứ được định sẵn để xử lý dữ liệu lớn?
Tim

Câu trả lời:


7

Có một loạt các cách tiếp cận để mở rộng GP cho các bộ dữ liệu lớn, ví dụ:

Phương pháp tiếp cận thứ hạng thấp : những nỗ lực này để tạo ra một xấp xỉ thứ hạng thấp cho ma trận hiệp phương sai. Nổi tiếng nhất có lẽ là phương pháp Nystroms chiếu dữ liệu lên một tập hợp con các điểm. Dựa trên đó FITC và PITC đã được phát triển sử dụng các điểm giả thay vì các điểm được quan sát. Chúng được bao gồm trong ví dụ thư viện trăn GPy. Các cách tiếp cận khác bao gồm các tính năng Fourier ngẫu nhiên.

Ma trận H : chúng sử dụng cấu trúc phân cấp của ma trận hiệp phương sai và áp dụng các xấp xỉ thứ hạng thấp cho mỗi cấu trúc con. Điều này ít được thực hiện trong các thư viện phổ biến.

Phương pháp Kronecker : chúng sử dụng các sản phẩm Kronecker của ma trận hiệp phương sai để tăng tốc độ tính toán qua nút cổ chai.

Máy ủy ban Bayesian : Điều này liên quan đến việc chia dữ liệu của bạn thành các tập hợp con và mô hình hóa từng dữ liệu với GP. Sau đó, bạn có thể kết hợp các dự đoán bằng cách sử dụng kết hợp Bayes tối ưu của các đầu ra. Điều này khá dễ để tự thực hiện và nhanh chóng nhưng loại phá vỡ hạt nhân của bạn là điều bạn quan tâm về điều đó - bài viết của Mark Deisenroth đủ dễ để theo dõi ở đây .


5

Thông thường, những gì bạn có thể làm là huấn luyện các Quy trình Gaussian trên các mẫu con của tập dữ liệu của bạn (đóng bao). Đóng bao được thực hiện trong sk learn và có thể được sử dụng dễ dàng. Xem mỗi ví dụ tài liệu .

nnbagsnpO(n3)O(nbagsnp3)

O(n)


5

Bạn đã hỏi:

trong trường hợp là 10 triệu thì hồi quy quy trình Gaussian vẫn hoạt động?

Không phải trong ý nghĩa tiêu chuẩn của việc xây dựng và đảo ngược một ma trận lớn. Bạn có hai tùy chọn: 1) chọn một mô hình khác hoặc 2) thực hiện xấp xỉ.

1) Một số mô hình dựa trên GP có thể được thu nhỏ thành các tập dữ liệu rất lớn, chẳng hạn như máy ủy ban Bayes được liên kết trong câu trả lời ở trên. Tôi thấy cách tiếp cận này khá không thỏa đáng: có những lý do chính đáng để chọn mô hình GP và nếu chúng ta chuyển sang mô hình tính toán hơn, chúng ta có thể không giữ được các thuộc tính của mô hình ban đầu. Ví dụ, phương sai dự đoán của BCM phụ thuộc rất nhiều vào sự phân chia dữ liệu.

2) Cách tiếp cận 'cổ điển' đối với xấp xỉ trong GP là để xấp xỉ ma trận hạt nhân. Có một đánh giá tốt về các loại phương pháp này ở đây: http://www.jmlr.org/ con / volume6 / kiononero-candela05a / rsonero-candela05a.pdf . Trên thực tế, chúng ta thường có thể xem các xấp xỉ ma trận này là xấp xỉ mô hình và gộp chúng lại với bộ máy của ủy ban Bayes: chúng thay đổi mô hình và thật khó hiểu khi những thay đổi đó có thể là bệnh lý. Dưới đây là một siêu đánh giá: https : // Vogue.nips.cc/apers/6477-under Hiểu-probabilistic-spude-gaussian- process-appro xấpations.pdf

Cách tôi ủng hộ để thực hiện xấp xỉ cho các GP lớn là tránh xấp xỉ ma trận hạt nhân hoặc mô hình, và xấp xỉ phân phối sau bằng cách sử dụng suy luận đa dạng. Rất nhiều phép tính trông giống như một xấp xỉ ma trận 'thứ hạng thấp', nhưng có một tính chất rất mong muốn: bạn càng sử dụng tính toán (càng nhiều "xếp hạng" thì càng gần đúng với phép đo sau, như được đo bằng KL phân kỳ.

Những bài viết này là một điểm khởi đầu tốt: http://proceedings.mlr.press/v5/titsias09a/titsias09a.pdf https://arxiv.org/pdf/1309.6835

Tôi đã viết một bài viết dài hơn về cùng một lập luận ở đây: https://www.prowler.io/blog/spzzy-gps-approximate-the-posterior-not-the-model

Trong thực tế, phép tính gần đúng biến đổi hoạt động thực sự tốt trong rất nhiều trường hợp. Tôi đã sử dụng nó rộng rãi trong các ứng dụng thực tế. Và gần đây hơn đã có một số lý thuyết tuyệt vời để sao lưu lý do tại sao nó nên hoạt động ( https://arxiv.org/abs/1903.03571 ).

Một phích cắm cuối cùng: suy luận đa dạng trong GP được triển khai trong gpflow ( https://github.com/GPflow/GPflow )


1
Chỉ để ghi nhận nếu ai đó tình cờ gặp phải điều này và không biết, James sẽ là một trong những người có thẩm quyền trong lĩnh vực này cùng với Mike Osborne, Neill Lawrence, v.v. - anh ấy rất tuyệt khi trả lời Q & A trên SE
j__
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.