dagma.nonlinear.DagmaNonlinear.minimize
¶
-
dagma.nonlinear.DagmaNonlinear.minimize(max_iter: float, lr: float, lambda1: float, lambda2: float, mu: float, s: float, lr_decay: float =
False
, tol: float =1e-06
, pbar: tqdm.auto.tqdm | None =None
) bool ¶ - Solves the optimization problem:
- \[\arg\min_{W(\Theta) \in \mathbb{W}^s} \mu \cdot Q(\Theta; \mathbf{X}) + h(W(\Theta)),\]
where \(Q\) is the score function, and \(W(\Theta)\) is the induced weighted adjacency matrix from the model parameters. This problem is solved via (sub)gradient descent using adam acceleration.
- Parameters:¶
- max_iter : float¶
Maximum number of (sub)gradient iterations.
- lr : float¶
Learning rate.
- lambda1 : float¶
L1 penalty coefficient. Only applies to the parameters that induce the weighted adjacency matrix.
- lambda2 : float¶
L2 penalty coefficient. Applies to all the model parameters.
- mu : float¶
Weights the score function.
- s : float¶
Controls the domain of M-matrices.
- lr_decay : float, optional¶
If
True
, an exponential decay scheduling is used. By defaultFalse
.- tol : float, optional¶
Tolerance to admit convergence. Defaults to 1e-6.
- pbar : tqdm, optional¶
Controls bar progress. Defaults to
tqdm()
.
- Returns:¶
True
if the optimization succeded. This can beFalse
when at any iteration, the model’s adjacency matrix got outside of the domain of M-matrices.- Return type:¶