Tổng hợp tất cả các thuật toán ML và kiến trúc DL phổ biến trong AI

Việt Nguyễn AIAbout 16 min readMay 27, 2025Watch original
THE SUMMARYAI-generated

Key Concepts

  • Linear Regression: Hồi quy tuyến tính, tìm mối quan hệ tuyến tính giữa input và output.
  • Polynomial Regression: Hồi quy đa thức, mở rộng của linear regression với các hạng tử bậc cao.
  • Overfitting: Mô hình quá phức tạp so với dữ liệu, độ chính xác cao trên dữ liệu huấn luyện nhưng thấp trên dữ liệu mới.
  • Regularization: Chính quy hóa, kỹ thuật giảm overfitting bằng cách kiểm soát độ phức tạp của mô hình.
  • Lasso (L1 Regularization): Loại bỏ các đặc trưng ít quan trọng bằng cách ép trọng số về 0.
  • Ridge (L2 Regularization): Giảm độ lớn của tất cả các trọng số.
  • Elastic Net: Kết hợp L1 và L2 regularization.
  • Logistic Regression: Hồi quy logistic, thuật toán cho bài toán phân loại nhị phân, sử dụng hàm sigmoid.
  • Multinomial Logistic Regression: Mở rộng của logistic regression cho bài toán phân loại đa lớp, sử dụng hàm softmax.
  • Bayes' Theorem: Định lý Bayes, tính xác suất xảy ra một sự kiện khi biết một sự kiện khác đã xảy ra.
  • Naive Bayes: Thuật toán phân loại dựa trên định lý Bayes và giả định về sự độc lập của các đặc trưng.
  • Decision Tree: Cây quyết định, thuật toán dễ diễn giải, phân chia dữ liệu dựa trên các câu hỏi.
  • Gini Impurity: Độ tinh khiết Gini, thước đo độ lệch của các phân chia trong cây quyết định.
  • Random Forest: Rừng ngẫu nhiên, kết hợp nhiều cây quyết định để tăng độ chính xác.
  • Bootstrapping: Phương pháp lấy mẫu có hoàn lại để tạo ra các bộ dữ liệu con.
  • Support Vector Machine (SVM): Máy vectơ hỗ trợ, tìm đường phân cách tối ưu giữa các lớp.
  • Hyperplane: Siêu phẳng, đường phân cách trong không gian đa chiều.
  • Kernel Trick: Kỹ thuật đưa dữ liệu vào không gian chiều cao hơn để phân chia tuyến tính dễ dàng hơn.
  • K-Nearest Neighbors (KNN): K láng giềng gần nhất, thuật toán phân loại/hồi quy dựa trên khoảng cách đến các điểm dữ liệu lân cận.
  • Ensemble Learning: Học tổng hợp, kết hợp nhiều mô hình để cải thiện độ chính xác.
  • Bagging: Huấn luyện song song nhiều mô hình trên các bộ dữ liệu con.
  • Boosting: Huấn luyện tuần tự các mô hình, mô hình sau tập trung vào các điểm dữ liệu mà mô hình trước dự đoán sai.
  • Voting: Kết hợp dự đoán của nhiều mô hình khác nhau.
  • Stacking: Sử dụng một metamodel để kết hợp dự đoán của các base model.
  • K-Means Clustering: Phân cụm K-Means, thuật toán phân chia dữ liệu thành k cụm dựa trên khoảng cách.
  • Principal Component Analysis (PCA): Phân tích thành phần chính, thuật toán giảm chiều dữ liệu.
  • Single Layer Perceptron: Mạng neuron đơn lớp, kiến trúc cơ bản với một lớp input và một lớp output.
  • Multilayer Perceptron (MLP): Mạng neuron đa lớp, có thêm các lớp ẩn (hidden layers).
  • Activation Function: Hàm kích hoạt, hàm phi tuyến được sử dụng trong các lớp ẩn của MLP.
  • Convolutional Neural Network (CNN): Mạng neuron tích chập, kiến trúc đặc biệt cho xử lý ảnh.
  • Recurrent Neural Network (RNN): Mạng neuron hồi quy, kiến trúc cho xử lý dữ liệu chuỗi.
  • Long Short-Term Memory (LSTM): Biến thể của RNN, có khả năng ghi nhớ thông tin dài hạn.
  • Gated Recurrent Unit (GRU): Biến thể của RNN, đơn giản hơn LSTM nhưng vẫn hiệu quả.
  • Transformer: Kiến trúc mạng neuron dựa trên cơ chế self-attention, vượt trội trong xử lý ngôn ngữ tự nhiên.
  • Encoder-Decoder: Cấu trúc của Transformer, gồm encoder mã hóa đầu vào và decoder giải mã đầu ra.
  • Self-Attention: Cơ chế cho phép mỗi token chú ý đến các token khác trong cùng chuỗi.
  • Positional Encoding: Mã hóa vị trí, module giúp Transformer biết được thứ tự của các từ trong câu.
  • BERT: Bidirectional Encoder Representations from Transformers, kiến trúc chỉ sử dụng encoder của Transformer.
  • GPT: Generative Pre-trained Transformer, kiến trúc chỉ sử dụng decoder của Transformer.
  • Vision Transformer (ViT): Ứng dụng Transformer vào xử lý ảnh.
  • Generative Adversarial Network (GAN): Mạng đối kháng sinh, kiến trúc gồm generator tạo dữ liệu giả và discriminator phân biệt dữ liệu thật/giả.
  • Autoencoder: Kiến trúc gồm encoder nén dữ liệu và decoder tái tạo dữ liệu.

