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 that are essential for any engineer to apply machine learning technologies. This lecture also provides exercises where students can cultivate the skill for implementing the theories and algorithms as computer programs in Python.
* 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, clustering, dimensionality reduction, reinforce learning
|✔ Specialist skills||Intercultural skills||Communication skills||Critical thinking skills||✔ Practical and/or problem-solving skills|
This class consists of lectures explaining the concepts and theories and exercises to 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 effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterward (including assignments) for each class.
They should do so by referring to textbooks and other course material.
Course materials are distributed on OCW-i.
Based on the three reports (60%) and the final exam (40%).