Skip to content

riccardoberta/machine-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lecture Notes on Machine Learning

Machine learning (ML) is a type of artificial intelligence (AI) that allows software applications to become more accurate at predicting outcomes without being explicitly programmed to do so, but exploiting historical data.

Here you can find the lecture notes used for the course on Tiny Machine Learning at University of Genoa by Prof. Riccardo Berta. The lecture notes are provided as several notebooks and powerpoint slides, each one covering a specific topic. The notebooks are written in Python and use libraries such as NumPy, Pandas, Matplotlib, Scikit-Learn, TensorFlow, and PyTorch. The course is designed to be self-contained, so you don't need any prior knowledge of machine learning, although it helps to have some basic understanding of linear algebra, calculus, probability, and Python programming.

Unfortunately, GitHub's notebook viewer does not render some features, such as interactive plots, it's slower, the math equations are not always displayed correctly, and large notebooks often fail to open. So if you want to play with the code, you need to run the notebooks. You can do that in three ways:

  1. Locally: you can clone this GitHub repository and start Jupyter Notebook. This is the best option if you want to explore the notebooks in read-write mode, modify them and run the code. However, you need to have Python and all libraries installed on your computer, and you need to install all the dependencies required by the notebooks, which can be time-consuming and somehow challenging. Here you can find a guide on how to install Python and all libraries on your computer.

  2. Remotely: you can click on this button Open In Colab. This will open the notebooks on Google Colab, a free online service that allows you to run Jupyter notebooks (it uses Google Drive as a backend, so you can save your notebooks there). This is the best option if you want to quickly view the notebooks, as Google Colab comes with all the dependencies pre-installed and ready to use. However, you will not be able to modify the notebooks (although you can make a copy and modify that copy in your Google Drive).

  3. Online: you can click on the button Render nbviewer. This will open the notebook on nbviewer, a free online service that renders notebooks as static web pages. This is similar to GitHub's notebook viewer, except that it properly renders more features (including interactive plots), it's faster, and it also allows you to download the notebook. However, you will not be able to modify the notebooks or run any code (except for the interactive plots).

The notebooks of this course are based on contents and examples from the following sources:

Books

  1. A. Géron Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow
  2. T. Hastie, R. Tibshirani, J. Friedman The Elements of Statistical Learning
  3. S. Shalev-Shwartz, S. Ben-David Understanding machine learning: From theory to algorithms
  4. M. Bishop, H. Bishop Deep learning: Foundations and concepts
  5. J. Grus Data Science from Scratch
  6. T. Mitchell Machine Learning
  7. D. Situnayake, J. Plunkett AI at the Edge - Solving Real-World Problems with Embedded Machine Learning
  8. P. Warden, D. Situnayake TinyML - Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers
  9. L. Tunstall, L. von Werra, T. Wolf Natural Language Processing With Transformers
  10. V. J. Reddi Machine Learning Systems with TinyML

Courses

  1. Geoffrey Hinton course on Neural Networks for Machine Learning
  2. Stanford course on Convolutional Neural Networks
  3. Stanford Machine Learning
  4. Harvard course on Tiny Machine Learning
  5. Applied Machine Learning

Other sources

  1. Papers with Code
  2. Machine learning cheat sheet
  3. Neural Network Playground
  4. TinyML Paper and Projects
  5. AI Canon
  6. Data Trends in Machine Learning
  7. Tiny Machine Learning Open Education Initiative (TinyMLedu)
  8. TinyML Foundation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published