Linear Regression

  • Định nghĩa: Thuật toán cơ bản cho bài toán hồi quy, tìm mối quan hệ tuyến tính giữa một hoặc nhiều biến đầu vào (X) và một biến đầu ra (Y).
  • Mối quan hệ tuyến tính: Mối quan hệ bậc 1, ví dụ: y = ax + b.
  • Simple Linear Regression: Chỉ có một biến đầu vào X.
  • Multiple Linear Regression: Có nhiều hơn một biến đầu vào X.
  • Thuật ngữ:
    • X: Independent variable (biến độc lập), feature (đặc trưng).
    • Y: Dependent variable (biến phụ thuộc), target (mục tiêu).
  • Ví dụ:
    • Simple: Dự đoán lương dựa trên số năm kinh nghiệm.
    • Multiple: Dự đoán lương dựa trên số năm kinh nghiệm và trình độ học vấn.
  • Huấn luyện mô hình: Tìm đường thẳng tối ưu (hệ số a và b) sao cho khoảng cách trung bình đến các điểm dữ liệu là nhỏ nhất.
  • Dự đoán: Sử dụng công thức đã học để dự đoán giá trị Y cho các giá trị X mới.
  • Tổng quát: y = w1x1 + w2x2 + ... + wnxn.
  • Loss function: Mean squared error (MSE), tối thiểu hóa trung bình của bình phương sai số giữa giá trị thực tế và giá trị dự đoán.
  • Hạn chế: Không phù hợp với dữ liệu phức tạp có mối quan hệ phi tuyến tính.

Polynomial Regression

  • Định nghĩa: Phiên bản mở rộng của linear regression, sử dụng các hạng tử bậc cao của biến X.
  • Công thức: y = w0 + w1x + w2x^2 + ... + wnx^n.
  • Giá trị n: Bậc cao nhất của biến X, cần được quyết định khi sử dụng thuật toán.
  • Lưu ý: Phân biệt chỉ số trên (superscript) trong polynomial regression (bậc của biến x) và chỉ số dưới (subscript) trong multiple linear regression (phân biệt các biến x khác nhau).
  • Overfitting: Hiện tượng xảy ra khi mô hình quá phức tạp so với dữ liệu.
  • Ví dụ: Mô hình bậc 10 đi qua tất cả các điểm dữ liệu nhưng quá phức tạp và có thể dự đoán sai trên dữ liệu mới.

