当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch LKJCholesky用法及代码示例


本文简要介绍python语言中 torch.distributions.lkj_cholesky.LKJCholesky 的用法。

用法:

class torch.distributions.lkj_cholesky.LKJCholesky(dim, concentration=1.0, validate_args=None)

参数

  • dimension(dim) -矩阵的维度

  • concentration(float或者Tensor) -分布的浓度/形状参数(通常称为 eta)

基础:torch.distributions.distribution.Distribution

相关矩阵的较低 Cholesky 因子的 LKJ 分布。分布由 concentration 参数 控制,以使从 Cholesky 因子生成的相关矩阵 的概率与 成比例。因此,当 concentration == 1 时,我们在相关矩阵的 Cholesky 因子上具有均匀分布。请注意,此分布对相关矩阵的 Cholesky 因子进行采样,而不是对相关矩阵本身进行采样,因此与 [1] 中LKJCorr 分布的推导略有不同。对于采样,这使用 [1] 第 3 节中的洋葱方法。

L ~ LKJCholesky(dim, 浓度) X = L @ L' ~ LKJCorr(dim, 浓度)

例子:

>>> l = LKJCholesky(3, 0.5)
>>> l.sample()  # l @ l.T is a sample of a correlation 3x3 matrix
tensor([[ 1.0000,  0.0000,  0.0000],
        [ 0.3516,  0.9361,  0.0000],
        [-0.1899,  0.4748,  0.8593]])

参考

[1]Generating random correlation matrices based on vines and extended onion method,丹尼尔·莱万多夫斯基,多罗塔·库罗威卡,哈里·乔。

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.distributions.lkj_cholesky.LKJCholesky。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。