Spec-Zone.ru › TensorFlow 1.15

tf.contrib.distributions.bijectors.SinhArcsinh

Вычисление Y = g(X) = Sinh( (Arcsinh(X) + skewness) * tailweight ).

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

tf.contrib.distributions.bijectors.SinhArcsinh(
    skewness=None, tailweight=None, validate_args=False, name='SinhArcsinh'
)

Для skewness in (-inf, inf) и tailweight in (0, inf), это преобразование является диффеоморфизмом вещественной прямой (-inf, inf). Обратное преобразование — X = g^{-1}(Y) = Sinh( ArcSinh(Y) / tailweight - skewness ).

Преобразование SinhArcsinh нормального распределения описано в статьях о распределениях sinh-arcsinh. Этот Bijector позволяет выполнить подобное преобразование для любого распределения, поддерживаемого на (-inf, inf).

Значение параметров

  • Если skewness = 0 и tailweight = 1, это преобразование является тождественным.
  • Положительное (отрицательное) значение skewness приводит к положительному (отрицательному) искажению.
    • Положительное искажение означает, что для одномодального X, центрированного в нуле, мода Y смещается вправо.
    • Положительное искажение означает, что положительные значения Y становятся более вероятными, а отрицательные — менее вероятными.
  • Более большое (меньшее) значение tailweight приводит к более толстым (тоньше) хвостам.
    • Более толстые хвосты означают, что большие значения |Y| становятся более вероятными.
    • Если X — это нормальное распределение с единичной дисперсией, tailweight < 1 приводит к распределению, «плоскому» около Y = 0, с очень крутым спадом в хвостах.
    • Если X — это нормальное распределение с единичной дисперсией, tailweight > 1 приводит к распределению, более острому в моде, с более тяжелыми хвостами.

Чтобы увидеть аргументацию относительно хвостов, обратите внимание, что для |X| >> 1 и |X| >> (|skewness| * tailweight)**tailweight, у нас есть Y approx 0.5 X**tailweight e**(sign(X) skewness * tailweight).

Args
skewness Параметр искажения. Вещественное число Tensor. Значение по умолчанию — 0 типа float32.
tailweight Параметр весовой функции хвостов. Положительное Tensor того же dtype что и skewness, и согласуемое shape. Значение по умолчанию — 1 типа float32.
validate_args Python-переменная, указывающая, нужно ли проверять корректность аргументов.
name Python-имя, присваиваемое операциям, управляемым этим объектом.
Атрибуты
dtype тип данных Tensor преобразуемых этим распределением.
forward_min_event_ndims Возвращает минимальное количество измерений, на которых работает bijector.forward.
graph_parents Возвращает список graph_parents этого Bijector.
inverse_min_event_ndims Возвращает минимальное количество измерений, на которых работает bijector.inverse.
is_constant_jacobian Возвращает True, если матрица Якоби не зависит от x.
Примечание: Матрица Якоби либо постоянна для прямого и обратного преобразований, либо ни для одного.
name Возвращает строковое имя этого Bijector.
skewness skewness в: Y = Sinh((Arcsinh(X) + skewness) * tailweight).
tailweight tailweight в: Y = Sinh((Arcsinh(X) + skewness) * tailweight).
validate_args Возвращает True, если тензорные аргументы будут валидированы.

Методы

forward

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

forward(
    x, name='forward'
)

Возвращает результат вычисления «прямого» преобразования, т.е., X = g(Y).

Args
x Tensor. Вход для вычисления «прямого» преобразования.
name Имя для этой операции.
Возвращает
Tensor.
Исключения
TypeError если self.dtype указано и x.dtype не self.dtype.
NotImplementedError если _forward не реализовано.

forward_event_shape

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

forward_event_shape(
    input_shape
)

Форма одного образца из одной группы как TensorShape.

То же значение, что и у forward_event_shape_tensor. Может быть определена не полностью.

Args
input_shape TensorShape указывающая форму события, переданную в функцию forward
Возвращает
forward_event_shape_tensor TensorShape указывающая форму события после применения forward. Возможно, неизвестна.

