2021 Faculty Courses School of Computing Undergraduate major in Computer Science
Machine Learning
- Academic unit or major
- Undergraduate major in Computer Science
- Instructor(s)
- Naoaki Okazaki
- Class Format
- Lecture
- Media-enhanced courses
- -
- Day of week/Period
(Classrooms) - 7-8 Tue (W331) / 7-8 Fri (W331)
- Class
- -
- Course Code
- CSC.T254
- Number of credits
- 200
- Course offered
- 2021
- Offered quarter
- 4Q
- Syllabus updated
- Jul 10, 2025
- Language
- Japanese
Syllabus
Course overview and goals
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.
Course description and aims
* 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
Keywords
regression, classification, clustering, dimensionality reduction, reinforce learning
Competencies
- Specialist skills
- Intercultural skills
- Communication skills
- Critical thinking skills
- Practical and/or problem-solving skills
Class flow
This class consists of lectures explaining the concepts and theories and exercises to realize them on computers.
Course schedule/Objectives
Course schedule | Objectives | |
---|---|---|
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 |
Study advice (preparation and review)
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.
Textbook(s)
None
Reference books, course materials, etc.
Course materials are distributed on OCW-i.
Evaluation methods and criteria
Based on the three reports (60%) and the final exam (40%).
Related courses
- CSC.T242 : Probability Theory and Statistics
- CSC.T272 : Artificial Intelligence
- CSC.T243 : Procedural Programming Fundamentals
- CSC.T253 : Advanced Procedural Programming
- CSC.T352 : Pattern Recognition
- ART.T458 : Advanced Machine Learning
Prerequisites
None