Machine Learning is a "field of study that gives computers the ability to learn without being explicitly programmed" (Arthur Samuel, 1959). With the advances in theories and algorithms, big data, and computation power, machine learning recently showed astonishing progress, applied to various fields other than computer science. This lecture introduces the fundamental concepts and theories of machine learning accompanied by their implementations, which deepens understanding of the theories and applications of machine learning.
* We may prioritize students in the Department of Computer Science, School of Computing, when we need to limit the number of registered students due to the countermeasures for COVID-19.
* Acquire knowledge about the fundamental concepts and theories of machine learning
* Understand the theories and algorithms through implementations
* Learn the basic skill for data processing
regression, classification, neural network, clustering, principal component analysis, regularization, stochastic gradient descent
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | ✔ Practical and/or problem-solving skills |
This course consists of lectures explaining the concepts and theories and exercises to confirm and realize them on computers.
Course schedule | Required learning | |
---|---|---|
Class 1 | Introduction, Essentials of Python programming | Introduction to machine learning, Python programming |
Class 2 | Data Visualization | Reading/writing data, line chart, bar chart, plot, heatmap, NumPy, Matplotlib, scikit-learn |
Class 3 | Linear Regression | simple linear regression, least square method, maximum likelihood estimation, multiple linear regression, model selection, regularization, gradient method |
Class 4 | Linear Binary Classification | binary classification, logistic regression, evaluation |
Class 5 | Linear Multi-class Classification | multi-class classification, multi-class logistic regression, softmax function |
Class 6 | Exercise 1 | Exercise for the classes 3-5 |
Class 7 | Neural Networks | threshold logic unit, activation function, universal approximation theorem |
Class 8 | Multilayer Neural Networks (2) | computation graph, automatic differentiation, backpropagation, deep neural network, convolutional neural network |
Class 9 | Support Vector Machine | margin, duality, support vectors, kernel functions |
Class 10 | Exercise 2 | Exercise for the classes 7-9 |
Class 11 | Clustering | non-hierarchical clustering, K-means, Voronoi diagram, hierarchical clustering, single-linkage clustering, complete-linkage clustering, group averaging method, centroid method, Ward’s method |
Class 12 | Dimentionality Reduction | principal component analysis, singular value decomposition |
Class 13 | Reignforcement Learning | Markov decision process, Bellman equation, value iteration, policy iteration, Q learning |
Class 14 | Exercise 3 | Exercise for the classes 11-13 |
To enhance the effectiveness of learning, students are encouraged to spend, for each class, approximately 100 minutes for preparing the class in advance and another 100 minutes for reviewing the class afterward (including assignments), using the course material.
None
This course uses these web sites:
Machine Learning Notebook: https://chokkan.github.io/mlnote/
Python Quick Reference: https://chokkan.github.io/python/
Based on reports (60%) and the final exam (40%).
This course expects an understanding of the basic concepts of Linear Algebra, for example, vector, matrix, and eigendecomposition. Because this course uses dynamic web contents for couse materials, it is recommended to have your PC or tablet PC at hand when taking lectures.