ocramz / optimization-streaming

BSD 3-Clause "New" or "Revised" License
3 stars 1 forks source link

With or without streaming interface? #1

Open ocramz opened 6 years ago

ocramz commented 6 years ago

Decide whether to include or not streaming and related combinators

freuk commented 6 years ago

Following yesterday's discussion;

My initial intuition is to split four ways, in increasing order of complexity: online-optimization (typeclasses for problem descriptions and algorithms, here we find "Online mirrror descent" and typeclasses such ass "Regularizer" and "Loss function") online-learning (examples instances, here we find "online ranking SVM" or "online matrix decomposition") online-learning-streaming (streams/pipes/conduit interface to classical problems) honlinelearn (tooling, daemon)

The problem description aspect is heavily dependent on the algorithmic side, ie regularizers can be either used with a projection, a derivative, a parametrized projection operator(eg adagrad) . The streaming layer depends on the 'learning' layer heavily, because the learning layer may have various learning framework (eg ranking vs regression), which means that the streaming protocol and monitoring/save-restore operation change. the tooling/daemon layer is just wrappers and helpers (online to batch, csv input, ect)