Machine Learning and Deep learning Tutorial (shortly ML/DL Tutorial) has been initiated to teach undergraduate students in SEOULTECH about basic concepts of machine learning and deep learning with hands-on practices using scikit-learn and PyTorch. Even though there are so many good lectures and tutorials on machine learning and deep learning, I would like to share my viewpoint and summary with humble slides and examples because I also have learned many things from open and public lectures, tutorials, and articles. I hope that my slides and examples are also helpful to others.
- To clone this repository (codes and slides):
git clone https://github.com/mint-lab/dl_tutorial.git
- To fork this repository to your Github: Click here
- To download codes and slides as a ZIP file: Click here
This tutorial is the last part of my lecture. Its prior knowledge on Python and mathematics is also available in Programming Meets Mathematics.
📝 Source codes are enumerated in the order of its lecture slides.
- scikit-learn
- Classification
- SVM Classifiers
- Decision Tree Classifiers
- Naive Bayes Classifiers
- More Classifiers
- Lab) Breast Cancer Classification [slides] [skeleton code]
- Regression
- Clustering
- Data Separation
- Lab) Breast Cancer Classification with Cross-validation [slides] [skeleton code]
📝 Source codes are enumerated in the order of its lecture slides.
- PyTorch
- Creating a Tensor
- Reshaping a Tensor
- Line Fitting from Two Points
- CPU vs. GPU-acceleration
- Automatic Differentiation
- Automatic Differentiation - More Analysis
- Gradient Descent by Hands
- Gradient Descent by
torch.optim
- Lab) Object Detection using YOLO [slides] [skeleton code (py)] [skeleton code (ipynb)]
- Neural Network
- Convolutional Neural Network
- Recurrent Neural Network
- The Name2Lang Dataset [homepage]
Note) All examples contain their basic NN architectures and hyperparameters. One of main objectives in practices will be their performance improvement by changing the architectures and selecting hyperparameters.