[McGill in winter] [Statue of James McGill] [McGill in summer]


Economics 420/706





This page is for the course on Machine Learning

Class Notices:


The class outline is here as a PDF file, and here as HTML. Some of the information it contains is also given below.

The first text for the course is a book by Aurélien Géron, which I have found to be very useful for learning how to program machine-learning algorithms. The book was originally called Hands-on Machine Learning with SciKit-Learn and TensorFlow , and it is available from the O'Reilly website, to which I believe McGill people can get free access. However, the book has been updated, with the new title Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow, 3rd Edition . Keras is a software layer that makes programming an algorithm even easier than with TensorFlow, the leading platform until very recently.

The second text for the course is Deep Learning, by Ian Goodfellow, Yoshua Bengio, and Aaron Courville. It is now quite old. I used to use it as the main text, and it is still useful for many theoretical considerations.

This link takes you to the website for the book. Its contents are completely available online. The book is also available in hardcover . It is published by the MIT Press.

The third text is one that I came across just recently. It is GANs in Action, by Jakub Langr and Vladimir Bok, Manning. I acquired it as an ebook, and I don't know if it is available in a hardcopy version. Although GANs are a quite advanced topic, the first part of this book is a rather good, non-mathematical introduction to many of the topics we will consider.

Provisionally, here is a summary of the topics I covered over the last few years, and hope to be able to cover this year as well, plus one addition, the last in the list.

This year, there is time to explore the emergence of ChatGPT, from OpenAI. We will use two texts available on the O'Reilly website. First, What are ChatGPT and its Friends?, by Mike Loukides. This is a very short book, of only 20 pages, but it sets the stage extremely well. The second text is a longer book, and so we will have time for only some of it. It is Developing Apps with GPT-4 and ChatGPT by Olivier Caelen and Marie-Alice Blete. Study of these should bring us some way towards the frontiers of this very fast-moving field.


Software:

In the last few years, I have been working with Python, an interpreted language that has, for the most part, a straightforward syntax, and can be learnt swiftly by anyone with even just a little experience of programming. (Prefer Python 3 to Python 2. The two versions are not completely inter-compatible, and Python 3 provides better functionality.)

The relative simplicity of programming in Python is probably the main reason for which Python has quite the best set of libraries for machine learning, and not just for deep learning. Although deep learning will be the main focus of the course, I plan to look at some other machine-learning techniques, for which the Python libraries are equally useful. The study of some of these other techniques reveals how much all modern machine-learning approaches have in common, despite the fact that some are much better adapted than others for specific applications.

Resources

There is a super-abundance of resources available online for studying machine learning, and for implementing it. Machine learning is often coupled with the buzzword Big Data, and this is simply because machines usually learn better if they have a lot of data available to train their algorithms. Many big datasets are available online, the best known, and probably the most comprehensive, being

https://www.kaggle.com/datasets

Here are some of the available resources which I found useful. I will add to the list as the term proceeds.



Log of material covered:

Assignments:


To send me email, click here or write directly to russell.davidson@mcgill.ca.

[apache logo] [a penguin]

Back to the main page of this site

URL: https://russell-davidson.research.mcgill.ca/e706/