forward_event_shape_tensor

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

forward_event_shape_tensor(
    input_shape, name='forward_event_shape_tensor'
)

Форма одного образца из одной группы как вектор int32 1D Tensor.

Args
input_shape Tensor, вектор int32 указывающий форму события, переданную в функцию forward
name имя для операции
Возвращает
forward_event_shape_tensor вектор Tensor, int32 указывающий форму события после применения forward.

forward_log_det_jacobian

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

forward_log_det_jacobian(
    x, event_ndims, name='forward_log_det_jacobian'
)

Возвращает forward_log_det_jacobian.

Args
x Tensor. Вход для вычисления определителя Якоби «прямого» преобразования.
event_ndims Количество измерений в вероятностных событиях, преобразуемых. Должно быть больше или равно self.forward_min_event_ndims. Результат суммируется по последним измерениям, чтобы получить скалярный определитель Якоби для каждого события, т.е. имеет форму x.shape.ndims - event_ndims измерений.
name Имя для этой операции.
Возвращает
Tensor, если этот bijector инъективный. Если не инъективный, это не реализовано.
Исключения
TypeError если self.dtype указано и y.dtype не self.dtype.
NotImplementedError если ни _forward_log_det_jacobian ни {_inverse, _inverse_log_det_jacobian} не реализованы, или это не инъективный bijector.

inverse

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

inverse(
    y, name='inverse'
)

Возвращает результат вычисления обратного преобразования, т.е., X = g^{-1}(Y).

Args
y Tensor. Вход для вычисления обратного преобразования.
name Имя для этой операции.
Возвращает
Tensor, если этот bijector инъективный. Если не инъективный, возвращает кортеж с единственными k точками (x1, ..., xk) такими, что g(xi) = y.
Исключения
TypeError если self.dtype указано и y.dtype не self.dtype.
NotImplementedError если _inverse не реализовано.

inverse_event_shape

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

inverse_event_shape(
    output_shape
)

Форма одного образца из одной группы как TensorShape.

То же значение, что и у inverse_event_shape_tensor. Может быть определена не полностью.

Аргументы
output_shape TensorShape , указывающее форму части события, переданную в функцию inverse.
Возвращаемое значение
inverse_event_shape_tensor TensorShape , указывающее форму части события после применения inverse. Возможно неизвестно.

inverse_event_shape_tensor

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

inverse_event_shape_tensor(
    output_shape, name='inverse_event_shape_tensor'
)

Форма одного образца из одной группы в виде int32 1D Tensor.

Аргументы
output_shape Tensor, int32 вектор, указывающий форму части события, переданную в функцию inverse .
name имя для операции
Возвращаемое значение
inverse_event_shape_tensor Tensor, int32 вектор, указывающий форму части события после применения inverse.

inverse_log_det_jacobian

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

inverse_log_det_jacobian(
    y, event_ndims, name='inverse_log_det_jacobian'
)

Возвращает (лог o det o Якобиан o обратный)(y).

Математически возвращает: log(det(dX/dY))(Y). (Напомним, что: X=g^{-1}(Y).)

Обратите внимание, что forward_log_det_jacobian является отрицанием этой функции, вычисленной в g^{-1}(y).

Аргументы
y Tensor. Вход для вычисления определителя обратного якобиана.
event_ndims Число измерений в преобразуемых вероятностных событиях. Должно быть больше или равно self.inverse_min_event_ndims. Результат суммируется по последним измерениям, чтобы получить скалярный определитель якобиана для каждого события, т.е. он имеет форму y.shape.ndims - event_ndims измерений.
name Имя для этой операции.
Возвращаемое значение
Tensor, если этот биектор инъективен. Если не инъективен, возвращает кортеж локальных логов определителей якобианов, log(det(Dg_i^{-1}(y))), где g_i является ограничением g на ith разбиение Di.
Исключения
TypeError если self.dtype указан, и y.dtype не self.dtype .
NotImplementedError если _inverse_log_det_jacobian не реализовано.

© 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/bijectors/SinhArcsinh

Spec-Zone.ru

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