微積分が変化率について推論するための数学であるのと同様に、確率は不確実性の下で推論するための数学である。
PyroはPythonとPyTorchをベースに作られた確率的プログラミング言語です。
式における潜在変数に対する分布を事前分布、潜在変数が与えられたときの観測変数に対する分布を尤度と呼ぶ。
Pyroの推論アルゴリズムは、「プログラムを逆から実行」してモデル内のすべてのpyro.sample文に数学的に一貫した値を割り当てるのが仕事です。
PyTorchの配列はPyTorch Tensor
MCMCとSDG
MCMC(Markov Chain Monte Carlo)とSGD(Stochastic Gradient Descent)は、両方とも最適化の問題を解決するためのアルゴリズムですが、それぞれ異なる目的と方法で使用されます。
目的:
MCMC は、確率分布からサンプリングするためのアルゴリズムです。MCMCは、特定の確率分布からランダムサンプルを生成することで、その分布の特性(例えば、平均、分散)を推定します。MCMCは、ベイズ統計学でパラメータの事後分布からサンプリングする際によく使用されます。
SGD は、最適化アルゴリズムの一種です。SGDは、関数の最小値(または最大値)を見つけるために使用されます。SGDは、特に深層学習でニューラルネットワークのパラメータを最適化する際によく使用されます。
方法:
使用される分野:
両方のアルゴリズムは、それぞれ異なる問題を解決するために使用されます。MCMCは、確率分布からのサンプリングに適しているのに対し、SGDは、関数の最適化に適しています。