scikit-learn-contrib / skglm

Fast and modular sklearn replacement for generalized linear models
http://contrib.scikit-learn.org/skglm
BSD 3-Clause "New" or "Revised" License
160 stars 32 forks source link

BUG - Ill-conditioned residual matrix in AA can lead to wasted computations #37

Open PABannier opened 2 years ago

PABannier commented 2 years ago

As AA has been refactored in a class, we should make sure to catch a sneaky bug that can make AA fail silently. I've already stumbled upon cases where the residual matrix is ill-conditioned, which makes the solution of the quadratic problem associated to AA take very large positive and very small negative values which cancel out. This bug is not caught by the try - except block paying attention to LinAlgError, and computational time is wasted.

We should make sure to catch this bug in the AA class.

See https://github.com/scikit-learn-contrib/skglm/blob/main/skglm/solvers/cd_solver.py#L295 for more detailed explanation.

Badr-MOUFAD commented 2 years ago

Can you provide a case that reproduces this behavior? After fixing the bug, we shall use it to make a unitest.