[Math] How is logarithm function important in minimization/maximization algorithm

algorithmslogarithmsoptimization

I always saw the algorithm transform its objective function by $\log$. I wonder this is because logarithm function is monotonically increased ($\log x$) to do maximization, or decreased ($-\log x$) to do minimization? So for MM algorithm, any functions should be transformed into $\log$?

Are there also other reasons that $\log$ transformation is often used? I wonder log is always work or we have some mathematical operations that can replace $\log$ for this purpose?

Best Answer

The logarithm is used for the "logarithmic derivative" trick, which turns products into sums. This is useful because the functions to optimize are often products, often with exponentials, and detection of the extrema requires differentiation.

$$(\log abc)'=\frac{(abc)'}{abc}=\frac{a'}a+\frac{b'}b+\frac{c'}c$$ is more manageable than $a'bc+ab'c+abc'$ when the factors are complex.

Related Question