Regularization

  • Định nghĩa: Kỹ thuật giảm overfitting bằng cách kiểm soát độ phức tạp của mô hình.
  • Nguyên tắc: Tối thiểu hóa đồng thời sai số giữa giá trị dự đoán và giá trị thực tế, đồng thời tối thiểu hóa độ phức tạp của mô hình.
  • Công thức: Loss function + Regularization term.
  • Regularization term: λ * Σ(wj^2), λ là hệ số thể hiện tầm quan trọng của thành phần regularization.
  • Các kỹ thuật chính:
    • Lasso (L1 Regularization): Thêm tổng của các giá trị tuyệt đối của các trọng số vào loss function.
    • Ridge (L2 Regularization): Thêm tổng của bình phương các trọng số vào loss function.
    • Elastic Net: Kết hợp L1 và L2 regularization.
  • Sự khác biệt giữa Lasso và Ridge:
    • Lasso: Có xu hướng ép một vài trọng số về 0, thường được sử dụng trong feature selection.
    • Ridge: Có xu hướng làm giảm độ lớn của tất cả các trọng số.
  • Ứng dụng: Có thể áp dụng trong nhiều thuật toán khác nhau, kể cả regression và classification.
  • Scikit-learn: Cung cấp các class như Lasso, Ridge, ElasticNet để kết hợp linear regression với các kỹ thuật regularization tương ứng.

Logistic Regression

  • Định nghĩa: Thuật toán cho bài toán phân loại nhị phân (binary classification).
  • Ý tưởng: Ánh xạ giá trị output của linear regression (từ -∞ đến +∞) thành giá trị từ 0 đến 1 bằng hàm sigmoid.
  • Hàm Sigmoid: σ(z) = 1 / (1 + e^-z), với z là output của linear regression (ax + b).
  • Ngưỡng: Đặt một giá trị ngưỡng (ví dụ: 0.5) để phân loại.
  • Ví dụ: Nếu output của hàm sigmoid lớn hơn hoặc bằng 0.5, kết luận là class 1, ngược lại là class 0.
  • Lưu ý: Mặc dù tên có chữ "regression", logistic regression là thuật toán cho bài toán classification.
  • Scikit-learn: Class LogisticRegression.
  • Regularization: Sử dụng tham số penalty để kết hợp với L1 (Lasso), L2 (Ridge) hoặc Elastic Net.

Multinomial Logistic Regression

  • Định nghĩa: Mở rộng của logistic regression cho bài toán phân loại đa lớp (nhiều hơn hai class).
  • Số lượng phương trình: Có k phương trình khác nhau, với k là số lượng class.
  • Hàm Softmax: Ánh xạ input là một vector thành một vector output có các phần tử nằm trong khoảng từ 0 đến 1 và tổng bằng 1.
  • Giải thích output: Output của hàm softmax thường được sử dụng để giải thích như là xác suất mà mô hình dự đoán cho từng class.
  • Scikit-learn: Class LogisticRegression tự động chuyển sang multinomial logistic regression nếu bộ dữ liệu có nhiều hơn hai class.

Bayes' Theorem and Naive Bayes

  • Bayes' Theorem: P(A|B) = [P(B|A) * P(A)] / P(B), giúp tính xác suất xảy ra sự kiện A khi biết sự kiện B đã xảy ra.
  • Ứng dụng trong classification: Tính xác suất một đoạn text thuộc về một class nào đó (ví dụ: positive/negative) dựa trên các từ trong đoạn text.
  • Naive Bayes: Thuật toán dựa trên định lý Bayes và giả định rằng các từ trong một đoạn text là độc lập với nhau (khi biết class của đoạn text).
  • Công thức: P(class|words) ∝ P(word1|class) * P(word2|class) * ... * P(wordN|class) * P(class).
  • Các biến thể:
    • Multinomial Naive Bayes: Input là các biến rời rạc (ví dụ: các từ) và giá trị là số lần xuất hiện.
    • Bernoulli Naive Bayes: Giá trị của các từ được xác định dựa trên việc chúng có xuất hiện hay không.
    • Gaussian Naive Bayes: Input là biến liên tục và có phân phối chuẩn.
  • Scikit-learn: Cung cấp các class tương ứng cho từng biến thể.

