머신러닝을 위한 기초 수학 및 프로그래밍 실습

Basic Mathematics and Programming Practice for Machine Learning

M2177.005800

This course aims to understand the fundamental principles of complex systems and apply them through mathematics and programming. Mathematical understanding serves as a tool to clearly explain complex phenomena, while programming involves implementing these principles in a logical sequence. Students will learn how to bring their ideas to life through computer programming, providing an opportunity to explore and understand the essence of complex systems. The course will cover real-world data from fields such as nature, industry, and healthcare, with hands-on practice using interactive generative AI to derive meaningful results. Ultimately, the learning experience will extend to understanding the mechanisms of the human mind. This course is open to students of all majors, encouraging collaboration in multidisciplinary teams to tackle challenging problems that may be difficult to solve individually. Through this course, students will develop the ability to logically analyze and solve complex problems, learning how to creatively address various real-world challenges by utilizing programming and mathematics.

  • Location: Bld 43-101
  • Lecture: Monday 9:00 - 12:00

Teaching Assistants

Joontack Han

joontack.han@snu.ac.kr

Ph.D. Student, ME

Mintaek Oh

mintaek@snu.ac.kr

Master’s Student, CEE


References

  • 아라키 마사히로, 만화로 쉽게 배우는 머신러닝, 성안당

Grading

  • Attendance: 5%
  • Assignment: 40%
  • Final exam: 30%
  • Final project: 15%
  • Final report: 5%
  • Attitude: 5%

Assignments

Lecture Schedule

WeekDateLecture
13/7Course introduction and Axiomatic system Axiomatic system
from the structure of the Universe to the structure of thought.
Programming practice: Installation and first programming.
23/14Retrogradation
Retrograde motion in the sky, Function, Derivative, Chain-rule, Retrograde signal in a cell
Programming practice: Basic python programming practice
33/21Optimization and Regression
Optimization frameworks, Gradient descent method and Convexity, Non-linear optimization, Monte Carlo Method, Linear regression
Programming practice: Random number generation, Gradient descent method, Monte Carlo method.
43/28Analytical geometry
Mathematical modeling of neurons, From Euclidean geometry to analytical geometry, Occam’s razor
Programming practice: Training binary operations
54/4Linear Algebra and Associative memory
Fundamentals on Vector, Fundamentals on Matrix, Associate memory
Programming practice: Vector class, vector calculation, matrix operation
64/11Dimensionality reduction – 1/ Team meeting #1
Dimensionality reduction in linear transformation, Dimensional reduction in Perceptron
Programming practice: MNIST classification
74/18Dimensionality reduction – 2
Eigen vector/value, Principal Component Analysis, Singular Vector Decomposition
Programming practice: Eigen vector/value, PCA with MNIST
84/25Distance / One-page idea proposal
Euclidean distance, Minkowski distance, Distance in general space, Autoencoder, Event Horizon Telescope
Programming practice: Autoencoder
95/2Randomness in Machine Learning
Randomness, Gaussian distribution, Randomness in Encoder
105/9Distance in probability / Project planning
Kullback-Leibler Divergence, Decision Tree, Ensemble, Bagging, Boosting, and Random forest.
115/16Distance in time
Prediction in time, Distance in time, Map of meanings
125/23Final Exam / Team meeting #2
135/30Symmetry in Machine Learning
Recommendation, Measure of Intelligence, Incompleteness theorems, Symmetry in Universe and Intelligence
146/13Peer-to-peer review
156/20Final project presentation and exhibition

Final PT