Maximum Entropy Fitting#
- pylit.methods.max_entropy_fit.max_entropy_fit(D, E, lambd)#
This is the maximum entropy fitting method. The interface is described in Methods.
The objective function
\[f(u, w, \lambda) = \frac{1}{2} \| \widehat u - \widehat w\|^2_{L^2(\mathbb{R})} - \lambda \int_{-\infty}^\infty u(\omega) \log \left( \frac{u(\omega)}{w(\omega)} \right) d\omega,\]is implemented as
\[f(\boldsymbol{\alpha}) = \frac{1}{2} \| \boldsymbol{R} \boldsymbol{\alpha} - \boldsymbol{F} \|^2_2 + \lambda \sum_{i=1}^n (\boldsymbol{E} \boldsymbol{\alpha})_i \log \frac{(\boldsymbol{E} \boldsymbol{\alpha})_i}{D_i},\]with the gradient
\[\nabla_{\boldsymbol{\alpha}} f(\boldsymbol{\alpha}) = \boldsymbol{R}^\top(\boldsymbol{R} \boldsymbol{\alpha} - \boldsymbol{F}) + \lambda \boldsymbol{E}^\top(\log \boldsymbol{E} \boldsymbol{\alpha} - \log \boldsymbol{D} + 1),\]the learning rate
\[\eta = \frac{1}{\| \boldsymbol{R}^\top \boldsymbol{R} \| + \lambda \|\boldsymbol{E}\|^2},\]and the solution
\[\textit{No closed form solution available},\]where
\(\boldsymbol{R}\): Regression matrix,
\(\boldsymbol{F}\): Target vector,
\(\boldsymbol{E}\): Evaluation matrix,
\(\boldsymbol{D}\): Default model vector,
\(\boldsymbol{\alpha}\): Coefficient vector,
\(\lambda\): Regularization parameter,
\(n\): Number of samples.
- Return type: