From 724522f8def3f8ff61eaee94ae842c52d32d150b Mon Sep 17 00:00:00 2001 From: BalzaniEdoardo Date: Tue, 7 Nov 2023 18:35:42 -0500 Subject: [PATCH] fixed links --- docs/developers_notes/03-observation_models.md | 2 +- docs/developers_notes/04-solver.md | 2 +- docs/developers_notes/05-glm.md | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/developers_notes/03-observation_models.md b/docs/developers_notes/03-observation_models.md index a05bf4b0..190686fd 100644 --- a/docs/developers_notes/03-observation_models.md +++ b/docs/developers_notes/03-observation_models.md @@ -4,7 +4,7 @@ The `observation_models` module provides objects representing the observations of GLM-like models. -The abstract class `Observations` defines the structure of the subclasses which specify observation types, such as Poisson, Gamma, etc. These objects serve as attributes of the [`nemos.glm.GLM`](../03-glm/#the-concrete-class-glm) class, equipping the GLM with a negative log-likelihood. This is used to define the optimization objective, the deviance which measures model fit quality, and the emission of new observations, for simulating new data. +The abstract class `Observations` defines the structure of the subclasses which specify observation types, such as Poisson, Gamma, etc. These objects serve as attributes of the [`nemos.glm.GLM`](../05-glm/#the-concrete-class-glm) class, equipping the GLM with a negative log-likelihood. This is used to define the optimization objective, the deviance which measures model fit quality, and the emission of new observations, for simulating new data. ## The Abstract class `Observations` diff --git a/docs/developers_notes/04-solver.md b/docs/developers_notes/04-solver.md index fac92584..bf855460 100644 --- a/docs/developers_notes/04-solver.md +++ b/docs/developers_notes/04-solver.md @@ -4,7 +4,7 @@ The `solver` module introduces an archetype class `Solver` which provides the structural components for each concrete sub-class. -Objects of type `Solver` provide methods to define an optimization objective, and instantiate a solver for it. These objects serve as attribute of the [`nemos.glm.GLM`](../03-glm/#the-concrete-class-glm), equipping the glm with a solver for learning model parameters. +Objects of type `Solver` provide methods to define an optimization objective, and instantiate a solver for it. These objects serve as attribute of the [`nemos.glm.GLM`](../05-glm/#the-concrete-class-glm), equipping the glm with a solver for learning model parameters. Solvers are typically optimizers from the `jaxopt` package, but in principle they could be custom optimization routines as long as they respect the `jaxopt` api (i.e., have a `run` and `update` method with the appropriate input/output types). We choose to rely on `jaxopt` because it provides a comprehensive set of robust, GPU accelerated, batchable and differentiable optimizers in JAX, that are highly customizable. diff --git a/docs/developers_notes/05-glm.md b/docs/developers_notes/05-glm.md index ace3b5be..0ce65e20 100644 --- a/docs/developers_notes/05-glm.md +++ b/docs/developers_notes/05-glm.md @@ -15,7 +15,7 @@ Our design aligns with the `scikit-learn` API, facilitating seamless integration The classes provided here are modular by design offering a standard foundation for any GLM variant. -Instantiating a specific GLM simply requires providing an observation model (Gamma, Poisson, etc.) and a regularization strategies (Ridge, Lasso, etc.) during initialization. This is done using the [`nemos.observation_models.Observations`](../04-observation_models/#the-abstract-class-observations) and [`nemos.solver.Solver`](../05-solver/#the-abstract-class-solver) objects, respectively. +Instantiating a specific GLM simply requires providing an observation model (Gamma, Poisson, etc.) and a regularization strategies (Ridge, Lasso, etc.) during initialization. This is done using the [`nemos.observation_models.Observations`](../03-observation_models/#the-abstract-class-observations) and [`nemos.solver.Solver`](../04-solver/#the-abstract-class-solver) objects, respectively.
@@ -35,8 +35,8 @@ The `GLM` class provides a direct implementation of the GLM model and is designe ### Attributes -- **`solver`**: Refers to the optimization solver - an object of the [`nemos.solver.Solver`](../05-solver/#the-abstract-class-solver) type. It uses the `jaxopt` solver to minimize the (penalized) negative log-likelihood of the GLM. -- **`observation_models`**: Represents the GLM observation model, which is an object of the [`nemos.observation_models.Observations`](../04-observation_models/#the-abstract-class-observations) type. This model determines the log-likelihood and the emission probability mechanism for the `GLM`. +- **`solver`**: Refers to the optimization solver - an object of the [`nemos.solver.Solver`](../04-solver/#the-abstract-class-solver) type. It uses the `jaxopt` solver to minimize the (penalized) negative log-likelihood of the GLM. +- **`observation_models`**: Represents the GLM observation model, which is an object of the [`nemos.observation_models.Observations`](../03-observation_models/#the-abstract-class-observations) type. This model determines the log-likelihood and the emission probability mechanism for the `GLM`. - **`coef_`**: Stores the solution for spike basis coefficients as `jax.ndarray` after the fitting process. It is initialized as `None` during class instantiation. - **`intercept_`**: Stores the bias terms' solutions as `jax.ndarray` after the fitting process. It is initialized as `None` during class instantiation. - **`solver_state`**: Indicates the solver's state. For specific solver states, refer to the [`jaxopt` documentation](https://jaxopt.github.io/stable/index.html#).