TensorFlow Probability は確率的推論と統計的分析のためのライブラリです。
import tensorflow as tf import tensorflow_probability as tfp # Pretend to load synthetic data set. features = tfp.distributions.Normal(loc=0., scale=1.).sample(int(100e3)) labels = tfp.distributions.Bernoulli(logits=1.618 * features).sample() # Specify model. model = tfp.glm.Bernoulli() # Fit model given data. coeffs, linear_response, is_converged, num_iter = tfp.glm.fit( model_matrix=features[:, tf.newaxis], response=tf.cast(labels, dtype=tf.float32), model=model) # ==> coeffs is approximately [1.618] (We're golden!)ノートブックで実行する
TensorFlow Probability(TFP)は TensorFlow に基づいて作成された Python ライブラリです。TFP を使用すると、最新のハードウェア(TPU、GPU)上で確率モデルとディープ ラーニングを容易に組み合わせることができます。これは、データ サイエンティスト、統計学者、機械学習の研究者、データを理解して予測を行えるようにするためにドメイン知識をエンコードしたいと考えている実務担当者向けのライブラリです。TFP には以下のものが含まれています。
- 確率分布と Bijector の各種オプション。
- 深層確率モデルを構築するための各種ツール(確率層や「JointDistribution」抽象化など)。
- 変分推論とマルコフ連鎖モンテカルロ法。
- Nelder-Mead 法、BFGS、SGLD などの最適化手法。
確率的プログラミングの概要
入門的かつ実践的なチュートリアル「Bayesian Methods for Hackers」で TensorFlow Probability の例が取り上げられています。