büyük veri kümeleri için gauss işlemi regresyonu


10

Çevrimiçi videolardan ve ders notlarından Gauss süreç gerilemesini öğreniyorum, benim anlayışım, puanlı bir veri setimiz varsa , verilerin boyutlu çok değişkenli bir Gaussian'dan örneklendiğini varsayarız . Yani sorum şu: Gauss süreç gerilemesi hala 10 milyonun olduğu milyonlarca durumda ? Çekirdek matrisi işlemi tamamen verimsiz kılacak kadar büyük olmayacak mı? Eğer öyleyse, bununla başa çıkmak için birçok kez tekrarlanan veri setinden örnekleme gibi teknikler var mı? Bu tür vakalarla başa çıkmak için iyi yöntemler nelerdir? nnn


3
Neden büyük verilerle uğraşmak için tasarlanmış bir şey değil, Gauss sürecini kullanmak istiyorsunuz?
Tim

Yanıtlar:


7

GP'leri büyük veri kümelerine ölçeklemek için çok çeşitli yaklaşımlar vardır, örneğin:

Düşük Rütbe Yaklaşımları : bunlar kovaryans matrisine düşük rütbeli bir yaklaşım oluşturmak için çaba gösterirler. En ünlüsü belki de verileri bir nokta alt kümesine yansıtan Nystroms yöntemidir. Bu FITC ve PITC'den, gözlenen noktalar yerine yalancı noktalar kullanan geliştirildi. Bunlar, örneğin GPy python kütüphanesine dahildir. Diğer yaklaşımlar rastgele Fourier özelliklerini içerir.

H-matrisleri : bunlar kovaryans matrisinin hiyerarşik yapılandırmasını kullanır ve her yapı alt matrisine düşük dereceli yaklaşımlar uygular. Bu popüler kütüphanelerde daha az uygulanmaktadır.

Kronecker Yöntemleri : Bunlar baş darboğazı üzerindeki hesaplamayı hızlandırmak için kovaryans matrislerinin Kronecker ürünlerini kullanır.

Bayesci Komite Makineleri : Bu, verilerinizi alt kümelere ayırmayı ve her birini bir GP ile modellemeyi içerir. Ardından çıktıların optimal Bayes kombinasyonunu kullanarak tahminleri birleştirebilirsiniz. Kendinizi uygulamak oldukça kolaydır ve hızlıdır, ancak çekirdeğiniz bir tür molalar umurundadır - Mark Deisenroth'un makalesini burada takip etmek yeterince kolay olmalıdır .


5

Genellikle, yapabileceğiniz şey, Gaussian Processes'i veri kümenizin (bagging) alt örnekleri üzerinde eğitmektir. Torbalama, sk öğrenmede uygulanır ve kolayca kullanılabilir. Örnek olarak belgelere bakın .

çağrı n gözlem sayısı, nbbirgs kullandığınız çanta sayısı ve np Torba başına puan sayısı, bu da eğitim süresini bir Ö(n3) bir Ö(nbbirgsnp3). Bu nedenle, küçük çantalarla ancak tüm verileri kullanarak, çok daha düşük bir eğitim süresi elde edebilirsiniz. Ne yazık ki, bu genellikle modelin performansını azaltır.

Torbalama tekniklerinin yanı sıra, Gauss Süreç Regresyonlarını ölçeklendirilebilir hale getirme konusunda aktif araştırmalar da vardır. Ölçeklenebilir Yapılandırılmış Gauss İşlemleri için Kernel Enterpolasyonu (KISS-GP) makalesi , eğitim süresini birÖ(n) ve bir matlab kodu ile birlikte gelir.


5

Sen sordun:

Gauss süreç gerilemesi hala milyonların 10'unun case olduğu durumda mı çalışıyor?

Büyük bir matris oluşturmak ve ters çevirmek için standart anlamda değil. İki seçeneğiniz vardır: 1) farklı bir model seçin veya 2) bir tahmin yapın.

1) Bazı GP tabanlı modeller, yukarıdaki cevaba bağlanan Bayesci komite makinesi gibi çok büyük veri setlerine ölçeklendirilebilir. Bu yaklaşımı oldukça tatmin edici bulmuyorum: GP modeli seçmenin iyi nedenleri var ve daha hesaplanabilir bir modele geçecek olursak orijinal modelin özelliklerini koruyamayabiliriz. BCM'nin tahmini varyansları, örneğin veri bölünmesine büyük ölçüde bağlıdır.

2) GP'lerde yaklaşık klasik yaklaşım 'çekirdek matrisine yaklaşmaktır. Burada bu tür yöntemlerin iyi bir incelemesi vardır: http://www.jmlr.org/papers/volume6/quinonero-candela05a/quinonero-candela05a.pdf . Aslında, bu matris yaklaşımlarını genellikle model yaklaşımı olarak görebilir ve Bayesci komite makinesiyle birleştirebiliriz: modelde değişiklik yaparlar ve bu değişikliklerin ne zaman patolojik olabileceğini anlamak zor olabilir. İşte süper bir inceleme: https://papers.nips.cc/paper/6477-understanding-probabilistic-sparse-gaussian-process-approximations.pdf

Büyük GP'ler için tahminler yapmayı savunduğum yöntem, çekirdek matrisine veya modele yaklaşmaktan kaçınmak ve varyasyonel çıkarım kullanarak arka dağılıma yaklaşmaktır . Hesaplamaların çoğu 'düşük dereceli' matris yaklaşımına benziyor, ancak çok istenen bir özellik var: Kullandığınız daha fazla hesaplama (daha fazla "sıralama"), KL tarafından ölçüldüğü gibi, yakınlık gerçek posteriora yakın uyuşmazlık.

Bu makaleler iyi bir başlangıç ​​noktasıdır: http://proceedings.mlr.press/v5/titsias09a/titsias09a.pdf https://arxiv.org/pdf/1309.6835

Burada aynı argüman hakkında daha uzun bir makale yazdım: https://www.prowler.io/blog/sparse-gps-approximate-the-posterior-not-the-model

Uygulamada, varyasyonel yaklaşım pek çok durumda gerçekten işe yarar. Gerçek uygulamalarda yaygın olarak kullandım. Ve daha yakın zamanlarda neden çalışması gerektiğini desteklemek için mükemmel bir teori vardı ( https://arxiv.org/abs/1903.03571 ).

Son bir eklenti: GP'lerde varyasyonsal çıkarım gpflow'da uygulanır ( https://github.com/GPflow/GPflow )


1
Birisi bununla karşılaşırsa ve bilmiyorsa, James Mike Osborne, Neill Lawrence ve benzeri alanlardaki yetkililerden biri olacaktı
SE'de
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.