More Descent, Less Gradient
koaning.io
koaning.io
> The objective function for linear regression is quadratic (and convex). This explains why Newton's method finds the optimum in one step--the local quadratic approximation turns out to be a global approximation!
> Notice, however, that Newton's method requires us to invert the Hessian matrix (f''), which is expensive in general. I don't think autograd software can get around this limitation.
> The KeepStepping optimizer is performing "gradient descent with line search", which is a more Googleable term.
For more about optimization for solving linear systems (as is the case for linear regression), I recommend Shewchuk 1994, "Conjugate Gradient without the Agonizing Pain" [1], which has some nice geometric insight.
[1]: http://www.cs.cmu.edu/~quake-papers/painless-conjugate-gradi...
But what works for traditional statistics (like matrix inversion) tends to have the wrong big-O for big data. Would be nice though if there were a website somewhere that summarized the state of the ML-applicable optimization field with links to papers in order of increasing complexity. Instead there are like a billion websites rehashing basic SGD that seem to dominate search results.
Although I guess most of the easy to use methods like Adam are already baked into all the frameworks.
We seem to be returning to a world where the only reliable way to find information is to stumble upon someone's webpage (e.g. [1]) who has curated a list of links.
[2] https://docs.scipy.org/doc/scipy/reference/tutorial/optimize...
I checked the guy’s LinkedIn, he has 5 years of econometrics and data science education. I am honestly perplexed how anything in this article could come off as new to someone with such background.
Yes, it's called Linear Least Squares. Gauss discovered it in 1795.
I somehow find it more worrisome that someone who works as a "resarch advocate" and previously a "data scientist" thinks he's had novel insight into optimization over the weekend than that a medical doctor can't recognize that he's rediscovered basic numerical integration.
"The total area under a curve is computed by dividing the area under the curve between two designated values on the X-axis (abscissas) into small segments (rectangles and triangles) whose areas can be accurately calculated from their respective geometrical formulas."
It's like saying that Maxwell's equations "are just general relativity."
https://en.wikipedia.org/wiki/PDFO
From what i remember, they are "trust region" methods, which work by trying to fit a quadratic function to the local neighbourhood, then analytically finding the minimum of that. The clever stuff is in how you form and update the trust region efficiently.
He notes that computing the gradient is much more expensive than doing a single evaluation and that the gradient tend to stay in the same overall direction. Thus he proposes to compute the gradient only a fraction of the time and to use normal evaluations in the meantime.
Following an old gradient and only updating it when it becomes clearly obsolete seems like an interesting idea to me.
This sounds exactly like a linesearch https://en.m.wikipedia.org/wiki/Line_search
That's not a space savings for a known-symmetric matrix, though, for which you already need only store the diagonal and lower triangle.
This is what you want for step length in a line search for most smooth continuous unconstrained optimizations. Really a lot more important than I had expected. The post is about LLS, which is a special case.
There's fancier techniques to take low-rank approximations and that sort of thing, but I feel like they're usually more trouble than their worth.
I don't know the name for the other part of the author's technique, where several Newton-Raphson steps are taken, but I've seen it before, too. Crucially, the author takes ratios of first and second derivatives, rather than of the original function and first derivative, which is the right thing to do for minimization but is going to be perhaps more expensive than the original gradient computation.
It's unfortunately not presenting anything new.