From f4a05d4465c7807a67ea01c012300ae713cdbd9f Mon Sep 17 00:00:00 2001 From: dasen Date: Fri, 23 Dec 2022 17:56:27 +0800 Subject: [PATCH 1/7] init multnormal docs --- docs/api/paddle/distribution/MultivariateNormal_cn.rst | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 docs/api/paddle/distribution/MultivariateNormal_cn.rst diff --git a/docs/api/paddle/distribution/MultivariateNormal_cn.rst b/docs/api/paddle/distribution/MultivariateNormal_cn.rst new file mode 100644 index 00000000000..25b6d3e0613 --- /dev/null +++ b/docs/api/paddle/distribution/MultivariateNormal_cn.rst @@ -0,0 +1,7 @@ +.. _cn_api_distribution_Gumbel: + +MultivariateNormal +------------------------------- + +.. py:class:: paddle.distribution.MultivariateNormal(loc, covariance_matrix) +多元正态分布 From 5126ea9bee5f23c7c6955f32d6a95d524848c3f8 Mon Sep 17 00:00:00 2001 From: dasen Date: Sat, 31 Dec 2022 00:27:14 +0800 Subject: [PATCH 2/7] complete api docs --- .../distribution/MultivariateNormal_cn.rst | 206 ++++++++++++++++++ 1 file changed, 206 insertions(+) diff --git a/docs/api/paddle/distribution/MultivariateNormal_cn.rst b/docs/api/paddle/distribution/MultivariateNormal_cn.rst index 25b6d3e0613..80ba862025f 100644 --- a/docs/api/paddle/distribution/MultivariateNormal_cn.rst +++ b/docs/api/paddle/distribution/MultivariateNormal_cn.rst @@ -5,3 +5,209 @@ MultivariateNormal .. py:class:: paddle.distribution.MultivariateNormal(loc, covariance_matrix) 多元正态分布 + +数学公式: + +.. math:: + f_\boldsymbol{X}(x_1,...,x_k) = \frac{exp(-\frac{1}{2}$\mathbf{(\boldsymbol{x - \mu})}^\top$\boldsymbol{\Sigma}^{-1}(\boldsymbol{x - \mu}))}{\sqrt{(2\pi)^k\left| \boldsymbol{\Sigma} \right|}} + +上面数学公式中: + +:math:`loc = \boldsymbol{\mu}`:多元正态分布位置参数。 + +:math:`covariance\_matrix = \boldsymbol{\Sigma}`:多元正态分布协方差矩阵,且协方差矩阵为半正定矩阵时成立。 + + +参数 +:::::::::::: + + - **loc** (Tensor) -多元正态分布位置参数。数据类型为 Tensor。 + - **covariance_matrix** (Tensor) - 多元正态分布协方差矩阵参数。数据类型为 Tensor,且该参数必须为半正定矩阵。 + +代码示例 +:::::::::::: + +COPY-FROM: paddle.distribution.MultivariateNormal + +属性 +::::::::: + +mean +''''''''' + +均值 + +数学公式: + +.. math:: + mean = \boldsymbol{\mu} + +上面数学公式中: + +:math:`loc = \boldsymbol{\mu}`:多元正态分布位置参数。 + +variance +''''''''' + +方差 + +数学公式: + +.. math:: + variance = \boldsymbol{\sigma^2} + +上面数学公式中: + +:math:`scale = \boldsymbol{\sigma}`:多元正态分布协方差矩阵经过矩阵分解后得到的尺度向量。 + + +stddev +''''''''' + +标准差 + +数学公式: + +.. math:: + stddev = \boldsymbol{\sigma} + +上面数学公式中: + +:math:`scale = \boldsymbol{\sigma}`:多元正态分布协方差矩阵经过矩阵分解后得到的尺度向量。 + +方法 +::::::::: + +prob(value) +''''''''' + +多元正态分布的概率密度函数。 + +**参数** + + - **value** (Tensor) - 待计算的值。 + +数学公式: + +.. math:: + prob(value) = \frac{exp(-\frac{1}{2}$\mathbf{(\boldsymbol{value - \mu})}^\top$\boldsymbol{\Sigma}^{-1}(\boldsymbol{value- \mu}))}{\sqrt{(2\pi)^k\left| \boldsymbol{\Sigma} \right|}} + +上面数学公式中: + +:math:`loc = \boldsymbol{\mu}`:多元正态分布位置参数。 + +:math:`covariance\_matrix = \boldsymbol{\Sigma}`:多元正态分布协方差矩阵,且协方差矩阵为半正定矩阵时成立。 + + +**返回** + + - **Tensor** - value 在多元正态分布下的概率值。 + +log_prob(value) +''''''''' +多元正态分布的对数概率密度函数。 + +**参数** + + - **value** (Tensor) - 待计算的值。 + +数学公式: + +.. math:: + + log\_prob(value) = log(\frac{exp(-\frac{1}{2}$\mathbf{(\boldsymbol{value - \mu})}^\top$\boldsymbol{\Sigma}^{-1}(\boldsymbol{value- \mu}))}{\sqrt{(2\pi)^k\left| \boldsymbol{\Sigma} \right|}}) + +上面数学公式中: + +:math:`loc = \boldsymbol{\mu}`:多元正态分布位置参数。 + +:math:`covariance\_matrix = \boldsymbol{\Sigma}`:多元正态分布协方差矩阵,且协方差矩阵为半正定矩阵时成立。 + + +**返回** + + - **Tensor** - value 在多元正态分布下的概率值。 + +entropy(scale) +''''''''' +多元正态分布的信息熵。 + +数学公式: + +.. math:: + + entropy() = \frac{k}{2}(\ln 2\pi + 1) + \frac{1}{2}\ln \left| \boldsymbol{\Sigma} \right| + +上面数学公式中: + +:math:`k`:多元正太分布向量的维度,比如一维向量 k=1,二维向量(矩阵) k=2。 + +:math:`covariance\_matrix = \boldsymbol{\Sigma}`:多元正态分布协方差矩阵,且协方差矩阵为半正定矩阵时成立。 + +sample(shape) +''''''''' +随机采样,生成指定维度的样本。 + +**参数** + + - **shape** (list[int]) - 1 维列表,指定样本的维度。 + +**返回** + + - **Tensor** - 预先设计好维度的样本数据。 + + +rsample(shape) +''''''''' +重参数化采样。 + +**参数** + + - **shape** (list[int]) - 1 维列表,指定样本的维度。 + +**返回** + + - **Tensor** - 预先设计好维度的样本数据。 + +kl_divergence(other) +''''''''' + +两个 Laplace 分布之间的 KL 散度。 + + +**参数** + + - **other** (MultivariateNormal) - MultivariateNormal 的实例。 + +数学公式: + +.. math:: + KL\_divergence(\boldsymbol{\mu_1}, \boldsymbol{\Sigma_1}; \boldsymbol{\mu_2}, \boldsymbol{\Sigma_2}) = \frac{1}{2}\Big \{\log ratio -n + tr(\boldsymbol{\Sigma_2}^{-1}\boldsymbol{\Sigma_1}) + $\mathbf{(diff)}^\top$\boldsymbol{\Sigma_2}^{-1}\boldsymbol{(diff)} \Big \} + +.. math:: + ratio = \frac{\left| \boldsymbol{\Sigma_2} \right|}{\left| \boldsymbol{\Sigma_1} \right|} + +.. math:: + \boldsymbol{diff} = \boldsymbol{\mu_2} - \boldsymbol{\mu_1} + +上面的数学公式中: + +:math:`loc = \boldsymbol{\mu_1}`:当前多元正态分布的位置参数。 + +:math:`covariance\_matrix = \boldsymbol{\Sigma_1}`:当前多元正态分布的协方差矩阵。 + +:math:`loc = \boldsymbol{\mu_2}`:另一个多元正态分布的位置参数。 + +:math:`covariance\_matrix = \boldsymbol{\Sigma_2}`:另一个多元正态分布的协方差矩阵。 + +:math:`ratio`:两个协方差矩阵的行列式值的比值。 + +:math:`diff`:两个位置参数之间的差值。 + +:math:`n`:维度。 + +:math:`tr`:矩阵的迹。 + +**返回** + + - Tensor: 两个多元正态分布之间的 KL 散度。 \ No newline at end of file From cdb680a25726b0242b1c7ad130d1589eebd4584b Mon Sep 17 00:00:00 2001 From: dasen Date: Sat, 31 Dec 2022 00:35:07 +0800 Subject: [PATCH 3/7] fix question --- docs/api/paddle/distribution/MultivariateNormal_cn.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/paddle/distribution/MultivariateNormal_cn.rst b/docs/api/paddle/distribution/MultivariateNormal_cn.rst index 80ba862025f..b66edd3a3bc 100644 --- a/docs/api/paddle/distribution/MultivariateNormal_cn.rst +++ b/docs/api/paddle/distribution/MultivariateNormal_cn.rst @@ -172,7 +172,7 @@ rsample(shape) kl_divergence(other) ''''''''' -两个 Laplace 分布之间的 KL 散度。 +两个 MultivariateNormal 分布之间的 KL 散度。 **参数** From 8b933abd1f19628fe2432497bc2d8cd14104b916 Mon Sep 17 00:00:00 2001 From: dasen Date: Sat, 31 Dec 2022 00:38:46 +0800 Subject: [PATCH 4/7] fix question --- docs/api/paddle/distribution/MultivariateNormal_cn.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/paddle/distribution/MultivariateNormal_cn.rst b/docs/api/paddle/distribution/MultivariateNormal_cn.rst index b66edd3a3bc..2bf8891ce95 100644 --- a/docs/api/paddle/distribution/MultivariateNormal_cn.rst +++ b/docs/api/paddle/distribution/MultivariateNormal_cn.rst @@ -1,4 +1,4 @@ -.. _cn_api_distribution_Gumbel: +.. _cn_api_distribution_MultivariateNormal: MultivariateNormal ------------------------------- From 29332fccb62f1a39e0ffd28475cbbaa8c68053e2 Mon Sep 17 00:00:00 2001 From: dasen Date: Sat, 31 Dec 2022 08:56:02 +0800 Subject: [PATCH 5/7] fix question --- docs/api/paddle/distribution/MultivariateNormal_cn.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/api/paddle/distribution/MultivariateNormal_cn.rst b/docs/api/paddle/distribution/MultivariateNormal_cn.rst index 2bf8891ce95..43b2b3bbd90 100644 --- a/docs/api/paddle/distribution/MultivariateNormal_cn.rst +++ b/docs/api/paddle/distribution/MultivariateNormal_cn.rst @@ -101,7 +101,7 @@ prob(value) **返回** - - **Tensor** - value 在多元正态分布下的概率值。 + - **Tensor** - 在多元正态分布下的概率值。 log_prob(value) ''''''''' @@ -126,7 +126,7 @@ log_prob(value) **返回** - - **Tensor** - value 在多元正态分布下的概率值。 + - **Tensor** - 在多元正态分布下的概率值。 entropy(scale) ''''''''' From 5c4c96e43e019ce35446ae30602c52b91df3202f Mon Sep 17 00:00:00 2001 From: dasen Date: Sat, 31 Dec 2022 09:43:05 +0800 Subject: [PATCH 6/7] fix docs style --- docs/api/paddle/distribution/MultivariateNormal_cn.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/api/paddle/distribution/MultivariateNormal_cn.rst b/docs/api/paddle/distribution/MultivariateNormal_cn.rst index 43b2b3bbd90..15df51f5083 100644 --- a/docs/api/paddle/distribution/MultivariateNormal_cn.rst +++ b/docs/api/paddle/distribution/MultivariateNormal_cn.rst @@ -210,4 +210,5 @@ kl_divergence(other) **返回** - - Tensor: 两个多元正态分布之间的 KL 散度。 \ No newline at end of file + - Tensor: 两个多元正态分布之间的 KL 散度。 + \ No newline at end of file From ed2a62e008aba09b303173bb33d1f17a8c75664e Mon Sep 17 00:00:00 2001 From: dasen Date: Sun, 1 Jan 2023 12:48:33 +0800 Subject: [PATCH 7/7] fix docs style --- docs/api/paddle/distribution/MultivariateNormal_cn.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/api/paddle/distribution/MultivariateNormal_cn.rst b/docs/api/paddle/distribution/MultivariateNormal_cn.rst index 15df51f5083..32048dba200 100644 --- a/docs/api/paddle/distribution/MultivariateNormal_cn.rst +++ b/docs/api/paddle/distribution/MultivariateNormal_cn.rst @@ -211,4 +211,3 @@ kl_divergence(other) **返回** - Tensor: 两个多元正态分布之间的 KL 散度。 - \ No newline at end of file