Spec-Zone.ru › TensorFlow 1.15

tf.contrib.distributions.ConditionalDistribution

Распределение, поддерживающее внутренние параметры (локальные скрытые переменные).

Наследуется от: Distribution

tf.contrib.distributions.ConditionalDistribution(
    dtype, reparameterization_type, validate_args, allow_nan_stats, parameters=None,
    graph_parents=None, name=None
)

Подклассы этого распределения могут иметь дополнительные ключевые аргументы, передаваемые в методы, основанные на выборке (т. е. sample, log_prob, и т. д.).

Аргументы
dtype Тип выборок событий. None подразумевает отсутствие проверки типа.
reparameterization_type Экземпляр ReparameterizationType. Если distributions.FULLY_REPARAMETERIZED, это Distribution может быть перепараметризовано в терминах некоторого стандартного распределения с функцией, якобиан которой является постоянным для области определения стандартного распределения. Если distributions.NOT_REPARAMETERIZED, то такая перепараметризация недоступна.
validate_args Python bool, по умолчанию False. Когда True параметры распределения проверяются на корректность, несмотря на возможную деградацию производительности во время выполнения. Когда False некорректные входные данные могут в молчаливом режиме привести к неверным результатам.
allow_nan_stats Python bool, по умолчанию True. При True, статистические данные (например, среднее значение, мода, дисперсия) используют значение "NaN", чтобы указать, что результат не определён. При False, возникает исключение, если один или несколько элементов статистики в пакете не определены.
parameters Python dict параметров, используемых для создания этого Distribution.
graph_parents Python list условий графика, необходимых для этого Distribution.
name Python str имя, добавляемое как префикс к операциям, созданным этим классом. По умолчанию: имя подкласса.
Исключения
ValueError если какой-либо член graph_parents является None или не является Tensor.
Атрибуты
allow_nan_stats Python bool, описывающий поведение при неопределённом статистическом показателе.

Статистики возвращают +/- бесконечность, когда это имеет смысл. Например, дисперсия распределения Коши равна бесконечности. Однако иногда статистический показатель не определён, например, если плотность распределения не достигает максимума в пределах области определения распределения, мода не определена. Если среднее значение не определено, то по определению дисперсия также не определена. Например, среднее значение для распределения Стьюдента для df = 1 не определено (нет явного способа сказать, что оно равно + или - бесконечности), поэтому дисперсия = E[(X - среднее значение)**2] также не определена.

batch_shape Форма единственной выборки из одного индекса события в виде TensorShape.

Может быть частично определена или неизвестна.

Размерности пакета представляют собой индексы в независимых, нетождественных параметризациях этого распределения.

dtype DType Tensors, обрабатываемых этим Distribution.
event_shape Форма одной выборки из одного набора в виде TensorShape.

Может быть частично определена или неизвестна.

name Имя, добавляемое в качестве префикса ко всем операциям, созданным этим Distribution.
parameters Словарь параметров, используемых для создания этого Distribution.
reparameterization_type Описывает, как выборки из распределения перепараметризуются.

В настоящее время это один из статических экземпляров distributions.FULLY_REPARAMETERIZED или distributions.NOT_REPARAMETERIZED.

validate_args Python bool, указывающий, что возможно дорогостоящие проверки включены.

Методы

batch_shape_tensor

Посмотреть исходный код

batch_shape_tensor(
    name='batch_shape_tensor'
)

Форма единственной выборки из одного индекса события в виде одномерного Tensor.

Размерности пакета представляют собой индексы в независимых, нетождественных параметризациях этого распределения.

Аргументы
name имя, которое нужно дать операции
Возвращает
batch_shape Tensor.

cdf

Посмотреть исходный код

cdf(
    value, name='cdf', **condition_kwargs
)
kwargs:
  • **condition_kwargs: Имена аргументов, переданные для реализации подкласса.

copy

Посмотреть исходный код

copy(
    **override_parameters_kwargs
)

Создаёт глубокую копию распределения.

Примечание: скопированное распределение может по-прежнему зависеть от исходных аргументов инициализации.
Аргументы
**override_parameters_kwargs Словарь со строковыми/значениями аргументов инициализации для переопределения новыми значениями.
Возвращает
distribution Новый экземпляр type(self), инициализированный из объединения self.parameters и override_parameters_kwargs, т. е. dict(self.parameters, **override_parameters_kwargs).

covariance

Посмотреть исходный код

covariance(
    name='covariance'
)

Ковариация.

Ковариация (возможно) определена только для распределений с нескалярными событиями.

Например, для распределения со значениями в векторе длиной k, она вычисляется следующим образом:

Cov[i, j] = Covariance(X_i, X_j) = E[(X_i - E[X_i]) (X_j - E[X_j])]

где Cov — (набор) матрица k x k, 0 <= (i, j) < k, а E обозначает математическое ожидание.

В альтернативном случае, для невекторных, многомерных распределений (например, матричнозначных, Уишарта), Covariance вернёт (набор) матриц при некоторой векторизации размерностей событий, т.е.:

Cov[i, j] = Covariance(Vec(X)_i, Vec(X)_j) = [as above]

где Cov — (набор) матриц k' x k', 0 <= (i, j) < k' = reduce_prod(event_shape), а Vec — некоторая функция, отображающая индексы размерностей событий этого распределения на индексы вектора длиной k'.

Аргументы
name Python str префикс к именам операций, созданных этой функцией.
Возвращает
covariance Вещественное Tensor с формой [B1, ..., Bn, k', k'], где первые n размерности соответствуют координатам пакета, а k' = reduce_prod(self.event_shape).

cross_entropy

Посмотреть исходный код

cross_entropy(
    other, name='cross_entropy'
)

Вычисляет (поперечную) энтропию Шеннона.

Обозначим данное распределение (self) как P и распределение other как Q. Предполагая, что P, Q абсолютно непрерывны друг относительно друга и допускают плотности p(x) dr(x) и q(x) dr(x), (поперечная) энтропия Шеннона определяется как:

H[P, Q] = E_p[-log q(X)] = -int_F p(x) log q(x) dr(x)

где F обозначает область определения случайной величины X ~ P.

Аргументы
other Экземпляр tfp.distributions.Distribution.
name Python str префикс к именам операций, созданных этой функцией.
Возвращает
cross_entropy Численное self.dtype Tensor с формой [B1, ..., Bn] , представляющей n различные вычисления (поперечной) энтропии Шеннона.

entropy

Посмотреть исходный код

entropy(
    name='entropy'
)

Энтропия Шеннона в натах.

event_shape_tensor

Посмотреть исходный код

event_shape_tensor(
    name='event_shape_tensor'
)

Форма единственной выборки из одного набора в виде одномерного целочисленного Tensor.

Аргументы
name имя, присваиваемое операции
Возвращает
event_shape Tensor.

is_scalar_batch

Просмотреть исходный код

is_scalar_batch(
    name='is_scalar_batch'
)

Указывает, что batch_shape == [].

Аргументы
name Python str добавляется в начало имён операций, созданных этой функцией.
Возвращает
is_scalar_batch bool скаляр Tensor.

is_scalar_event

Просмотреть исходный код

is_scalar_event(
    name='is_scalar_event'
)

Указывает, что event_shape == [].

Аргументы
name Python str добавляется в начало имён операций, созданных этой функцией.
Возвращает
is_scalar_event bool скаляр Tensor.

kl_divergence

Просмотреть исходный код

kl_divergence(
    other, name='kl_divergence'
)

Вычисляет расхождение Кульбака—Лейблера.

Обозначим это распределение (self) как p, а распределение other как q. Предполагая, что p, q являются абсолютно непрерывными относительно меры отсчёта r, расхождение Кульбака—Лейблера определяется как:

KL[p, q] = E_p[log(p(X)/q(X))]
         = -int_F p(x) log q(x) dr(x) + int_F p(x) log p(x) dr(x)
         = H[p, q] - H[p]

где F обозначает область значений случайной величины X ~ p, H[., .] обозначает (шэннон) взаимную энтропию, а H[.] обозначает (шэннон) энтропию.

Аргументы
other экземпляр tfp.distributions.Distribution.
name Python str добавляется в начало имён операций, созданных этой функцией.
Возвращает
kl_divergence self.dtype Tensor с формой [B1, ..., Bn], представляющей собой n различные вычисления расхождения Кульбака—Лейблера.

log_cdf

Просмотреть исходный код

log_cdf(
    value, name='log_cdf', **condition_kwargs
)
kwargs:
  • **condition_kwargs: Переданные аргументы в виде ключевых слов в подкласс.

