tfprobability 0.8在 CRAN 上:现在如何使用它?

作为 r-tensorflow 生态系统的一部分,tfprobability 是 TensorFlow Probability 的 R 包装器,TensorFlow Probability 是 Google 开发的 Python 概率编程框架。我们借 tfprobability 在 CRAN 上被接受的机会进行高级介绍,重点介绍有趣的用例和应用程序。

来源:RStudio AI博客

大约一周前,tfprobability 0.8 在 CRAN 上被接受。虽然我们已经在这个博客上经常使用这个包,但在这篇文章中,我们想在高层次上(重新)介绍它,特别是针对新用户。

tfprobability

tfprobability,它是什么?

tfprobability 是 TensorFlow Probability 的 R 包装器,TensorFlow Probability 是一个基于 TensorFlow 框架构建的 Python 库。那么现在的问题是,什么是 TensorFlow Probability?

tfprobability TensorFlow Probability TensorFlow

如果——我们称之为“概率编程”——不是你每天都会做的事情,那么 TensorFlow Probability 网站上给出的功能枚举,甚至是模块的层次列表,可能会让你有点无助,尽管它可能很有信息量。

TensorFlow Probability 网站

让我们从用例开始。我们将查看三个高级示例场景,然后快速浏览 TFP 提供的更基本的构建块。(简短说明:我们将使用 TFP 作为 Python 库和 R 包的首字母缩写词,除非我们专门指的是 R 包装器,在这种情况下我们将说 tfprobability)。

TFP tfprobability

用例 1:扩展深度学习

我们从大多数读者可能最感兴趣的用例类型开始:扩展深度学习。

分布层

在深度学习中,输出层通常是确定性的。没错,在分类中,我们习惯于谈论“类概率”。以多类情况为例:我们可以将结论归因于网络,“80% 的概率这是一只伯尔尼山犬”——但我们只能这样做,因为最后一层的输出已被 softmax 激活压缩为 \(0\) 和 \(1\) 之间的值。尽管如此,实际输出是一个张量(一个数字)。

\(0\) \(1\) 分布层

具体来说,对于多类分类,我们可以使用分类层 (layer_one_hot_categorical),替换类似

layer_one_hot_categorical layer_dense( layer_dense ( = ) )

by

( =