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

[SPARK-16495] [MLlib]Add ADMM optimizer in mllib package #14473

Closed
wants to merge 1 commit into from

Conversation

ZunwenYou
Copy link

Alternating Direction Method of Multipliers (ADMM) is well suited to distributed convex optimization, and in particular to large-scale problems arising in statistics, machine learning, and related areas.
Details can be found in the S. Boyd's paper.

JIRA Issue: https://issues.apache.org/jira/browse/SPARK-16495

@AmplabJenkins
Copy link

Can one of the admins verify this patch?

@ZunwenYou ZunwenYou changed the title [SPARK-16495] Add ADMM optimizer in mllib package [SPARK-16495] [MLlib]Add ADMM optimizer in mllib package Aug 3, 2016
@ZunwenYou
Copy link
Author

@MLnick please have a look at this.

@sethah
Copy link
Contributor

sethah commented Aug 5, 2016

@ZunwenYou Would you mind addressing the comments in the JIRA first? Adding a new optimization algorithm to an API that is now deprecated definitely warrants more high level discussion before code review should proceed, IMO.

@MLnick
Copy link
Contributor

MLnick commented Aug 5, 2016

@ZunwenYou sorry if I was not clear on the JIRA. I said there that this should probably be done as a Spark package external to the core initially. That way you can gather some user feedback and performance numbers etc.

If this is to be implemented within Spark then as Seth mentions it makes more sense to go into the ml API. In this case we need more work and discussion to see how to add different optimizers and make them available to the different models with a unified API.

It would also need some performance comparisons to the current optimizer options.

@ZunwenYou
Copy link
Author

@MLnick You are right. We have apply ADMM to Sparse Logistic Regression with L1 norm in some CTR applications, the data sets of these applications almost consist of 10 million dimension and 100 million samples. Actually, ADMM's LR is fast than SGD on large scale data.

I can provide some performance comparisons to SGD or OWLQN on our data set,but I wonder if the performance comparisons are convinced because our data set is private. Do you have any idea about data set for preformance comparisons?

@MLnick
Copy link
Contributor

MLnick commented Aug 5, 2016

I'd recommend (a) generate some data; and/or (b) take a look at some larger public datasets (or samples thereof) such as Criteo (https://www.kaggle.com/c/criteo-display-ad-challenge/data) or Avito (https://www.kaggle.com/c/avito-context-ad-clicks/data)

@debasish83
Copy link

ADMM is already available as a breeze solver (BFGS, OWLQN, NonlinearMinimizer) which is integrated with ml/mllib...It will be great if you can look into it and let me know if you need pointers in running comparisons with OWLQN:
https://github.com/scalanlp/breeze/blob/master/math/src/main/scala/breeze/optimize/proximal/NonlinearMinimizer.scala
This is implemented based on the paper you cited.

@maropu maropu mentioned this pull request Apr 23, 2017
maropu added a commit to maropu/spark that referenced this pull request Apr 23, 2017
@asfgit asfgit closed this in e9f9715 Apr 24, 2017
peter-toth pushed a commit to peter-toth/spark that referenced this pull request Oct 6, 2018
This pr proposed to close stale PRs. Currently, we have 400+ open PRs and there are some stale PRs whose JIRA tickets have been already closed and whose JIRA tickets does not exist (also, they seem not to be minor issues).

// Open PRs whose JIRA tickets have been already closed
Closes apache#11785
Closes apache#13027
Closes apache#13614
Closes apache#13761
Closes apache#15197
Closes apache#14006
Closes apache#12576
Closes apache#15447
Closes apache#13259
Closes apache#15616
Closes apache#14473
Closes apache#16638
Closes apache#16146
Closes apache#17269
Closes apache#17313
Closes apache#17418
Closes apache#17485
Closes apache#17551
Closes apache#17463
Closes apache#17625

// Open PRs whose JIRA tickets does not exist and they are not minor issues
Closes apache#10739
Closes apache#15193
Closes apache#15344
Closes apache#14804
Closes apache#16993
Closes apache#17040
Closes apache#15180
Closes apache#17238

N/A

Author: Takeshi Yamamuro <[email protected]>

Closes apache#17734 from maropu/resolved_pr.

Change-Id: Id2e590aa7283fe5ac01424d30a40df06da6098b5
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.

5 participants