log_prob

Просмотреть исходный код

log_prob(
    value, name='log_prob', **condition_kwargs
)
kwargs:
  • **condition_kwargs: Переданные аргументы в виде ключевых слов в подкласс.

log_survival_function

Просмотреть исходный код

log_survival_function(
    value, name='log_survival_function', **condition_kwargs
)
kwargs:
  • **condition_kwargs: Переданные аргументы в виде ключевых слов в подкласс.

mean

Просмотреть исходный код

mean(
    name='mean'
)

Математическое ожидание.

mode

Просмотреть исходный код

mode(
    name='mode'
)

Мода.

param_shapes

Просмотреть исходный код

@classmethod
param_shapes(
    sample_shape, name='DistributionParamShapes'
)

Формы параметров, учитывая желаемую форму вызова sample().

Это метод класса, который описывает, какие аргументы ключ/значение требуются для создания данного Distribution, чтобы получить определённую форму для вызова sample() экземпляром.

Подклассы должны переопределить метод класса _param_shapes.

Аргументы
sample_shape желаемая форма вызова sample() (тензор или кортеж Python).
name имя для добавления к именам операций.
Возвращает
словарь соответствия между именем параметра и формами Tensor.

param_static_shapes

Просмотреть исходный код

@classmethod
param_static_shapes(
    sample_shape
)

param_shapes со статическими (т. е. TensorShape) формами.

Это метод класса, который описывает, какие аргументы ключ/значение требуются для создания данного Distribution, чтобы получить определённую форму для вызова sample() экземпляром. Предполагает, что форма выборки известна статически.

Подклассы должны переопределить метод класса _param_shapes, чтобы возвращать тензоры с постоянными значениями при вводе постоянных значений.

Аргументы
sample_shape желаемая форма вызова sample() (тензор или кортеж Python).
Возвращает
словарь соответствия между именем параметра и TensorShape.
Возможные исключения
ValueError если sample_shape является TensorShape и не определён полностью.

prob

Просмотреть исходный код

prob(
    value, name='prob', **condition_kwargs
)
kwargs:
  • **condition_kwargs: Переданные аргументы в виде ключевых слов в подкласс.

quantile

Просмотреть исходный код

quantile(
    value, name='quantile'
)

Функция квантиля. Также известна как обратная функция распределения или функция процентиля.

Для случайной величины X и p in [0, 1], quantile:

quantile(p) := x such that P[X <= x] == p
Аргументы
value float или double Tensor.
name Python str добавляется в начало имён операций, созданных этой функцией.
Возвращает
quantile тензор формы sample_shape(x) + self.batch_shape со значениями типа self.dtype.

sample

Просмотреть исходный код

sample(
    sample_shape=(), seed=None, name='sample', **condition_kwargs
)
kwargs:
  • **condition_kwargs: Переданные аргументы в виде ключевых слов в подкласс.

stddev

Просмотреть исходный код

stddev(
    name='stddev'
)

Среднеквадратическое отклонение.

Среднеквадратическое отклонение определяется как,

stddev = E[(X - E[X])**2]**0.5

где X — случайная величина, связанная с этим распределением, E обозначает математическое ожидание, и stddev.shape = batch_shape + event_shape.

Аргументы
name Python str добавляется в начало имён операций, созданных этой функцией.
Возвращаемое значение
stddev Число с плавающей запятой Tensor с формой, идентичной batch_shape + event_shape, то есть той же формой, что и self.mean().

survival_function

Просмотреть исходный код

survival_function(
    value, name='survival_function', **condition_kwargs
)
kwargs:
  • **condition_kwargs: Имена аргументов, переданные в реализацию подкласса.

variance

Просмотреть исходный код

variance(
    name='variance'
)

Дисперсия.

Дисперсия определяется как,

Var = E[(X - E[X])**2]

где X — случайная величина, связанная с этим распределением, Var.shape = batch_shape + event_shape обозначает математическое ожидание, и E.

Аргументы
name Строка Python, добавляемая в качестве префикса к именам операций, созданных этой функцией.
Возвращаемое значение
variance Число с плавающей запятой Tensor с формой, идентичной batch_shape + event_shape, то есть той же формой, что и self.mean().

© 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/r1.15/api_docs/python/tf/contrib/distributions/ConditionalDistribution

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API