Mathematics for machine learning - Fall 2020
(Special Mathematics Lecture)
If you are Japanese student, please also register at the NU-EMI project for this course.
This course will be done completely online (Zoom).
Content
Machine learning became a popular and really broad field in recent years. Machine learning algorithms are used in a wide variety of applications, such as email filtering, computer vision, medicine, language translation, computer games, economic, etc.. The goal of this course is to give a brief introduction into machine learning with a focus on the mathematical tools used.
We will probably cover following topics:
Materials
Homework Assignments
We will use GitHub classrooms and Google Colab for the homework assignments. If you want to do the assignments, please send me an email or write me a private message in discord with the following information: FAMILYNAME Firstname, GitHub Account name, Email.
You will then be added to our GitHub classroom.
Course Prerequisites
Basic knowledge in Linear Algebra and Calculus is helpful. We will also do some programming in Python. Programming knowledge are useful but not necessary since a rough introduction to programming in Python will be part of the course. Motivated 1st-year students can also attend without these prerequisites if they contact the lecturer beforehand.
Due to the programming part of the lecture, students should have (access to) a computer/laptop.
Grading
The final grade will be based on active participation during the lectures and on some written and programming tasks. This course is an optional subject which does not count towards the number of credits required for graduation in any program at Nagoya University.
Studdy sessions
There will be study sessions organized by students of the course. These are each week Thursday from 18:30 and Tuesday from 18:30. The Zoom meeting information are available in the Discord server.
Lecture schedule:
We will meet each Wednesday at 18:15~19:45 in Zoom. The Zoom Meeting ID & Password are available on the NUCT page or in the Discord server.
The following gives a tentative overview of the topics we will cover each week.
Week 01 (10/05-10/11): Introduction to the course & Overview of machine learning & Linear Regression I
Week 02 (10/12-10/18): Linear Regression II & Python examples
Week 03 (10/19-10/25): Linear Regression III, Logistic Regression, Maximum Likelihood
Week 04 (10/26-11/01): - G30 Welcome party -
Week 05 (11/02-11/08): Logistic Regression & Maximum Likelihood II
Week 06 (11/09-11/15): Generative Learning algorithms & Naive Bayes
Week 07 (11/16-11/22): - Break -
Week 08 (11/23-11/29): Naive Bayes II & Support vector machines
Week 09 (11/30-12/06): Support vector machines II
Week 10 (12/07-12/13): Support vector machines III: Primal & Dual Problem & Kernels
Week 11 (12/14-12/20): Reinforcement Learning: Q-Learning I
Week 12 (12/21-12/27): Q-Learning II, Unsupervised learning: k-means clustering
Winter Vacation (12/27-01/07) 🎅🎄☃️
Week 13 (01/11-01/17): Neural Networks I
Week 14 (01/18-01/24): - Break -
Week 15 (01/25-01/31): Neural Networks II
Week 16 (02/01-02/07): Neural Networks III & TensorFlow
References (a more detailed list of references will follow)
Last update: 3rd February 2021.
This course will be done completely online (Zoom).
- We will use a Discord server for communication. Please join this server if you plan to attend this course.
- There is also a NUCT course page for this lecture, but all information will be available here and in the discord server.
Content
Machine learning became a popular and really broad field in recent years. Machine learning algorithms are used in a wide variety of applications, such as email filtering, computer vision, medicine, language translation, computer games, economic, etc.. The goal of this course is to give a brief introduction into machine learning with a focus on the mathematical tools used.
We will probably cover following topics:
- Overview of machine learning
- (Linear) Regression
- Review Linear Algebra
- Programming & doing mathematics in Python
- Introduction to Probability
- Support vector machines
- k-means clustering
- Neural networks
- Deep learning
Materials
- Lectures slides: Lecture 1, Lecture 2, Lecture 3, Lecture 4, Lecture 5, Lecture 6, Lecture 7, Lecture 8, Lecture 9, Lecture 10, Lecture 11, Lecture 12, Lecture 13
- Zoom lectures notes : Lecture 1, Lecture 2, Lecture 3, Lecture 4, Lecture 5, Lecture 6, Lecture 7, Lecture 8, Lecture 9, Lecture 10, Lecture 11, Lecture 12
(Lecture slides with handwriting from the Zoom Lecture) - Colab Notebook: Lecture 2, Lecture 4, Lecture 9, Lecture 11, Lecture 13
- Zoom lecture video: Lecture 1, Lecture 2, Lecture 3, Lecture 4, Lecture 5, Lecture 6, Lecture 7, Lecture 8, Lecture 9, Lecture 10, Lecture 11, Lecture 12, Lecture 13
- Homework Assignments: Test assignment, Homework 1, Homework 2, Homework 3
Homework Assignments
We will use GitHub classrooms and Google Colab for the homework assignments. If you want to do the assignments, please send me an email or write me a private message in discord with the following information: FAMILYNAME Firstname, GitHub Account name, Email.
You will then be added to our GitHub classroom.
Course Prerequisites
Basic knowledge in Linear Algebra and Calculus is helpful. We will also do some programming in Python. Programming knowledge are useful but not necessary since a rough introduction to programming in Python will be part of the course. Motivated 1st-year students can also attend without these prerequisites if they contact the lecturer beforehand.
Due to the programming part of the lecture, students should have (access to) a computer/laptop.
Grading
The final grade will be based on active participation during the lectures and on some written and programming tasks. This course is an optional subject which does not count towards the number of credits required for graduation in any program at Nagoya University.
Studdy sessions
There will be study sessions organized by students of the course. These are each week Thursday from 18:30 and Tuesday from 18:30. The Zoom meeting information are available in the Discord server.
Lecture schedule:
We will meet each Wednesday at 18:15~19:45 in Zoom. The Zoom Meeting ID & Password are available on the NUCT page or in the Discord server.
The following gives a tentative overview of the topics we will cover each week.
Week 01 (10/05-10/11): Introduction to the course & Overview of machine learning & Linear Regression I
Week 02 (10/12-10/18): Linear Regression II & Python examples
Week 03 (10/19-10/25): Linear Regression III, Logistic Regression, Maximum Likelihood
Week 04 (10/26-11/01): - G30 Welcome party -
Week 05 (11/02-11/08): Logistic Regression & Maximum Likelihood II
Week 06 (11/09-11/15): Generative Learning algorithms & Naive Bayes
Week 07 (11/16-11/22): - Break -
Week 08 (11/23-11/29): Naive Bayes II & Support vector machines
Week 09 (11/30-12/06): Support vector machines II
Week 10 (12/07-12/13): Support vector machines III: Primal & Dual Problem & Kernels
Week 11 (12/14-12/20): Reinforcement Learning: Q-Learning I
Week 12 (12/21-12/27): Q-Learning II, Unsupervised learning: k-means clustering
Winter Vacation (12/27-01/07) 🎅🎄☃️
Week 13 (01/11-01/17): Neural Networks I
Week 14 (01/18-01/24): - Break -
Week 15 (01/25-01/31): Neural Networks II
Week 16 (02/01-02/07): Neural Networks III & TensorFlow
References (a more detailed list of references will follow)
- Python Tutorial
- CS299 Machine Learning (Stanford University)
- Machine Learning Glossary
- https://www.deeplearningbook.org/
- TensorFlow playground
Last update: 3rd February 2021.