Decision Tree

  • Định nghĩa: Thuật toán có cấu trúc dạng cây, được tạo thành từ các decision node (nút quyết định) và leaf node (nút lá).
  • Ưu điểm: Dễ hiểu, trực quan, dễ giải thích.
  • Quá trình huấn luyện: Liên tục đặt ra các câu hỏi và phân nhánh các điểm dữ liệu dựa trên kết quả của các câu hỏi.
  • Ví dụ: Dự đoán xem có nên nhận ứng viên hay không dựa trên thông tin về bằng cấp, ngoại ngữ, kinh nghiệm.
  • Quy tắc đa số: Tại các nút lá, đưa ra quyết định dựa trên class chiếm đa số.
  • Lựa chọn feature: Chọn feature sao cho nó có thể phân tách dữ liệu càng lệch thì càng tốt.
  • Gini Impurity: Thước đo độ lệch của các phân chia, giá trị càng thấp thì càng tốt.
  • Công thức: 1 - Σ(pi^2), với pi là xác suất để một phần tử thuộc về class i.
  • Ví dụ: Tính Gini Impurity cho từng feature (tuổi, thu nhập,...) và chọn feature có Gini Impurity thấp nhất.
  • Nhược điểm:
    • Dễ bị overfitting, đặc biệt khi cây quá sâu.
    • Chỉ một vài thay đổi nhỏ trong dữ liệu cũng có thể dẫn đến thay đổi lớn trong cấu trúc của cây.
  • Ứng dụng: Có thể áp dụng cho cả bài toán classification và regression, nhưng ít được sử dụng cho regression.
  • Scikit-learn: Cung cấp các class cho cả bài toán classification và regression.

Random Forest

  • Định nghĩa: Kết hợp nhiều decision tree lại với nhau.
  • Cách thức kết hợp:
    • Classification: Majority vote (class nào được đa số các cây vote).
    • Regression: Averaging (tính giá trị trung bình từ dự đoán của tất cả các cây).
  • Bootstrapping: Mỗi cây được huấn luyện trên một bộ dữ liệu con khác nhau được lấy mẫu từ bộ dữ liệu gốc thông qua phương pháp bootstrapping.
  • Feature selection: Tại mỗi decision node, chỉ được phép chọn feature tốt nhất trong một tập con của các feature.
  • Ưu điểm: Độ chính xác cao hơn decision tree, ít có nguy cơ bị overfitting hơn.
  • Nhược điểm: Tính giải thích thấp hơn, tiêu tốn nhiều tài nguyên tính toán hơn.
  • Scikit-learn: Cung cấp hai class tương ứng cho bài toán classification và regression.

Support Vector Machine (SVM)

  • Định nghĩa: Tìm đường phân cách tốt nhất (hyperplane) để phân chia các điểm dữ liệu thuộc về các class khác nhau.
  • Nguyên tắc:
    • Đường phân cách cách đều các điểm gần nhất thuộc về hai class (margin).
    • Margin mà đường phân cách tạo ra là tối đa.
  • Support vectors: Các điểm dữ liệu thuộc về các class mà gần với đường phân cách tối ưu nhất.
  • Hyperparameter C: Ngưỡng chấp nhận phân loại sai.
  • Kernel trick: Đưa dữ liệu từ không gian ít chiều lên không gian nhiều chiều để phân chia tuyến tính dễ dàng hơn.
  • Ưu điểm: Hiệu năng cao, làm việc tốt với dữ liệu nhiều chiều.
  • Nhược điểm: Có thể chậm với bộ dữ liệu có quá nhiều data point.
  • Scikit-learn: Cung cấp hai class dành cho hai bài toán tương ứng.

