The class generates a Langevin proposal using _euler_method
function and
also computes helper UncalibratedLangevinKernelResults
for the next
iteration.
Warning: this kernel will not result in a chain which converges to the
target_log_prob
. To get a convergent MCMC, use
MetropolisAdjustedLangevinAlgorithm(...)
or MetropolisHastings(UncalibratedLangevin(...))
.
mcmc_uncalibrated_langevin(
target_log_prob_fn,
step_size,
volatility_fn = NULL,
parallel_iterations = 10,
compute_acceptance = TRUE,
seed = NULL,
name = NULL
)
list of
next_state
(Tensor or Python list of Tensor
s representing the state(s)
of the Markov chain(s) at each result step. Has same shape as
and current_state
.) and
kernel_results
(collections$namedtuple
of internal calculations used to
'advance the chain).
Function which takes an argument like
current_state
(if it's a list current_state
will be unpacked) and returns its
(possibly unnormalized) log-density under the target distribution.
Tensor
or list
of Tensor
s representing the step
size for the leapfrog integrator. Must broadcast with the shape of
current_state
. Larger step sizes lead to faster progress, but
too-large step sizes make rejection exponentially more likely. When
possible, it's often helpful to match per-variable step sizes to the
standard deviations of the target distribution in each variable.
function which takes an argument like
current_state
(or *current_state
if it's a list) and returns
volatility value at current_state
. Should return a Tensor
or
list
of Tensor
s that must broadcast with the shape of
current_state
. Defaults to the identity function.
the number of coordinates for which the gradients of
the volatility matrix volatility_fn
can be computed in parallel.
logical indicating whether to compute the
Metropolis log-acceptance ratio used to construct MetropolisAdjustedLangevinAlgorithm
kernel.
integer to seed the random number generator.
String prefixed to Ops created by this function.
Default value: NULL
(i.e., 'mala_kernel').
Other mcmc_kernels:
mcmc_dual_averaging_step_size_adaptation()
,
mcmc_hamiltonian_monte_carlo()
,
mcmc_metropolis_adjusted_langevin_algorithm()
,
mcmc_metropolis_hastings()
,
mcmc_no_u_turn_sampler()
,
mcmc_random_walk_metropolis()
,
mcmc_replica_exchange_mc()
,
mcmc_simple_step_size_adaptation()
,
mcmc_slice_sampler()
,
mcmc_transformed_transition_kernel()
,
mcmc_uncalibrated_hamiltonian_monte_carlo()
,
mcmc_uncalibrated_random_walk()