tf.random.log_uniform_candidate_sampler
| View source on GitHub |
Выборка набора классов с использованием логарифмически-равномерного (Zipfian) базового распределения.
tf.random.log_uniform_candidate_sampler(
true_classes, num_true, num_sampled, unique, range_max, seed=None, name=None
)
Эта операция случайным образом выбирает тензор выбранных классов (sampled_candidates) из диапазона целых чисел [0, range_max).
Элементы sampled_candidates выбираются без повторения (если unique=True) или с повторением (если unique=False) из базового распределения.
Базовое распределение для этой операции — приблизительно логарифмически-равномерное или Zipfian:
P(class) = (log(class + 2) - log(class + 1)) / log(range_max + 1)
Этот выборщик полезен, когда целевые классы приблизительно следуют такому распределению — например, если классы представляют собой слова в лексиконе, отсортированные по убыванию частоты. Если ваши классы не упорядочены по убыванию частоты, не используйте эту операцию.
Кроме того, эта операция возвращает тензоры true_expected_count и sampled_expected_count, представляющие количество раз, когда каждый из целевых классов (true_classes) и выбранных классов (sampled_candidates) ожидается, что будет встречаться в среднем тензоре выбранных классов. Эти значения соответствуют Q(y|x) , определенному в данном документе. Если unique=True, то это вероятности после отбраковки, и мы вычисляем их приблизительно.
| Аргументы | |
|---|---|
true_classes |
A Tensor типа int64 и формы [batch_size, num_true]. Целевые классы. |
num_true |
An int. Количество целевых классов на пример обучения. |
num_sampled |
An int. Количество классов для случайной выборки. |
unique |
A bool. Определяет, являются ли все выбранные классы в партии уникальными. |
range_max |
An int. Количество возможных классов. |
seed |
An int. Семена, специфичные для операции. По умолчанию 0. |
name |
Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
sampled_candidates |
A тензор типа int64 и формы [num_sampled]. Выбранные классы. |
true_expected_count |
A тензор типа float. Такая же форма, как у true_classes. Ожидаемые значения под распределением выборки каждого из true_classes. |
sampled_expected_count |
A тензор типа float. Такая же форма, как у sampled_candidates. Ожидаемые значения под распределением выборки каждого из sampled_candidates. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/random/log_uniform_candidate_sampler