proximal_convex_conj_kl

odl.solvers.nonsmooth.proximal_operators.proximal_convex_conj_kl(space, lam=1, g=None)[source]

Proximal operator factory of the convex conjugate of the KL divergence.

Function returning the proximal operator of the convex conjugate of the functional F where F is the entropy-type Kullback-Leibler (KL) divergence:

F(x) = sum_i (x_i - g_i + g_i ln(g_i) - g_i ln(pos(x_i))) + ind_P(x)

with x and g elements in the linear space X, and g non-negative. Here, pos denotes the nonnegative part, and ind_P is the indicator function for nonnegativity.

Parameters:
spaceTensorSpace

Space X which is the domain of the functional F

lampositive float, optional

Scaling factor.

gspace element, optional

Data term, positive. If None it is take as the one-element.

Returns:
prox_factoryfunction

Factory for the proximal operator to be initialized.

See also

proximal_convex_conj_kl_cross_entropy

proximal for releated functional

Notes

The functional is given by the expression

F(x) = \sum_i (x_i - g_i + g_i \ln(g_i) - g_i \ln(pos(x_i))) +
I_{x \geq 0}(x)

The indicator function I_{x \geq 0}(x) is used to restrict the domain of F such that F is defined over whole space X. The non-negativity thresholding pos is used to define F in the real numbers.

Note that the functional is not well-defined without a prior g. Hence, if g is omitted this will be interpreted as if g is equal to the one-element.

The convex conjugate F^* of F is

F^*(p) = \sum_i (-g_i \ln(\text{pos}({1_X}_i - p_i))) +
I_{1_X - p \geq 0}(p)

where p is the variable dual to x, and 1_X is an element of the space X with all components set to 1.

The proximal operator of the convex conjugate of F is

\mathrm{prox}_{\sigma (\lambda F)^*}(x) =
\frac{\lambda 1_X + x - \sqrt{(x -  \lambda 1_X)^2 +
4 \lambda \sigma g}}{2}

where \sigma is the step size-like parameter, and \lambda is the weighting in front of the function F.

KL based objectives are common in MLEM optimization problems and are often used when data noise governed by a multivariate Poisson probability distribution is significant.

The intermediate image estimates can have negative values even though the converged solution will be non-negative. Non-negative intermediate image estimates can be enforced by adding an indicator function ind_P the primal objective.

This functional F, described above, is related to the Kullback-Leibler cross entropy functional. The KL cross entropy is the one described in this Wikipedia article, and the functional F is obtained by switching place of the prior and the varialbe in the KL cross entropy functional. See the See Also section.