當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python mxnet.ndarray.contrib.rand_zipfian用法及代碼示例


用法:

mxnet.ndarray.contrib.rand_zipfian(true_classes, num_sampled, range_max, ctx=None)

參數

  • true_classes(NDArray) - 目標類的一維 NDArray。
  • num_sampled(int) - 隨機抽樣的類數。
  • range_max(int) - 可能的類數。
  • ctx(mxnet.context.Context) - 輸出的設備上下文。默認為當前上下文。

返回

  • samples(NDArray) - 采樣的一維候選類int64類型。
  • expected_count_true(NDArray) - 一維真實類的預期計數float64類型。
  • expected_count_sample(NDArray) - 在一維中采樣候選的預期計數float64類型。

從大約 log-uniform 或 Zipfian 分布中抽取隨機樣本。

此操作隨機抽樣num_sampled 候選整數範圍[0,range_max)。 sampled_candidates 的元素是從基本分布中替換繪製的。

該算子的基本分布近似為 log-uniform 或 Zipfian 分布:

P(class) = (log(class + 2) - log(class + 1)) /log(range_max + 1)

當真實類大致遵循這樣的分布時,此采樣器很有用。例如,如果類表示按頻率降序排序的詞典中的單詞。如果您的課程沒有按頻率遞減排序,請不要使用此操作。

此外,它還返回每個真實類和采樣類預計會出現的次數。

例子

>>> true_cls = mx.nd.array([3])
>>> samples, exp_count_true, exp_count_sample = mx.nd.contrib.rand_zipfian(true_cls, 4, 5)
>>> samples
[1 3 3 3]
<NDArray 4 @cpu(0)>
>>> exp_count_true
[ 0.12453879]
<NDArray 1 @cpu(0)>
>>> exp_count_sample
[ 0.22629439  0.12453879  0.12453879  0.12453879]
<NDArray 4 @cpu(0)>

相關用法


注:本文由純淨天空篩選整理自apache.org大神的英文原創作品 mxnet.ndarray.contrib.rand_zipfian。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。