K-Nearest Neighbors (KNN)

  • Định nghĩa: Thuật toán phân loại/hồi quy dựa trên khoảng cách đến các điểm dữ liệu lân cận.
  • Không có quá trình huấn luyện: Sử dụng trực tiếp các điểm dữ liệu trong bộ dữ liệu huấn luyện để dự đoán.
  • Xác định số k: Chọn số lượng láng giềng gần nhất (K).
  • Dự đoán:
    • Classification: Gán class của đa số các láng giềng gần nhất.
    • Regression: Tính trung bình của các giá trị của các láng giềng gần nhất.
  • Ưu điểm: Dễ hiểu, trực quan, dễ giải thích.
  • Nhược điểm: Chậm với bộ dữ liệu lớn.
  • Scikit-learn: Cung cấp hai class tương ứng cho bài toán classification và regression.

Ensemble Learning

  • Định nghĩa: Kết hợp nhiều mô hình đơn lẻ để cải thiện độ chính xác.
  • Nguyên tắc: Kết hợp sử dụng nhiều mô hình tốt hơn dùng các mô hình đơn lẻ.
  • Các kiểu chính:
    • Bagging: Huấn luyện song song nhiều mô hình trên các bộ dữ liệu con (ví dụ: Random Forest).
    • Boosting: Huấn luyện tuần tự các mô hình, mô hình sau tập trung vào các điểm dữ liệu mà mô hình trước dự đoán sai.
    • Voting: Kết hợp dự đoán của nhiều mô hình khác nhau.
    • Stacking: Sử dụng một metamodel để kết hợp dự đoán của các base model.
  • Ưu điểm: Độ chính xác cao hơn so với các mô hình đơn lẻ.
  • Nhược điểm: Chậm, độ giải thích thấp.

K-Means Clustering

  • Định nghĩa: Thuật toán phân chia dữ liệu thành k cụm dựa trên khoảng cách.
  • Quá trình:
    1. Chọn k điểm ngẫu nhiên làm trung tâm của các cụm.
    2. Gán các điểm dữ liệu vào cụm gần nhất.
    3. Tính toán lại tọa độ của trung tâm mỗi cụm.
    4. Lặp lại bước 2 và 3 cho đến khi các điểm trung tâm không còn thay đổi đáng kể.
  • Ưu điểm: Dễ hiểu, dễ sử dụng.
  • Khó khăn:
    • Chọn số k tối ưu.
    • Nếu các điểm trung tâm được khởi tạo không tốt, kết quả sẽ tồi hoặc thuật toán hội tụ chậm.
  • Scikit-learn: Cung cấp class KMeans.

Principal Component Analysis (PCA)

  • Định nghĩa: Thuật toán giảm chiều dữ liệu.
  • Ý tưởng: Biến đổi dữ liệu sang một không gian mới sao cho độ phân tán của dữ liệu là tối đa theo các trục.
  • Sắp xếp trục: Sắp xếp các trục theo thứ tự giảm dần của độ phân tán.
  • Chọn trục: Chọn và giữ lại k trục có độ phân tán lớn nhất.
  • Ứng dụng: Giảm chiều dữ liệu, trực quan hóa dữ liệu.

Single Layer Perceptron

  • Định nghĩa: Mạng neuron đơn lớp, kiến trúc cơ bản với một lớp input và một lớp output.
  • Cấu trúc: Input layer kết nối trực tiếp với output layer.
  • Tính toán: Tính tổng các trọng số của các input, sau đó cho tổng này đi qua một hàm step function.
  • Step function: Nếu input > 0, output = 1; nếu input <= 0, output = 0.
  • Ứng dụng: Bài toán binary classification với dữ liệu đơn giản tuyến tính.
  • Hạn chế: Khả năng hạn chế, chỉ phù hợp với dữ liệu đơn giản.

Multilayer Perceptron (MLP)

  • Định nghĩa: Mạng neuron đa lớp, có thêm các lớp ẩn (hidden layers).
  • Cấu trúc: Input layer, output layer và các hidden layer.
  • Activation function: Sử dụng các hàm phi tuyến (sigmoid, tanh, ReLU, Leaky ReLU) trong các lớp ẩn.
  • Học đặc trưng: Các hidden layer học các đặc trưng từ dữ liệu đầu vào một cách dần dần từ đơn giản đến phức tạp.
  • Lưu ý: Multilayer Perceptron thường được gọi là Deep Neural Network, nhưng đây là hai khái niệm khác nhau.

