mesos/spark — pull request #765 by etrain (2013-07-31 23:45:01+00:00)
Title: Updating RidgeRegression to use SGD instead of closed form.

Ridge Regression had been using a closed form solution and optimizing lambda automatically. While this works well for problems of small dimensionality, it won't scale well to problems where d is large. Additionally, for consistency with the rest of the codebase for now we should plug into the SGD primitive.

Some additional refactoring should be done to avoid code duplication, but @shivaram has this on his plate.

My thought is that Lasso, Ridge, and linear should all produce "LinearRegressionModel" which conforms to the RegressionModel interface but has the implementation found here and in LassoModel. Second, all three should extend a basic "LinearRegression" algorithm but override a local "Updater" and "Gradient" value. @shivaram has some ideas about how this would all fit into a GLM framework nicely.