COM4509/6509 Machine Learning and Adaptive Intelligence - University of Sheffield
Autumn 2021 by Mauricio A Álvarez (1-5) and Haiping Lu (6-10)
- Session 1: Introduction to Machine Learning
- Session 2: End-to-end machine learning
- Session 3: Decision trees and ensemble methods
- Session 4: Linear regression
- Session 5: Automatic differentiation
- Session 6: Logistic regression and PyTorch for deep learning
- Session 7: Neural networks
- Session 8: Unsupervised learning
- Session 9: Generative models
- Session 10: Accessible multimodal/transfer learning with PyKale
Module delivery plan
Details about the module delivery plan for COM4509/6509 are here
Lab Sessions
We will use Jupyter Notebooks running a Python 3+ kernel for the Lab Sessions.
You can access the environment required in different ways.
Option 1.
The Desktop computers in The Diamond already have Anaconda installed. Download the notebooks and open them using the Anaconda Navigator.
Option 2.
You can install Anaconda in your local computer and then launch Jupyter Notebook using the Anaconda Navigator. The Anaconda distribution contains all the Python libraries that we will use in this module (e.g. Pandas, NumPy, SciPy, Matplotlib, Pytorch, etc).
If you are a Linux or MacOS user, you can open a Jupyter Notebook by moving to the Labs
folder and then
typing on your terminal
jupyter notebook Lab 1 - Probability and Introduction to Jupyter Notebooks.ipynb
Option 3.
The University of Sheffield has a remote desktop service that you can use. The remote desktops have Anaconda already installed. Once you connect to the remote desktop, use the Anaconda Navigator to open a Jupyter Notebook. If you connect to a Linux computer, you can open Jupyter Notebook using the terminal as explained in Option 2.
Option 4
You can run the Jupyter Notebooks directly on Google Colab. Click on each Colab Badge to open the notebook.
If you want to save changes to the Notebook, you need to save them before quitting. According to this link:
If you would like to save your changes from within Colab, you can use the File menu to save the modified notebook either to Google Drive or back to GitHub. Choose File→Save a copy in Drive or File→Save a copy to GitHub and follow the resulting prompts. To save a Colab notebook to GitHub requires giving Colab permission to push the commit to your repository.
References
Introductory level
-
Simon Rogers and Mark Girolami, A First Course in Machine Learning, Chapman and Hall/CRC Press, 2nd Edition, 2016.
-
John D Kelleher, Brian MacNamee and Aoife D'arcy, Fundamentals of Machine Learning for Predictive Data Analytics: Algorithms, Worked Examples, and Case Studies, The MIT Press, 2015.
Intermediate and advanced levels
-
Christopher Bishop, Pattern Recognition and Machine Learning, Springer-Verlag, 2006.
-
Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012.
-
Kevin Murphy, Probabilistic Machine Learning: An Introduction, MIT Press, 2022.
-
Bradley Efron and Trevor Hastie, Computer Age Statistical Inference (Student Edition), Cambridge University Press, 2021.
Focus on implementation
-
Aurélien Géron, Hands-On Machine Learning with Scikit-Learn and TensorFlow, O′Reilly, 2nd Edition, 2019.
-
Andriy Burkov, The Hundred-Page Machine Learning Book, 2019.
Acknowledgement
Some of the slides and lab notebooks used in this module are based on material developed by Prof. Neil Lawrence and many others individually acknolwedged in slides/notebooks.