All Projects → bhushan23 → ADMM

bhushan23 / ADMM

Licence: other
Implemented ADMM for solving convex optimization problems such as Lasso, Ridge regression

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ADMM

machine-learning
Python machine learning applications in image processing, recommender system, matrix completion, netflix problem and algorithm implementations including Co-clustering, Funk SVD, SVD++, Non-negative Matrix Factorization, Koren Neighborhood Model, Koren Integrated Model, Dawid-Skene, Platt-Burges, Expectation Maximization, Factor Analysis, ISTA, F…
Stars: ✭ 91 (+37.88%)
Mutual labels:  ridge-regression, lasso-regression
binary.com-interview-question
The sample question for Interview a job in Binary options
Stars: ✭ 52 (-21.21%)
Mutual labels:  ridge-regression, lasso-regression
ProxSDP.jl
Semidefinite programming optimization solver
Stars: ✭ 69 (+4.55%)
Mutual labels:  convex-optimization
gibbous
Convex optimization for java and scala, built on Apache Commons Math
Stars: ✭ 17 (-74.24%)
Mutual labels:  convex-optimization
ridge
CRAN R Package: Ridge Regression with automatic selection of the penalty parameter
Stars: ✭ 17 (-74.24%)
Mutual labels:  ridge-regression
CAE-ADMM
CAE-ADMM: Implicit Bitrate Optimization via ADMM-Based Pruning in Compressive Autoencoders
Stars: ✭ 34 (-48.48%)
Mutual labels:  admm
NMFADMM
A sparsity aware implementation of "Alternating Direction Method of Multipliers for Non-Negative Matrix Factorization with the Beta-Divergence" (ICASSP 2014).
Stars: ✭ 39 (-40.91%)
Mutual labels:  admm
portfolio allocation js
A JavaScript library to allocate and optimize financial portfolios.
Stars: ✭ 145 (+119.7%)
Mutual labels:  convex-optimization
osqp
The Operator Splitting QP Solver
Stars: ✭ 929 (+1307.58%)
Mutual labels:  convex-optimization
PyOptSamples
Optimization sample codes on Python
Stars: ✭ 20 (-69.7%)
Mutual labels:  convex-optimization
A- Guide -to Data Sciecne from mathematics
It is a blueprint to data science from the mathematics to algorithms. It is not completed.
Stars: ✭ 25 (-62.12%)
Mutual labels:  admm
cr-sparse
Functional models and algorithms for sparse signal processing
Stars: ✭ 38 (-42.42%)
Mutual labels:  convex-optimization
models-by-example
By-hand code for models and algorithms. An update to the 'Miscellaneous-R-Code' repo.
Stars: ✭ 43 (-34.85%)
Mutual labels:  ridge-regression
Robyn
Robyn is an experimental, automated and open-sourced Marketing Mix Modeling (MMM) package from Facebook Marketing Science. It uses various machine learning techniques (Ridge regression with cross validation, multi-objective evolutionary algorithm for hyperparameter optimisation, gradient-based optimisation for budget allocation etc.) to define m…
Stars: ✭ 433 (+556.06%)
Mutual labels:  ridge-regression
Joint-User-Association-and-In-band-Backhaul-Scheduling-and-in-5G-mmWave-Networks
Matlab Simulation for T. K. Vu, M. Bennis, S. Samarakoon, M. Debbah and M. Latva-aho, "Joint In-Band Backhauling and Interference Mitigation in 5G Heterogeneous Networks," European Wireless 2016; 22th European Wireless Conference, Oulu, Finland, 2016, pp. 1-6. URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7499273&isnumber=7499250
Stars: ✭ 36 (-45.45%)
Mutual labels:  convex-optimization
Open-L2O
Open-L2O: A Comprehensive and Reproducible Benchmark for Learning to Optimize Algorithms
Stars: ✭ 108 (+63.64%)
Mutual labels:  convex-optimization
Optimization
A set of lightweight header-only template functions implementing commonly-used optimization methods on Riemannian manifolds and convex spaces.
Stars: ✭ 66 (+0%)
Mutual labels:  convex-optimization
analisis-numerico-computo-cientifico
Análisis numérico y cómputo científico
Stars: ✭ 42 (-36.36%)
Mutual labels:  convex-optimization
FirstOrderSolvers.jl
Large scale convex optimization solvers in julia
Stars: ✭ 20 (-69.7%)
Mutual labels:  convex-optimization
Deep-Learning-Optimization-Algorithms
Visualization of various deep learning optimization algorithms using PyTorch automatic differentiation and optimizers.
Stars: ✭ 47 (-28.79%)
Mutual labels:  convex-optimization

ADMM

Implemented ADMM for solving convex optimization problems such as Lasso, Ridge regression

Introduction

Alternating Direction Method of Multiplier is framework for solving objecting function with divide-and-conquer approach.

ADMM works in two steps

  1. Divide
    a. Break down original problem into small problems
    b. Distribute these small problem to processors / computing resources
    c. Every processor solves the smaller problem
  2. Conquer
    a. Combine solution from <N> processors into one

Our work

We implemented ADMM in PyTorch framework Click here to view for Lasso and Ridge regression.

Results

Lasso Solver

Lasso Loss Lasso Prediction
ADMM Lasso Loss ADMM vs Scikit Lasso Solver

Ridge regression

Ridge regression Loss Ridge regression Prediction
ADMM Ridge regression Loss ADMM vs Scikit ridge regression Solver

ADMM vs Newton vs Gradient Descent

Contour Plot of ADMM vs GD vs Newtons method for Lasso Problem

Contour plot does shows that ADMM reaches to the optimal solution fast and then takes smaller steps as it reaches to near to the solution. Hence, it confirms that ADMM is middle solution to many problems which can solve problems nearly as fast as newton and is not just restricted to quadratic problems.

Issues

  1. ADMM needs distributed infrastructure to scale to general problems
  2. Gradient of individual small problems needs to be known in order to divide the problem
  3. How to divide the problem into smaller problems? a. This is reason behind we need to manually devise the smaller problem and then scale for parallalization

Slides

Click here to view Presentation

Report

Click here to view Report

Other resources

  1. My Convex Optimization assignments - https://github.com/bhushan23/Convex-Optimization
  2. Reading material - By Professor Steven Boyd - http://web.stanford.edu/~boyd/admm.html
  3. Implementation - By Niru Maheswaranathan - https://github.com/nirum/ADMM
  4. General Convex optimization problems implementation - By Stanford Convex Optimization group - https://github.com/cvxgrp/cvxpy
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].