This class touches upon the basics of machine learning (ML). Hands-on experience with a minimal exposition to the underlying mathematics. Rather than detailing the math, the focus is placed on the motivation and goals behind ML algorithms. Students will learn to use ML algorithmic tools via numerous examples of Python (scikit-learn) code and life-sciences data. This class serves as a stepping stone between Introduction to Data Science (HCB course, 1Q) and more advanced and mathematically oriented ML, data-science and AI classes.
Learn the basic concepts of machine learning. Learn to use Python to run basic machine-learning algorithms.
Machine learning, data analytics, Python
|✔ Specialist skills||Intercultural skills||Communication skills||✔ Critical thinking skills||✔ Practical and/or problem-solving skills|
|✔ (1) Learn how to run basic ML algorithms via Python (scikit-learn) code and life-sciences data. (2) Build intuition to identify the appropriate ML algorithm for the data-science problem at hand.|
Basic concepts will be explained in class. Hands-on approach: Run basic machine-learning algorithms in real time during classes. Homeworks will be projects based on the Python code explained in class. All slides, Python code and data will be provided by the instructor.
|Course schedule||Required learning|
|Class 1||Course introduction||Course logistics. What is machine learning? What are its goals? Installing Python (offline/online) and using scikit-learn.|
|Class 2||Introduction to regression||Linear (least-squares), regularized, and polynomial regression|
|Class 3||Introduction to dimensionality reduction||Principal component analysis (PCA) and variants|
|Class 4||Introduction to clustering||Kmeans and spectral clustering|
|Class 5||Introduction to classification (I)||Naive Bayes and support vector machines (SVMs|
|Class 6||Introduction to classification (II)||Random forests and the perceptron (intro to neural networks)|
|Class 7||Introduction to deep neural networks||Convolutional neural networks, recurrent neural networks, etc|
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
All slides, Python code and data will be provided by the instructor.
(1) A. Geron, “Hands-on Machine Learning with Scikit-Learn, Keras & TensorFlow,” O’Reilly, 2nd ed., 2019.
(2) R. O. Duda, P. E. Hart, and D. G. Stork, “Pattern Classification,” John Wiley & Sons, 2nd ed., 2001.
(3) S. Theodoridis, “Machine Learning: A Bayesian and Optimization Perspective,” Academic Press, 2nd ed., 2020.
Very basics of calculus. No knowledge of Python is required.
slavakis.k.aa[at]m.titech.ac.jp / 045-924-5410
Every Tuesday (16:00-17:00) via Zoom