BIG-O AI: INTRODUCTION TO MACHINE LEARNING

Are you eager to learn Machine Learning but don’t know where to start? Do you feel overwhelmed by the vast amount of knowledge out there and are unsure of the most effective learning path?

The “Big O AI Introduction to Machine Learning” course will help you navigate through this complexity with a well-structured and carefully curated learning path. The course aims to build a strong foundation that will boost your confidence on your journey to mastering Machine Learning.

By the end of the course, you will have learned how to:

  • Prepare and visualize data: Understand how to clean and prepare datasets while leveraging tools and techniques to visualize data effectively.

  • Apply fundamental Machine Learning algorithms: Gain a solid understanding of how essential ML algorithms work and how to apply them.

  • Optimize models: Learn advanced techniques such as hyperparameter tuning, ensemble methods, and more to enhance model performance.

  • Understand Neural Networks: Grasp the principles of neural networks, providing you with a strong foundation to explore Deep Learning.

Programming Languages in this course: the most used programming languages nowadays: Python.

Tuition Fee: Special offer for the first 5 early registrants. For details of tuition fees, please see the attached link below.

In addition, to get more detailed advice about the AI course, you can contact the following fanpage: Big-O Coding

You can view the opening time, class timetable and register via this link 

SUITABLE AUDIENCES (STUDENTS)

  • Prerequisites: Learners should have basic Python programming skills.

  • Optional Knowledge: Familiarity with fundamental calculus, algebra, and probability concepts, such as derivatives, vectors, and probability. Experience with popular ML libraries such as numpy, pandas, and sklearn is recommended.

  • If you are not a suitable student for this Big-O AI class, please call us at: 0937.401.483 for advice on taking the next open classes in the near future.

COURSE ILLUSTRATION EXERCISES

  • The exercises are divided into two types: Multiple-choice questions and programming assignments provided in Jupyter Notebooks.
  • A variety of exercises tailored to each lecture: from implementing algorithms from scratch for better understanding to applying them to real-world problems.
  • The final exam introduces a Machine Learning challenge, allowing learners to apply all their knowledge to solve real-world problems with practical datasets.

TIME AND LOCATION OF THIS COURSE

  • Duration: 2 months (8 weeks)
  • Fomat: Online via Zoom.
  • Number of students per class: 25 to 30 students maximum.
  • Each class has 1 main teacher and 5 teaching assistants.
  • Especially, there are weekly Office Hours for students to review the lesson if they can’t keep up with the lesson progress.

WHAT MAKES THE COURSES AT BIG-O CODING DIFFERENT

1. TEACHING PROGRAM:

  • The programs are taught by Algorithm experts with many years of experience (see alsoTeaching Staff).
  • Students have chances to meet and receive sharing from successful people who have gone before about their Algorithmic learning experiences and working experiences.
  • Each class in addition to the main lecturer has 5 teaching assistants: the teaching assistants are in charge of the class and the class’s own forum to ensure that all students’ questions will be answered quickly anytime, anywhere.

2. OBJECTIVES AFTER THE COURSE:

  • The entire system of solid Machine Learning foundation knowledge.
  •  Prepare and visualize data: Understand how to clean and prepare datasets while leveraging tools and techniques to visualize data effectively.
  • Apply fundamental Machine Learning algorithms: Gain a solid understanding of how essential ML algorithms work and how to apply them.
  • Optimize models: Learn advanced techniques such as hyperparameter tuning, ensemble methods, and more to enhance model performance.
  • Understand Neural Networks: Grasp the principles of neural networks, providing you with a strong foundation to explore Deep Learning.

AI COURSE SYLLABUS

Review the important concepts to note in Python, familiarize yourself with popular libraries in Machine Learning such as Numpy, Pandas, etc., and how to use them for data exploration and cleaning.
Application Exercise: Exploring Netflix TV Shows Data.
Introduce the concept, differentiate between regression and classification problems. Explore the KNN algorithm, how it works, and how to apply the algorithm in both regression and classification tasks.
Application Exercises:
  • Adjust model parameters.
  • Applying KNN for anomaly detection.
Learn about the 3 basic components of a machine learning system.
Metrics for the classification task: Confusion matrix, Accuracy, Precision, Recall, F-score, ROC curve
Metrics for regression problems: MAE, MSE, RMSE, R2.
Bias-variance trade-off.
Cross-validation model evaluation method.
Application Exercises
  • Spam detection with KNN.
  • Increase accuracy with the technique of removing stop words.
