大規模なデータセットのガウス過程回帰


10

私はオンラインビデオと講義ノートからガウシアンプロセス回帰について学んでいますが、ポイントのデータセットがある場合、データはn次元の多変量ガウシアンからサンプリングされると想定しています。だから私の質問は、nが数千万の場合で、ガウスプロセス回帰はまだ機能しますか?カーネルマトリックスは巨大ではなく、プロセスは完全に非効率的になりますか?もしそうなら、データセットから何度もサンプリングするような、これに対処するためのテクニックが用意されていますか?そのような場合に対処するためのいくつかの良い方法は何ですか? nnn


3
大きなデータを処理するためのものではなく、なぜガウス過程を使用したいのですか?
Tim

回答:


7

GPを大規模なデータセットにスケーリングするには、さまざまなアプローチがあります。次に例を示します。

低ランクアプローチ:これらは、共分散行列に低ランクの近似を作成するために努力しています。最も有名なのは、おそらくデータをポイントのサブセットに投影するNystromsメソッドです。その上で、観測された点ではなく疑似点を使用するFITCおよびPITCが開発されました。これらは、たとえばGPy Pythonライブラリに含まれています。他のアプローチには、ランダムなフーリエ特徴が含まれます。

H-行列:これらは共分散行列の階層構造を使用し、各構造の部分行列に低ランクの近似を適用します。これは一般的なライブラリではあまり一般的に実装されていません。

クロネッカー法:これらは、頭上のボトルネックの計算を高速化するために、共分散行列のクロネッカー積を使用します。

ベイジアン委員会マシン:これには、データをサブセットに分割し、それぞれをGPでモデル化することが含まれます。次に、出力の最適なベイジアン組み合わせを使用して予測を組み合わせることができます。これは自分で実装するのは非常に簡単で、高速ですが、カーネルに多少の問題があります。それを気にかけているところです-Mark Deisenrothの論文は、ここをたどるのに十分簡単なはずです


5

通常、実行できることは、データセットのサブサンプルでガウスプロセスをトレーニングすることです(バギング)。バギングはsk learnに実装されており、簡単に使用できます。例ごとにドキュメントを参照してください。

nnbagsnpO(n3)O(nbagsnp3)

O(n)


5

あなたは尋ねました:

𝑛が数千万の場合でも、ガウスプロセス回帰は機能しますか?

大きなマトリックスを作成して反転するという標準的な意味ではありません。2つのオプションがあります。1)異なるモデルを選択するか、2)近似を行います。

1)一部のGPベースのモデルは、上記の回答でリンクされているベイズ委員会のマシンなど、非常に大きなデータセットにスケーリングできます。ただし、このアプローチは不十分であることがわかります。GPモデルを選択するのには十分な理由があり、より計算可能なモデルに切り替える場合、元のモデルのプロパティを保持できない可能性があります。たとえば、BCMの予測分散は、データ分割に強く依存します。

2)GPにおける「古典的な」近似へのアプローチは、カーネル行列を近似することです。これらの種類のメソッドの良いレビューがここにあります:http : //www.jmlr.org/papers/volume6/quinonero-candela05a/quinonero-candela05a.pdf。実際、通常、これらの行列近似はモデル近似として見ることができ、ベイジアンコミティアマシンでまとめることができます。これらはモデルの変更であり、これらの変更がいつ病理的であるかを理解するのは難しい場合があります。ここにスーパーレビューがあります:https : //papers.nips.cc/paper/6477-understanding-probabilistic-sparse-gaussian-process-approximations.pdf

大きなGPの近似を行うことを推奨する方法は、カーネルマトリックスまたはモデルの近似を回避し、変分推論を使用して事後分布を近似することです。計算の多くは「低ランク」行列近似のように見えますが、非常に望ましい特性が1つあります。使用する計算が多いほど(「ランク」が高くなるほど)、KLで測定されるように、近似は真の事後に近くなります。発散。

これらの記事は良い出発点です:http : //proceedings.mlr.press/v5/titsias09a/titsias09a.pdf https://arxiv.org/pdf/1309.6835

私は同じ議論についてより長い記事をここに書きました:https : //www.prowler.io/blog/sparse-gps-approximate-the-posterior-not-the-model

実際には、変分近似は多くの場合に非常にうまく機能します。実際のアプリケーションで幅広く使用しました。そして最近では、なぜそれが機能するのかを裏付けるいくつかの優れた理論があります(https://arxiv.org/abs/1903.03571)。

最後のプラグイン:GPの変分推論はgpflowで実装されています(https://github.com/GPflow/GPflow


1
クールの種類、彼はSEにQ&Aに答えています-誰かがこの出くわすと認識していない場合は念のために、ジェームズはマイク・オズボーン、ニールローレンスなどに伴って、フィールドの当局の一つだろう
j__
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.