Convolutional Neural Network (CNN)

  • Định nghĩa: Mạng neuron tích chập, kiến trúc đặc biệt cho xử lý ảnh.
  • Ứng dụng: Nhận diện khuôn mặt, phân loại ảnh, phát hiện vật thể.
  • Thành phần chính: Convolutional layer, pooling layer, fully connected layer, batch normalization layer, dropout layer.
  • Convolutional layer: Sử dụng các filter (bộ lọc) để trích xuất đặc trưng từ ảnh.
  • Khác biệt với MLP: CNN sử dụng convolutional layer thay vì fully connected layer ở các layer đầu tiên, giúp tiết kiệm tham số.

Recurrent Neural Network (RNN)

  • Định nghĩa: Mạng neuron hồi quy, kiến trúc cho xử lý dữ liệu chuỗi (văn bản, giọng nói, chuỗi thời gian).
  • Đặc điểm: Có khả năng nhớ trạng thái trước đó thông qua cơ chế lan truyền theo thời gian.
  • Recurrent unit: Đơn vị tính toán cơ bản của RNN.
  • Hidden state: Trạng thái ẩn, lưu trữ thông tin từ quá khứ để ảnh hưởng đến quá trình xử lý trong tương lai.
  • Biến thể:
    • Long Short-Term Memory (LSTM): Có khả năng ghi nhớ hoặc lãng quên thông tin trong thời gian dài, sử dụng các cổng (forget gate, input gate, output gate) để điều khiển luồng thông tin.
    • Gated Recurrent Unit (GRU): Đơn giản hơn LSTM, sử dụng ít tham số hơn, nhưng vẫn duy trì được khả năng kiểm soát thông tin quá khứ.

Transformer

  • Định nghĩa: Kiến trúc mạng neuron dựa trên cơ chế self-attention, vượt trội trong xử lý ngôn ngữ tự nhiên.
  • Cấu trúc: Encoder-decoder, gồm encoder mã hóa đầu vào và decoder giải mã đầu ra.
  • Self-attention: Cho phép mỗi token trong đầu vào chú ý đến các token khác trong cùng chuỗi.
  • Positional encoding: Mã hóa vị trí của mỗi từ trong chuỗi để mô hình biết được thứ tự và bối cảnh của từng từ.
  • Ưu điểm:
    • Khả năng song song hóa, tận dụng tài nguyên GPU.
    • Khả năng nắm bắt quan hệ dài hạn.
  • Kiến trúc nổi tiếng dựa trên Transformer:
    • BERT: Bidirectional Encoder Representations from Transformers, chỉ sử dụng encoder.
    • GPT: Generative Pre-trained Transformer, chỉ sử dụng decoder.
    • Vision Transformer (ViT): Ứng dụng Transformer vào xử lý ảnh.

Generative Adversarial Network (GAN)

  • Định nghĩa: Mạng đối kháng sinh, kiến trúc gồm generator tạo dữ liệu giả và discriminator phân biệt dữ liệu thật/giả.
  • Generator: Tạo ra dữ liệu giả (ảnh, văn bản,...)
  • Discriminator: Phân biệt giữa dữ liệu giả và dữ liệu thật.
  • Quá trình huấn luyện: Generator cố gắng đánh lừa discriminator, discriminator cố gắng không bị đánh lừa.
  • Ứng dụng: Tạo ảnh khuôn mặt người, tạo nhân vật hoạt hình, deepfake.

Autoencoder

  • Định nghĩa: Kiến trúc gồm encoder nén dữ liệu và decoder tái tạo dữ liệu.
  • Encoder: Nén dữ liệu đầu vào xuống một không gian ẩn có kích thước thấp hơn.
  • Decoder: Giải nén kết quả từ encoder trở lại không gian gốc ban đầu.
  • Ứng dụng: Giảm chiều dữ liệu, phát hiện dị thường, khử nhiễu, sinh dữ liệu.

AI summaries can miss context or contain errors. Check important details against the original video.

Go a little deeper.

Have a question about this video? Load its transcript to open the video chat.