Introduction to linear functions.
Introduction to Loss Functions.
Solve the optimization problem using Least Squares.
Regularization.
Application exercises: Building a regression model to predict health insurance costs.
  • Simple regression.
  • Multiple regression.
  • Application of Lasso Regression for feature selection.
Review of supplementary knowledge: Derivatives and Gradient.
Introduction to advanced algorithms: Momentum and Adaptive Learning Rate.
Application exercises:
  • Demonstration problem 1: Plant watering robot.
  • Demonstration problem 2: Linear regression (introduction to Mini-batch GD).
  • Parameter tuning for the Gradient Descent algorithm.
  • Implementing the Gradient Descent algorithm with Momentum.
Learn about the Logistic Regression algorithm and how to apply it to binary classification problems and multiclass classification problems.
Illustrative example 1: Binary classification.
  • Introduction to the sigmoid function.
  • Design of the loss function using MLE: Logloss.
  • Optimization with gradient descent.
Illustrative example 2: Multiclass classification.
  • Introduction to Softmax.
  • Introduction to Cross-Entropy loss.
  • Optimization with Gradient descent.
Recap the concepts in statistical probability that are strongly related to Machine Learning, such as random variables, joint probability, conditional probability, and Bayes' theorem.
Learn about the Naive Bayes algorithm and how to apply it to data with different distributions.
Explore some distributions:
  • Bernoulli Distribution.
  • Gaussian Distribution.
  • Multinomial Distribution.
Application exercises:
  • Text data preprocessing.
  • Multinomial Naive Bayes from Scratch.

Midterm contest of the course.

Introduction to the Maximl Margin Classifier.
Introduction to the Support Vector Classifier.
Introduction to the kernel trick and SVM.
Application exercises:
  • Selecting the hyperparameter C.
  • Using the kernel trick for binary classification problems.
  • Using the kernel trick for multiclass classification problems.
Explore the basic components of Decision Trees, from branching data based on attributes to applications in various machine learning problems.
Classification Problem.
  • Constructing DT with Recursive Binary Splitting.
  • Introduction to impurity measures: Gini Index, Entropy.
Regression Problem.
  • Introduction to RSS
Overview introduction to the clustering problem.
K-means algorithm: illustrative example for customer clustering.
Selecting the number of clusters in K-means.
Introduction to hierarchical clustering.
Application exercises:
  • Using the Elbow technique to select K clusters.
  • Introduction to the Kmeans++ algorithm.
  • Applying Kmeans to image compression problems.
Introduction to the problem of dimensionality reduction.
Introduction to the main idea of Principal Component Analysis (PCA).
Review of supporting knowledge: Change of basis in vector spaces.
Principal Component Analysis (PCA) Algorithm: Illustration of the customer segmentation problem.
Introduction to the method: Finding the optimal number of principal components.
Application exercises:
  • Eigenface and its application in classification problems.
  • Determining the number of PCA components with the cumulative variance ratio.
Introduction to Ensemble methods.
Explore three main Ensemble methods:
  • Bagging: Random forest.
  • Boosting: AdaBoost, Gradient Boost.
  • Stacking.
Introduction to parameter tuning methods: Grid Search, Random Search, Bayesian Optimization.
Application exercises: Applying techniques to the problem of predicting diabetes.
  • Hyperparameter tuning.
  • Using ensemble models.
Introduction to Deep Learning.
Introduction to the main components of Artificial Neural Networks (ANN).
Architectures of Artificial Neural Networks (ANN).
Understanding Loss Functions and the Backpropagation Algorithm.
Some issues: Exploding/Vanishing Gradient, Overfitting.
Application Exercises:
  • Using Pytorch to build a NN model.
  • Data: Moon dataset -> Convert to MNIST.
Overview Introduction.
Data Exploration.
Data Preprocessing: Missing Values, Outliers, Normalization, and Data Scaling.
Feature Engineering: Feature Transformation, Feature Extraction, Feature Selection.
Class Imbalance and Possible Solutions.
Introduction to Pipeline.
AutoML.
Application Exercise: Applying techniques and models to the house price prediction problem.

The final contest of the course.