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:¶
Trueif the optimization succeded. This can beFalsewhen at any iteration, the model’s adjacency matrix got outside of the domain of M-matrices.- Return type:¶