shogun-toolbox / shogun

Shōgun
http://shogun-toolbox.org
BSD 3-Clause "New" or "Revised" License
3.03k stars 1.04k forks source link

ideas about stochastic minizers #2897

Open yorkerlin opened 9 years ago

yorkerlin commented 9 years ago

The stochastic minimizer framework (http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1FirstOrderSAGCostFunction.html http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1FirstOrderStochasticCostFunction.html http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1FirstOrderStochasticMinimizer.html) and the lossFunction framework for Vowpal Wabbit (http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CLossFunction.html) can be used to implement Shogun's online linear classifiers or the deep learning modular. (eg, http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDClassifier.html)

For example, we can extend the minimizer framework to support sparse vectors, GPU vectors and maybe parallel/asynchronous update.

BTW, the lossFunction is a subclass of SGObject. Data members in the lossFunction are not mutable variables. No idea why it is a subclass of SGObject? @iglesias I think all subclass of lossFunction are elements-wise cost functions.

My goal is to implement the deep GP or deep probabilistic models in the deep learning modular once my GP work is done.

yorkerlin commented 9 years ago

@karlnapf @lisitsyn @iglesias
any suggestion?

yorkerlin commented 9 years ago

ref https://github.com/shogun-toolbox/shogun/pull/2913

yorkerlin commented 9 years ago

I have implemented stochastic gradient descend (SGD), stochastic variance reduced gradient (SVRG), and stochastic mirror descend (SMD) minimizer. Next step is to implement stochastic coordinate descend (SCD).

For example:

For L1 (lasso) problem,

where n is the number of sample points, d is the number of features

yorkerlin commented 9 years ago

Next step:

karlnapf commented 9 years ago

@yorkerlin hi, it might be a good idea to talk to John if you are doing VW related work. We always wanted to do another round of integrating Shogun and VW closer to each other. Send me an email if you want me to introduce you

yorkerlin commented 9 years ago

@karlnapf Yes. Please check out the email.