Loading article…
これは、近似値を使用することが多いガウス過程による推論を可能にする統計解析ソフトウェアの比較です。
この記事はベイズ統計の観点から書かれており、クリギングで一般的に使用される用語とは異なる用語を使用している可能性があります。次のセクションでは、文脈上の用語とは関係なく、表に示されている情報の数学的/計算上の意味を明確にする必要があります。
列の説明
このセクションでは、以下の表の列の意味について詳しく説明します。
ソルバー
これらのコラムは、事前共分散行列、つまりカーネルを評価することによって構築される行列 によって定義される線形システムを解くために使用されるアルゴリズムに関するものです。
- 正確:汎用的な正確なアルゴリズムが実装されているかどうか。これらのアルゴリズムは通常、数千のデータポイントまでしか適していません。
- 特殊: 特定のクラスの問題に特化した正確なアルゴリズムが実装されているかどうか。サポートされている特殊アルゴリズムは次のように示されます。
- 近似:汎用または特殊な近似アルゴリズムが実装されているかどうか。サポートされている近似アルゴリズムは次のように示されます。
- スパース:入力空間内の「誘導点」のセットを選択することに基づくアルゴリズム。[5]または一般に共分散行列の逆行列にスパース構造を課す。
- 階層的:共分散行列を階層的行列で近似するアルゴリズム。[6]
入力
これらの列は、ガウス過程が評価されるポイント、つまり過程が であるかどうかに関するものです。
- ND : 多次元入力がサポートされているかどうか。サポートされている場合は、直接サポートされていなくても、入力に次元を追加することで多次元出力が常に可能になります。
- 非実数: 任意の非実数入力 (たとえば、テキストや複素数) がサポートされているかどうか。
出力
これらの列は、プロセスによって生成された値と、それらが適合に使用されるデータとどのように関連しているかに関するものです。
- 尤度: 任意の非ガウス 尤度がサポートされているかどうか。
- エラー: データポイント上の任意の非均一相関エラーがガウス尤度でサポートされているかどうか。エラーはカーネル コンポーネントを追加することで手動で処理できます。この列はエラーを個別に操作する可能性について示します。部分的なエラー サポートは次のように示されます。
- iid : データポイントは独立しており、同一に分布している必要があります。
- 相関なし: データポイントは独立している必要がありますが、分布が異なる場合があります。
- 定常: データポイントは相関関係にある可能性がありますが、共分散行列はテプリッツ行列である必要があります。特に、これは分散が均一でなければならないことを意味します。
ハイパーパラメータ
これらの列は、カーネルの式のパラメータなど、特定の問題の定義に何らかの形で入力されるが、ガウス過程の適合では推測できない変数の値を見つけることに関するものです。
- Prior :ハイパーパラメータに任意のハイパープライオリティを指定することがサポートされているかどうか。
- 事後: 事後推定が点推定を超えてサポートされているかどうか(他のソフトウェアと組み合わせて使用する場合あり)。
「事前」セルと「事後」セルの両方に「手動」が含まれている場合、ソフトウェアは、ハイパーパラメータに対する周辺尤度とその勾配を計算するためのインターフェイスを提供します。これは、勾配降下法やマルコフ連鎖モンテカルロ法などの最適化/サンプリング アルゴリズムに入力できます。
線形変換
これらのコラムは、データポイントをプロセスとその線形変換に同時に適合させる可能性について説明しています。
- 微分: 任意の微分可能なカーネルに対して、カーネルの滑らかさによって許可される最大値までの任意の数の微分を取ることができるかどうか。部分的な仕様の例には、最大微分可能性や一部のカーネルのみの実装などがあります。積分は微分から間接的に取得できます。
- 有限:指定されたデータポイントに対して有限の任意の線形変換が許可されるかどうか。
- 合計: さまざまなカーネルを合計し、各加数に対応するプロセスに個別にアクセスできるかどうか。これは有限線形変換の特殊なケースですが、共通の機能であるため個別にリストされています。
比較表
注記
- ^ ab celeriteは、で解くことができるカーネルの特定の部分代数のみを実装します。[3]
- ^ neural-tangents は、無限に広いニューラル ネットワークに特化したパッケージです。
- ^ SuperGauss は計算複雑度が の超高速Toeplitz ソルバーを実装します。
- ^ celerite2 には PyMC3 インターフェースがあります。
- ^ ab POD(Proper Orthogonal Decomposition)は、ガウス過程回帰で使用される次元削減手法であり、データを低次元のサブスペースに投影することで複雑なシステムを近似し、計算をより効率的にします。システムがいくつかの主要なモードによって支配されていると想定しているため、スケールが明確に分離可能な問題には理想的ですが、すべての次元がシステムの挙動に等しく寄与する場合はあまり効果的ではありません。[21]
参考文献
- ^ P. Cunningham , John; Gilboa, Elad; Saatçi , Yunus (2015 年 2 月) 。「構造化ガウス過程の多次元推論のスケーリング」 IEEE Transactions on Pattern Analysis and Machine Intelligence。37 ( 2): 424–436。arXiv : 1209.4120。doi : 10.1109 /TPAMI.2013.192。PMID 26353252。S2CID 6878550 。
- ^ Leith, DJ; Zhang, Yunong; Leithead, WE (2005). 「O(N²) 演算と O(N) レベル ストレージの Toeplitz 計算に基づく時系列ガウス過程回帰」。第44 回 IEEE 意思決定および制御会議の議事録。pp. 3711–3716。doi :10.1109/ CDC.2005.1582739。ISBN 0-7803-9567-0. S2CID 13627455。
- ^ abc Foreman-Mackey, Daniel; Angus, Ruth; Agol, Eric; Ambikasaran, Sivaram (2017年11月9日). 「高速かつスケーラブルなガウス過程モデリングと天文時系列への応用」. The Astronomical Journal . 154 (6): 220. arXiv : 1703.09710 . Bibcode :2017AJ....154..220F. doi : 10.3847/1538-3881/aa9332 . S2CID 88521913.
- ^ Sarkka, Simo; Solin, Arno; Hartikainen, Jouni (2013). 「無限次元ベイズフィルタリングとスムージングによる時空間学習:カルマンフィルタリングによるガウス過程回帰の考察」. IEEE Signal Processing Magazine . 30 (4): 51–61. doi :10.1109/MSP.2013.2246292. S2CID 7485363. 2021年9月2日閲覧。
- ^ Quiñonero-Candela, Joaquin; Rasmussen, Carl Edward (2005年12月5日). 「スパース近似ガウス過程回帰の統一的見解」. Journal of Machine Learning Research . 6 : 1939–1959 . 2020年5月23日閲覧。
- ^ ab Ambikasaran, S.; Foreman-Mackey, D.; Greengard, L.; Hogg, DW; O'Neil, M. (2016 年 2 月 1 日). 「ガウス過程の高速直接法」. IEEE Transactions on Pattern Analysis and Machine Intelligence . 38 (2): 252–265. arXiv : 1403.6015 . doi :10.1109/TPAMI.2015.2448083. PMID 26761732. S2CID 15206293.
- ^ abc ヴァンハタロ、ヤルノ;リーヒマキ、ヤアッコ。ハルティカイネン、ジョウニ。ユレンキ、パシ。トルヴァネン、ヴィル。ヴェフタリ、アキ (2013 年 4 月) 「GPstuff: ガウス プロセスを使用したベイジアン モデリング」。機械学習研究ジャーナル。14 : 1175−1179 。2020 年5 月 23 日に取得。
- ^ Rasmussen, Carl Edward; Nickisch, Hannes (2010 年 11 月). 「機械学習のためのガウス過程 (GPML) ツールボックス」. Journal of Machine Learning Research . 11 (2): 3011–3015. doi :10.1016/0002-9610(74)90157-3. PMID 4204594.
- ^ ab Matthews, Alexander G. de G.; van der Wilk, Mark; Nickson, Tom; Fujii, Keisuke; Boukouvalas, Alexis; León-Villagrá, Pablo; Ghahramani, Zoubin; Hensman, James (2017年4月). 「GPflow: TensorFlowを使用したガウス過程ライブラリ」. Journal of Machine Learning Research . 18 (40): 1–6. arXiv : 1610.08733 . 2020年7月6日閲覧。
- ^ Gardner, Jacob R; Pleiss, Geoff; Bindel, David; Weinberger, Kilian Q; Wilson, Andrew Gordon (2018). 「GPyTorch: GPU アクセラレーションによるブラックボックス行列間ガウス過程推論」(PDF) .ニューラル情報処理システムの進歩. 31 : 7576–7586. arXiv : 1809.11165 . 2020 年5 月 23 日閲覧。
- ^ Zilber, Daniel; Katzfuss, Matthias (2021年1月). 「大きな非ガウス空間データに対する一般化ガウス過程のVecchia–Laplace近似」.計算統計とデータ分析. 153 :107081 . arXiv : 1906.07828 . doi :10.1016/j.csda.2020.107081. ISSN 0167-9473. S2CID 195068888. 2021年9月1日閲覧。
- ^ Neumann, Marion; Huang, Shan; E. Marthaler, Daniel; Kersting , Kristian (2015). 「pyGPs — ガウス過程回帰と分類のための Python ライブラリ」。機械学習研究ジャーナル。16 : 2611–2616。
- ^ Kalaitzis, Alfredo; Lawrence, Neil D. (2011 年 5 月 20 日). 「ガウス過程回帰による、発現差のある遺伝子発現の時間経過の順位付けに対するシンプルなアプローチ」BMC Bioinformatics . 12 (1): 180. doi : 10.1186/1471-2105-12-180 . ISSN 1471-2105. PMC 3116489 . PMID 21599902.
- ^ Novak, Roman; Xiao, Lechao; Hron, Jiri; Lee, Jaehoon; Alemi, Alexander A.; Sohl-Dickstein, Jascha; Schoenholz, Samuel S. (2020). 「Neural Tangents: Python での高速かつ簡単な無限ニューラル ネットワーク」.国際学習表現会議. arXiv : 1912.02803 .
- ^ Roustant, Olivier; Ginsbourger, David; Deville, Yves (2012). 「DiceKriging、DiceOptim: クリギングベースのメタモデリングと最適化によるコンピューター実験の分析のための 2 つの R パッケージ」。Journal of Statistical Software。51 (1): 1–55。doi : 10.18637/ jss.v051.i01。S2CID 60672249。
- ^ Baudin, Michaël; Dutfoy, Anne; Iooss, Bertrand; Popelin, Anne-Laure (2015). 「OpenTURNS: シミュレーションにおける不確実性の定量化のための産業用ソフトウェア」。Roger Ghanem、David Higdon、Houman Owhadi (編)。不確実性の定量化ハンドブック。pp . 1–38。arXiv : 1501.05242。doi : 10.1007 /978-3-319-11259-6_64-1。ISBN 978-3-319-11259-6. S2CID 88513894。
- ^ Marelli, Stefano; Sudret, Bruno (2014). 「UQLab: MATLAB での不確実性定量化のフレームワーク」(PDF)。脆弱性、不確実性、およびリスク。定量化、緩和、および管理: 2554–2563。doi :10.3929/ ethz -a-010238238。ISBN 978-0-7844-1360-9. 2020年5月28日閲覧。
- ^ Couckuyt, Ivo; Dhaene, Tom; Demeester, Piet (2014). 「ooDACE ツールボックス: 柔軟なオブジェクト指向の Kriging 実装」(PDF) . Journal of Machine Learning Research . 15 : 3183–3186 . 2020 年7 月 8 日閲覧。
- ^ Bouhlel, Mohamed A.; Hwang, John T.; Bartoli, Nathalie; Lafage, Rémi; Morlier, Joseph; Martins, Joaquim RRA (2019). 「微分関数を備えた Python サロゲート モデリング フレームワーク」.エンジニアリング ソフトウェアの進歩. 135 (1): 102662. doi :10.1016/j.advengsoft.2019.03.005.
- ^ Saves, Paul; Lafage, Rémi; Bartoli, Nathalie; Diouane, Youssef; Bussemaker, Jasper; Lefebvre, Thierry; Hwang, John T.; Morlier, Joseph; Martins, Joaquim RRA (2024). 「SMT 2.0: 階層型および混合変数ガウス過程に重点を置いたサロゲートモデリングツールボックス」. Advances in Engineering Software . 188 (1): 103571. arXiv : 2305.13998 . doi :10.1016/j.advengsoft.2023.103571.
- ^ ポレロ、クリスチャン、デュブレイユ、シルヴァン、ファーハット、シャルベル (2024)。「効率的なグローバル最適化のための投影ベースのモデル次数削減を備えたベイジアンフレームワーク」。AIAA航空フォーラムおよび Ascend 2024。p. 4580。doi :10.2514/ 6.2024-4580。ISBN 978-1-62410-716-0。
- ^ Lafage, Rémi (2022). 「egobox、効率的なグローバル最適化のための Rust ツールボックス」(PDF) . Journal of Open Source Software . 7 (78): 4737. Bibcode :2022JOSS....7.4737L. doi :10.21105/joss.04737.
外部リンク
- [1] C. E. Rasmussenの著書『Gaussian processes for machine learning』をホストしているウェブサイトには、(部分的に古い)ソフトウェアのリストが掲載されています。
