2021-12-02 14:56:03 +08:00
|
|
|
|
mindspore.nn.probability.distribution.Geometric
|
|
|
|
|
|
================================================
|
|
|
|
|
|
|
2022-05-05 17:40:46 +08:00
|
|
|
|
.. py:class:: mindspore.nn.probability.distribution.Geometric(probs=None, seed=None, dtype=mstype.int32, name='Geometric')
|
2021-12-02 14:56:03 +08:00
|
|
|
|
|
|
|
|
|
|
几何分布(Geometric Distribution)。
|
|
|
|
|
|
|
|
|
|
|
|
它代表在第一次成功之前有k次失败,即在第一次成功实现时,总共有k+1个伯努利试验。
|
2022-01-02 23:18:53 +08:00
|
|
|
|
离散随机分布,取值范围为正自然数集,概率质量函数为 :math:`P(X = i) = p(1-p)^{i-1}, i = 1, 2, ...`。
|
2021-12-02 14:56:03 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **probs** (int, float, list, numpy.ndarray, Tensor) - 成功的概率。默认值:None。
|
|
|
|
|
|
- **seed** (int) - 采样时使用的种子。如果为None,则使用全局种子。默认值:None。
|
|
|
|
|
|
- **dtype** (mindspore.dtype) - 事件样例的类型。默认值:mstype.int32.
|
|
|
|
|
|
- **name** (str) - 分布的名称。默认值:'Geometric'。
|
2021-12-02 14:56:03 +08:00
|
|
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
`probs` 必须是合适的概率(0<p<1)。
|
|
|
|
|
|
|
2022-01-02 23:18:53 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
异常:
|
|
|
|
|
|
- **ValueError** - `probs` 中元素小于0或者大于1。
|
2022-01-02 23:18:53 +08:00
|
|
|
|
|
2021-12-02 14:56:03 +08:00
|
|
|
|
.. py:method:: probs
|
|
|
|
|
|
:property:
|
|
|
|
|
|
|
|
|
|
|
|
返回伯努利试验成功的概率。
|
2022-01-02 23:18:53 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,伯努利试验成功的概率值。
|
2022-01-02 23:18:53 +08:00
|
|
|
|
|
2022-03-28 19:07:41 +08:00
|
|
|
|
.. py:method:: cdf(value, probs)
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
在给定值下计算累积分布函数(Cumulatuve Distribution Function, CDF)。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **value** (Tensor) - 要计算的值。
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,累积分布函数的值。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: cross_entropy(dist, probs_b, probs)
|
|
|
|
|
|
|
|
|
|
|
|
计算分布a和b之间的交叉熵。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **dist** (str) - 分布的类型。
|
|
|
|
|
|
- **probs_b** (Tensor) - 对比分布的伯努利实验成功的概率。
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,交叉熵的值。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: entropy(probs)
|
|
|
|
|
|
|
|
|
|
|
|
计算熵。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,熵的值。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-04-24 11:28:35 +08:00
|
|
|
|
.. py:method:: kl_loss(dist, probs_b, probs)
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
计算KL散度,即KL(a||b)。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **dist** (str) - 分布的类型。
|
|
|
|
|
|
- **probs_b** (Tensor) - 对比分布的伯努利实验成功的概率。
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,KL散度。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: log_cdf(value, probs)
|
|
|
|
|
|
|
|
|
|
|
|
计算给定值对于的累积分布函数的对数。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **value** (Tensor) - 要计算的值。
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,累积分布函数的对数。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: log_prob(value, probs)
|
|
|
|
|
|
|
|
|
|
|
|
计算给定值对应的概率的对数。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **value** (Tensor) - 要计算的值。
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,累积分布函数的对数。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: log_survival(value, probs)
|
|
|
|
|
|
|
|
|
|
|
|
计算给定值对应的生存函数的对数。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **value** (Tensor) - 要计算的值。
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,生存函数的对数。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: mean(probs)
|
|
|
|
|
|
|
|
|
|
|
|
计算期望。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,概率分布的期望。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: mode(probs)
|
|
|
|
|
|
|
|
|
|
|
|
计算众数。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,概率分布的众数。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: prob(value, probs)
|
|
|
|
|
|
|
|
|
|
|
|
计算给定值下的概率。对于离散分布是计算概率质量函数(Probability Mass Function)。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **value** (Tensor) - 要计算的值。
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,概率值。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: sample(shape, probs)
|
|
|
|
|
|
|
|
|
|
|
|
采样函数。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **shape** (tuple) - 样本的shape。
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,根据概率分布采样的样本。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: sd(probs)
|
|
|
|
|
|
|
|
|
|
|
|
计算标准差。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,概率分布的标准差。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: survival_function(value, probs)
|
|
|
|
|
|
|
|
|
|
|
|
计算给定值对应的生存函数。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **value** (Tensor) - 要计算的值。
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,生存函数的值。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
|
|
|
|
|
.. py:method:: var(probs)
|
|
|
|
|
|
|
|
|
|
|
|
计算方差。
|
|
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
参数:
|
|
|
|
|
|
- **probs** (Tensor) - 伯努利实验成功的概率。默认值:None。
|
2022-03-17 11:50:56 +08:00
|
|
|
|
|
2022-07-12 18:39:07 +08:00
|
|
|
|
返回:
|
|
|
|
|
|
Tensor,概率分布的方差。
|