原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.dirichlet.html
校对:(虚位以待)
numpy.random.
dirichlet
(alpha, size=None)从Dirichlet分布绘制样本。
从Dirichlet分布绘制尺寸k的尺寸样本。Dirichlet分布随机变量可以看作是Beta分布的多元泛化。Dirichlet pdf是贝叶斯推理中多项式的共轭前缀。
参数: | alpha:数组
size:int或tuple的整数,可选
|
---|---|
返回: | samples:ndarray,
|
笔记
使用以下属性进行计算:对于每个维,从形状alpha_i的标准伽马生成器绘制随机样本y_i,然后是Dirichlet分布。
参考文献
[R214] | David McKay,“Information Theory,Inference and Learning Algorithms”,第23章,http://www.inference.phy.cam.ac.uk/mackay/ |
[R215] | 维基百科,“Dirichlet分布”,http://en.wikipedia.org/wiki/Dirichlet_distribution |
例子
以维基百科中引用的示例为例,如果想要将字符串(每个初始长度为1.0)切割成不同长度的K个字节,则可以使用该分布,其中每个字段平均具有指定的平均长度,但允许一些变化相对尺寸的碎片。
>>> s = np.random.dirichlet((10, 5, 3), 20).transpose()
>>> plt.barh(range(20), s[0])
>>> plt.barh(range(20), s[1], left=s[0], color='g')
>>> plt.barh(range(20), s[2], left=s[0]+s[1], color='r')
>>> plt.title("Lengths of Strings")