Spec-Zone.ru › TensorFlow 1.15

tf.contrib.distributions.MultivariateNormalDiagWithSoftplusScale

MultivariateNormalDiag с diag_stddev = softplus(diag_stddev).

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

tf.contrib.distributions.MultivariateNormalDiagWithSoftplusScale(
    loc, scale_diag, validate_args=False, allow_nan_stats=True,
    name='MultivariateNormalDiagWithSoftplusScale'
)
Атрибуты
allow_nan_stats Python bool описывающий поведение, когда статистика не определена.

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

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

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

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

bijector Функция, преобразующая x => y.
distribution Базовое распределение, p(x).
dtype DType Tensor обработанные этим Distribution.
event_shape Форма одного образца из одного набора в виде TensorShape.

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

loc loc Tensor в Y = scale @ X + loc.
name Префикс имени для всех операций, созданных этим Distribution.
parameters Словарь параметров, используемых для создания этого Distribution.
reparameterization_type Описывает, как образцы из распределения перепараметризуются.

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

scale scale LinearOperator в Y = scale @ X + loc.
validate_args Python bool указывающий, что возможно включены дорогостоящие проверки.

Методы

batch_shape_tensor

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

batch_shape_tensor(
    name='batch_shape_tensor'
)

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

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

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

cdf

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

cdf(
    value, name='cdf'
)

Функция кумулятивного распределения.

Для случайной величины X, функция кумулятивного распределения cdf:

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

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'
)

Форма одного образца из одного набора в виде 1-мерного целочисленного 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'
)

Логарифм функции кумулятивного распределения.

Для случайной величины X, функция кумулятивного распределения cdf определяется как:

log_cdf(x) := Log[ P[X <= x] ]

Часто для log_cdf(x) используется численное приближение, которое даёт более точный результат, чем просто взятие логарифма от cdf, когда x << -1.

Аргументы
value float или double Tensor.
name Префикс Python str к именам операций, созданных этой функцией.
Возвращаемое значение
logcdf тензор Tensor с формой sample_shape(x) + self.batch_shape и значениями типа self.dtype.

log_prob

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

log_prob(
    value, name='log_prob'
)

Логарифм функции плотности/массы вероятности.

Дополнительная документация из MultivariateNormalLinearOperator:

value является вектором партии с совместимой формой, если value — Tensor, чья форма может быть расширена до:

self.batch_shape + self.event_shape

или

[M1, ..., Mm] + self.batch_shape + self.event_shape
Аргументы
value float или double Tensor.
name Префикс Python str к именам операций, созданных этой функцией.
Возвращаемое значение
log_prob тензор Tensor с формой sample_shape(x) + self.batch_shape и значениями типа self.dtype.

log_survival_function

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

log_survival_function(
    value, name='log_survival_function'
)

Логарифм функции выживания.

Для случайной величины X, функция выживания определяется как:

log_survival_function(x) = Log[ P[X > x] ]
                         = Log[ 1 - P[X <= x] ]
                         = Log[ 1 - cdf(x) ]

Обычно для логарифма функции выживания используется численное приближение, которое более точное, чем 1 - cdf(x) при x >> 1.

Аргументы
value float или double Tensor.
name Префикс Python str к именам операций, созданных этой функцией.
Возвращаемое значение
тензор Tensor с формой sample_shape(x) + self.batch_shape и значениями типа self.dtype.

mean

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

mean(
    name='mean'
)

Среднее значение.

mode

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

mode(
    name='mode'
)

Мода.

param_shapes

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

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

Формы параметров при заданной форме вызова sample().

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

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

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

param_static_shapes

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

@classmethod
param_static_shapes(
    sample_shape
)

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

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

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

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

prob

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

prob(
    value, name='prob'
)

Функция плотности/массы вероятности.

Дополнительная документация из MultivariateNormalLinearOperator:

value является вектором партии с совместимой формой, если value — Tensor, чья форма может быть расширена до:

self.batch_shape + self.event_shape

или

[M1, ..., Mm] + self.batch_shape + self.event_shape
Аргументы
value float или double Tensor.
name Префикс Python str к именам операций, созданных этой функцией.
Возвращаемое значение
prob тензор Tensor с формой sample_shape(x) + self.batch_shape и значениями типа self.dtype.

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, добавляемая в префикс имён операций, созданных этой функцией.
Возвращаемое значение
quantile Tensor формы sample_shape(x) + self.batch_shape со значениями типа self.dtype.

sample

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

sample(
    sample_shape=(), seed=None, name='sample'
)

Генерирует выборки заданной формы.

Обратите внимание, что вызов sample() без аргументов сгенерирует одну выборку.

Аргументы
sample_shape 0D или 1D int32 Tensor. Форма генерируемых выборок.
seed Целое число Python для инициализации генератора случайных чисел.
name Имя для операции.
Возвращаемое значение
samples Tensor с добавленными в префикс измерениями sample_shape.

stddev

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

stddev(
    name='stddev'
)

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

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

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

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

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

survival_function

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

survival_function(
    value, name='survival_function'
)

Функция выживания.

При заданной случайной величине X, функция выживания определяется как:

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

variance

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

variance(
    name='variance'
)

Дисперсия.

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

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

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

Аргументы
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/MultivariateNormalDiagWithSoftplusScale

Spec-Zone.ru

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