トップページへ

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