Google Summer of Code 2015 projects - shogun-toolbox/shogun GitHub Wiki
UPDATE:
Unfortunately, we were not selected for GSoC this year. As a consequence, summer of 2015 will be more calm for us. This allows us to focus on internal clean-ups that were meant to be the main goal of this year's GSoC projects. Naturally, these tasks are easier for people who are experienced with Shogun. In this sense, it actually good for us to have the ressources that usually go into mentoring/admin available for other tasks. We will apply again next year for sure!
If you are interested in particupating, feel free to get back to us. We have a couple of students/mentors who will do a project even without the Google funding. It's still open-source and everyone is welcome to join :)
A list of potential GSoC 2015 projects.
To add, please create a new wiki page for each project that you describe. Name them as "GSoC_2015_project_MCMC" etc. Here is a template.
Main focus
This year's GSoC is about improving Shogun, rather than extending it. Exceptions allowed.
- Fewer new algorithms. Rather improve existing ones: Usability, efficiency, documentation, application
- Fewer students. More intense mentoring, interaction between students, blogging, documenting
- Projects on
- Installation: most important
- Clean ups of: framework, build process, algorithms, usability, documentation
- Removing legacy code
- Efficiency: High performance computing, parallelisation, cloud, benchmarking
- Applications: Using Machine Learning as a tool to improve the world, rather than toy examples
- Pipelines & Framework: Improve usability on standard workflow pipelines
- Usablity: Building and Installing Shogun has to be easier
Mentors (and students) this year
Projects
ALL students will be required to document existing Shogun code on a weekly basis during GSoC. We need a list of all methods in Shogun, along with slim documentation on how to use them. Details to follow!
Improving Shogun
These are roughly ordered in our priority in them. Most of them do not focus on Machine Learning but rather on software engineering.
- Easy installation on major platforms
- Native MS Windows port
- A Shogun Detox
- Unifying Shogun's linear algebra
- Flexible modelselection 2
- HMM cleanup and application
- SWIG, Matlab & modular interfaces
- Framework for plugin-based architecture
Extending Shogun:
The projects we would like to limit in numbers.
Algorithms
- Fundamental ML 2: LGSSMs
- Large Scale Gaussian Processes
- Hip Deep learning
- Solver for the KKT System
- Dual coordinate ascent solver for SO-SVM
- LP/QP Framework
- Density Estimation in Infinite Dimensional Exponential Families
- Debiasing & Cluster computing
- Large scale statistical testing
Framework
TODO list
Other ideas:
- Cool pipelines
- A kaggle pipeline for supervised prediction.
- Spectrometer (there is an open-source hardward project on this)
- Music brainz predictions (The cool hair guy at GSoC is the one we should talk to here)
- Some bio thing?
- Collaboration with MLPack for toolkit wide performance/accuracy testing
Infrastructure:
- Get rid of static interfaces, migrate all tests etc
- Matlab swig bindings
- REST interface
Clean ups:
- Modularise Shogun
- Benchmark existing algos and improve!