Projects associated with the Machine Learning course

  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with a NN with topology and activation function of your choice (provided it is differentiable). Implement yourself two training algorithms of the NN using:

using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine, but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with a NN with topology and activation function of your choice (provided it is differentiable). Implement yourself two training algorithms of the NN using:

using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine, but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with

Implement yourself two training algorithms of the NN using:

and

using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine, but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with

Implement yourself two training algorithms of the NN using:

and

using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine, but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with

Implement yourself two training algorithms of the NN using:

and

using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine, but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with a NN with topology and activation function of your choice (provided it is differentiable), but mandatory L_1 regularization. Implement yourself two training algorithms of the NN using:

using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine (for instance, for solving the Master Problem of the bundle method), but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with

Implement yourself two training algorithms of the NN using:

and

using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine, but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with a NN with topology of your choice, but mandatory piecewise-linear activation function (of your choice). Implement yourself two training algorithms of the NN using:

using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries except. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine (for instance, for solving the Master Problem of the bundle method), but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with a SVR-type approach of your choice (in particular, with one or more kernels of your choice). Implement yourself a training algorithm of the SVR using an algorithm of the class of smoothed gradient methods [references: https://link.springer.com/article/10.1007/s10107-004-0552-5, https://arxiv.org/abs/1008.4000], using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine, but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with a SVR-type approach of your choice (in particular, with one or more kernels of your choice). Implement yourself a training algorithm of the SVR using an algorithm of the class of bundle methods [references: http://www.tandfonline.com/doi/abs/10.1080/10556780290027828, https://papers.nips.cc/paper/3230-bundle-methods-for-machine-learning.pdf], using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine (for instance, for solving the Master Problem of the bundle method), but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with a SVR-type approach of your choice (in particular, with one or more kernels of your choice). Implement yourself a training algorithm of the SVR using an algorithm of the class of active-set methods [references: J. Nocedal, S. Wright, Numerical Optimization, http://www.jmlr.org/papers/volume7/scheinberg06a/scheinberg06a.pdf], using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine, but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with a SVR-type approach of your choice (in particular, with one or more kernels of your choice). Implement yourself a training algorithm of the SVR using an algorithm of the class of interior-point methods [references: J. Nocedal, S. Wright, Numerical Optimization, http://epubs.siam.org/doi/abs/10.1137/S1052623400374379?journalCode=sjope8], using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine (for instance, for solving the Master Problem of the bundle method), but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with a SVR-type approach of your choice (in particular, with one or more kernels of your choice). Implement yourself a training algorithm of the SVR using an algorithm of the class of gradient projection methods [references: J. Nocedal, S. Wright, Numerical Optimization, http://www.tandfonline.com/doi/abs/10.1080/10556780512331318182], using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine (for instance, for solving the Master Problem of the bundle method), but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are:


  1. Participate to the ML cup competition associated with the Machine Learning course

https://elearning.di.unipi.it/mod/folder/view.php?id=3615

with a SVR-type approach of your choice (in particular, with one or more kernels of your choice). Implement yourself a training algorithm of the SVR using a Frank-Wolfe type (conditional gradient) [references: https://en.wikipedia.org/wiki/Frank%E2%80%93Wolfe_algorithm], using the programming language of your choice (C/C++, Python, Matlab) but no ready-to-use optimization libraries. For the avoidance of doubt, this means that you may use library functions (Matlab ones or otherwise) if an inner step of the algorithm requires them as a subroutine (for instance, for solving the LP within the algorithm - but do consider developing ad-hoc approaches exploiting the structure of your problem), but your final implementation should not be a single library call. Also, blatant copying from existing material, either provided by the teachers or found on the Internet, will be mercilessly crushed upon. Ask the teachers if you are uncertain about what this means in the context of your project (for instance, you are using a SVD, for which details were not seen in the lectures, a full implementation will not be required).

Required output of the project are: