Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The detail of mlr algorithm can be seen at http://castellanzhang.github.io/2017/06/01/mlr_plm/.
Or the paper of alibaba: 《Learning Piece-wise Linear Models from Large Scale Data for Ad Click Prediction》
I implement a mini-batch-gd version of the algorithm in angel-ps.(The paper use a optimization method like owlqn)
And I compare the performance of it with the lr in local with the a9a.train data:(since the parameter of mlr is more than lr, the regularization reg is different)
origin lr:
mlr:
And I test it on a more complicate data generate by the below code of sklearn:
Here is the compare:
origin lr:
mlr:
Since the data is nonlinear separable, the lr plays poor.
Please review my code and test it on a cluster with larger data. You can check if there is some bug or some advice to improve the time. (I used to implement the mlr on spark by l-bfgs and owlqn and it run faster than fm and a bit slower than lr. So maybe there are some way to improve the speed of my code)
THX