Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NOMRG] debug script for pdcdws & pinball #275

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

mathurinm
Copy link
Collaborator

@Badr-MOUFAD there is this comment

    # Despite violating the conditions mentioned in [1]
    # this choice of steps yield in practice a convergent algorithm
    # with better speed of convergence

Do you think the issue happens because of it? Or it could be something else?

@Badr-MOUFAD
Copy link
Collaborator

Yes indeed @mathurinm, you are right.
After investigation, the algorithm converges when using stepsizes that verifies the inequality.

However, this comes with a drawback of making the convergence speed very very slow.
The algorithm fails to get the last remaining 1e-1 to the optimal object (Extrapolation might help if we manage to spot a auto regressive behavior of the iterates 🤷‍♂️)

I'm afraid that fixing this problem will result in performance degradation in other problems/setups.

I tried a small hack by multiplying/dividing by n_samples/n_feautres to take bigger steps in primal/dual spaces, but it doesn’t not work all the times.

@mathurinm
Copy link
Collaborator Author

However, this comes with a drawback of making the convergence speed very very slow.

I think a good enough solution would be to add an unsafe_stepsize=True parameter, that uses the current stepsize. If this argument is False, we fall back to the safe, smaller stepsizes.
This would deserve a comment pointing to the adequate equation in the Fercoq & Richtarik paper, because it is not trivial

WDYT?

Also, I'm not understanding the problem 100%, because if we change y a bit in @tpanum's example, convergence is back to normal 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants