Danh sách bài viết

Bài 2: 3 loại ML — Supervised, Unsupervised, Reinforcement Learning

Phân biệt 3 loại Machine Learning cơ bản qua dạng dữ liệu input, mục tiêu và algorithm tiêu biểu. Kèm bảng so sánh, 3 câu hỏi để xác định loại ML cho một bài toán cụ thể và 6 use case thực tế đã phân loại.

24/05/2026
13 phút đọc
0 lượt xem
1

Mục tiêu bài học

Sau bài này, bạn sẽ:

  • Phân biệt được 3 loại ML cơ bản dựa trên dạng dữ liệu input và tín hiệu học.
  • Biết sub-task chính của mỗi loại (Regression vs Classification, Clustering vs Dimensionality Reduction vs Anomaly Detection).
  • Nhận diện được Semi-supervised và Self-supervised — nền móng cho pretrain LLM ở Series 4.
  • Trả lời được 3 câu hỏi để xác định loại ML cho một problem cụ thể.
  • Đọc hiểu snippet 3 dòng sklearn cho Supervised và Unsupervised.
2

Vì sao chia ML thành nhiều loại

Ở Bài 1 ta định nghĩa ML là "học pattern từ data thay vì viết rule cứng". Nhưng data có dạng gìtín hiệu nào dạy model sẽ quyết định strategy hoàn toàn khác nhau.

  • Có cặp (input, đáp án đúng) để học → Supervised Learning.
  • Chỉ có input, không có đáp án → Unsupervised Learning (tự tìm cấu trúc).
  • Không có dataset cố định, model tương tác môi trường và nhận điểm thưởng → Reinforcement Learning.

Sự phân loại này ảnh hưởng tới: chọn loss function, chọn metric đánh giá, chọn algorithm, và đặc biệt là chiến lược thu thập data. Một dự án thực tế thường tốn 60–80% thời gian ở khâu chuẩn bị data theo đúng loại bài toán — Bài 6 đến Bài 14 (Module 2) sẽ đi sâu.

Ngoài 3 loại chính, có thêm 2 biến thể quan trọng cho thời đại LLM: Semi-supervised (ít label + nhiều unlabeled) và Self-supervised (tự sinh label từ data). Mục 6 sẽ preview.

3

Supervised Learning

Supervised Learning (học có giám sát) hoạt động với dataset gồm cặp \((X, y)\):

  • \(X\) là feature (đầu vào, có thể nhiều chiều).
  • \(y\) là label (đáp án đúng, do người gán hoặc lấy từ hệ thống đã có).

Mục tiêu: học một hàm \(f\) sao cho \(f(X) \approx y\) trên dữ liệu chưa từng thấy. "Giám sát" ở đây có nghĩa là model luôn được so sánh dự đoán với đáp án thật và điều chỉnh tham số theo sai số.

Hai sub-task chính

  • Regression — \(y\) liên tục (số thực). Ví dụ: dự đoán giá nhà (USD), nhiệt độ ngày mai (°C), thời gian giao hàng (phút). Module 3 (Bài 15–21) sẽ đi sâu.
  • Classification — \(y\) rời rạc (label thuộc tập hữu hạn). Ví dụ: email spam / ham, ảnh chó / mèo, loại hoa Iris (setosa / versicolor / virginica). Module 4 (Bài 22–31) sẽ đi sâu.

Algorithm tiêu biểu

  • Tuyến tính: Linear Regression (regression), Logistic Regression (classification).
  • Tree-based: Decision Tree, Random Forest, Gradient Boosting (XGBoost, LightGBM, CatBoost).
  • Distance / margin: K-Nearest Neighbors, Support Vector Machine.
  • Neural Network: từ MLP đơn giản tới Deep Learning (Series 3) và Transformer (Series 4).

Phần lớn ML thương mại hiện nay là Supervised: dự báo doanh thu, chấm điểm tín dụng, dự đoán churn, OCR, gán nhãn ảnh y tế. Lý do: kết quả đo được rõ ràng (so với label thật), business dễ ROI hoá.

Giới hạn: cần dataset đã được label. Label thủ công đắt (ảnh y tế cần bác sĩ chuyên khoa, NLP cần annotator hiểu domain). Đây cũng là động lực phát triển Self-supervised — xem mục 6.

4

Unsupervised Learning

Unsupervised Learning (học không giám sát) chỉ có \(X\), không có \(y\). Mục tiêu: tìm cấu trúc tiềm ẩn trong data.

Ba sub-task chính

  • Clustering — gom các điểm dữ liệu "giống nhau" vào cùng nhóm. Số nhóm có thể cố định (K-Means) hoặc tự xác định (DBSCAN, Hierarchical). Module 5 (Bài 32–35) đi sâu.
  • Dimensionality Reduction — giảm số chiều của feature trong khi giữ thông tin chính. Dùng để visualize (2D / 3D), tăng tốc model, khử noise. Algorithm: PCA (Bài 36), t-SNE, UMAP.
  • Anomaly Detection — phát hiện điểm bất thường so với phân phối chung. Algorithm: Isolation Forest, One-Class SVM, hoặc tận dụng DBSCAN.

Use case điển hình

  • Customer segmentation: gom khách hàng theo hành vi mua sắm để marketing đúng nhóm.
  • Exploratory Data Analysis: chạy clustering / PCA để hiểu data trước khi build model supervised.
  • Preprocessing: PCA giảm chiều, K-Means tạo feature mới cho pipeline supervised.
  • Topic modeling: gom các văn bản theo chủ đề (LDA — không cover trong series này).

Giới hạn: không có đáp án đúng, đánh giá khó. "K-Means chia 3 nhóm" và "K-Means chia 5 nhóm" — cái nào đúng? Phải dựa vào metric nội tại (Silhouette Score — Bài 33) và domain knowledge. Bài 33 sẽ trình bày Elbow Method.

5

Reinforcement Learning

Reinforcement Learning (RL) khác hai loại trên ở chỗ không có dataset cố định. Một agent tương tác với environment: thực hiện action, nhận về state mới và reward (điểm thưởng / phạt). Mục tiêu: học policy (chiến lược chọn action theo state) sao cho tổng reward dài hạn lớn nhất.

4 thành phần

  • State (\(s\)): tình trạng hiện tại của environment (ví dụ: bàn cờ vây 19×19).
  • Action (\(a\)): hành động agent có thể chọn (ví dụ: đặt quân tại toạ độ nào).
  • Reward (\(r\)): điểm thưởng / phạt nhận về sau action (ví dụ: +1 nếu thắng cuối ván, 0 nếu chưa kết thúc).
  • Policy (\(\pi\)): hàm map từ state sang action — chính là cái cần học.

Use case

  • Game AI: AlphaGo (DeepMind, 2016), AlphaZero, OpenAI Five (Dota 2).
  • Robotics: dạy robot đi, gắp vật, lái xe trong simulator.
  • LLM alignment: RLHF (Reinforcement Learning from Human Feedback) cho ChatGPT/Claude, GRPO (Group Relative Policy Optimization) cho DeepSeek-R1 series.
  • Recommendation contextual: chọn item hiển thị tối đa long-term engagement thay vì click ngay lập tức.

Lưu ý phạm vi series: Series 2 (ML cổ điển) không cover sâu RL. Lý do: RL cần background về Markov Decision Process, dynamic programming, deep learning — phù hợp sau khi xong Series 3 (Deep Learning). RL ứng dụng vào LLM (RLHF, DPO, GRPO) sẽ được trình bày trong Series 4 (LLM & GenAI).

6

Semi-supervised và Self-supervised

Đây là 2 biến thể đứng giữa Supervised và Unsupervised, đặc biệt quan trọng cho Deep Learning và LLM. Preview ngắn ở đây, chi tiết ở Series 3 và Series 4.

Semi-supervised Learning

một ít data đã label (ví dụ 1.000 mẫu) và rất nhiều data chưa label (ví dụ 100.000 mẫu). Model dùng cả hai: phần label dạy hàm \(f\), phần unlabeled giúp model hiểu phân phối của \(X\). Hữu ích khi label đắt (y tế, pháp lý).

Self-supervised Learning

Tự sinh ra label từ chính data, không cần người gán. Đây là cơ chế pretrain mọi LLM hiện nay:

  • Masked Language Model (BERT, 2018): che ngẫu nhiên token trong câu, bắt model dự đoán token bị che. "Label" được tạo từ chính text.
  • Next Token Prediction (GPT, Llama, Claude...): cho câu "Tôi đi học", bắt model dự đoán token kế tiếp. Label = token tiếp theo trong text gốc.
  • Contrastive Learning (SimCLR, CLIP): augment cùng 1 ảnh thành 2 view, ép model nhận hai view là cùng nguồn, khác nguồn là khác.

Self-supervised về kỹ thuật là supervised (có label, có loss), nhưng label được sinh tự động từ data — nên nhiều tài liệu xếp riêng thành loại thứ tư. Đây là chìa khoá để model học từ corpus internet quy mô terabyte mà không cần annotator. Series 4 sẽ trình bày sâu khi nói về pretrain LLM.

7

Bảng so sánh nhanh

Tiêu chí Supervised Unsupervised Reinforcement
Input data \((X, y)\) — feature + label Chỉ \(X\) Tương tác môi trường, không có dataset cố định
Tín hiệu học Sai số dự đoán so với label Cấu trúc nội tại của data Reward từ môi trường
Output Hàm \(f(X) \approx y\) Nhóm / chiều giảm / điểm bất thường Policy \(\pi(a \mid s)\)
Algorithm tiêu biểu Linear / Logistic Regression, Random Forest, XGBoost, Neural Network K-Means, DBSCAN, PCA, t-SNE, Isolation Forest Q-Learning, DQN, PPO, GRPO
Đánh giá Accuracy, F1, RMSE, R² trên test set Silhouette, Davies-Bouldin, variance giữ lại Tổng reward trung bình qua nhiều episode
Use case chính Dự báo, phân loại, scoring Segmentation, EDA, anomaly, giảm chiều Game, robotics, RLHF cho LLM
Độ phổ biến thương mại Cao (phần lớn hệ ML production) Trung bình (chủ yếu hỗ trợ) Thấp ngoài LLM alignment và game
8

Cách xác định loại ML cho một bài toán

Cho một problem cụ thể, trả lời 3 câu hỏi theo thứ tự:

  1. Có agent tương tác với môi trường và nhận reward không? Có → Reinforcement Learning. Không → sang câu 2.
  2. Data có label \(y\) tương ứng với mỗi \(X\) không? Không → Unsupervised. Có → sang câu 3.
  3. Label \(y\) là số liên tục hay rời rạc? Liên tục → Regression. Rời rạc → Classification.

3 câu này phủ được phần lớn case. Một số edge case:

  • Có ít label, rất nhiều unlabeled → Semi-supervised (cân nhắc nếu cost label quá cao).
  • Có thể tự sinh label từ data (text, ảnh không gán nhãn) → Self-supervised pretrain rồi fine-tune (Series 3, 4).
  • Label nhị phân hoặc multi-class nhưng có thứ tự (ví dụ rating 1–5 sao) → có thể xử lý như Classification hoặc Ordinal Regression, tuỳ metric.

Lưu ý quan trọng: 1 problem business có thể giải bằng nhiều loại tuỳ data setup. Ví dụ "phát hiện giao dịch gian lận":

  • Nếu có dataset đã đánh dấu giao dịch nào fraud / hợp lệ → Classification (Supervised).
  • Nếu fraud quá hiếm, không đủ label, chỉ có log giao dịch bình thường → Anomaly Detection (Unsupervised).
  • Thực tế production thường kết hợp cả hai trong một pipeline.
9

Phân loại 6 use case thực tế

Use case Loại ML Lý do
Dự đoán giá nhà theo diện tích, vị trí, số phòng Regression (Supervised) Có label (giá lịch sử), label là số thực liên tục.
Phân loại email spam / ham Classification (Supervised) Có label nhị phân, người dùng đã đánh dấu spam.
Chia khách hàng e-commerce thành nhóm theo hành vi mua sắm Clustering (Unsupervised) Không có "nhóm đúng" được gán sẵn, tự tìm cấu trúc.
Phát hiện giao dịch thẻ tín dụng gian lận Classification hoặc Anomaly Detection Nếu có nhiều mẫu fraud đã đánh dấu → Classification. Nếu fraud cực hiếm → Anomaly Detection (Unsupervised).
Gợi ý phim cho user trên Netflix Tuỳ thuật toán Collaborative Filtering có thể được formulate như Regression (dự đoán rating) — supervised. Một số biến thể dùng embedding học theo cách self-supervised. Recommendation contextual có nhánh RL.
AlphaGo đánh cờ vây Reinforcement Learning (kết hợp Supervised pretrain) Agent (AlphaGo) tương tác environment (bàn cờ), reward = thắng / thua. AlphaGo 2016 pretrain bằng supervised trên ván cờ người chơi rồi mới chuyển sang RL self-play.

Quan sát: 4 / 6 case là Supervised — đúng với nhận xét ở mục 3 rằng phần lớn ML thương mại là Supervised.

10

Code preview 3 dòng cho mỗi loại

Mục đích chỉ là cảm nhận shape API. Từ Bài 16 trở đi sẽ chạy đầy đủ với dataset thật.

Supervised — Regression

from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(X_train, y_train)            # cần CẢ X và y
y_pred = model.predict(X_test)

Unsupervised — Clustering

from sklearn.cluster import KMeans

model = KMeans(n_clusters=3, n_init=10, random_state=42)
model.fit(X_train)                     # chỉ cần X, KHÔNG có y
labels = model.predict(X_test)         # cluster id (0, 1, 2)

Khác biệt nhỏ về interface nhưng quan trọng: fit(X, y) cho Supervised, fit(X) cho Unsupervised. Bài 4 (sklearn) và Bài 5 (load_iris) sẽ thực hành.

Reinforcement Learning — pseudocode

RL không dùng sklearn. Pseudocode minh hoạ vòng lặp:

# pseudocode, không phải sklearn
state = env.reset()
for step in range(max_steps):
    action = policy(state)             # chọn action theo policy hiện tại
    next_state, reward, done = env.step(action)
    policy.update(state, action, reward, next_state)  # học từ reward
    state = next_state
    if done:
        break

Thư viện thực tế cho RL: gymnasium (env chuẩn), stable-baselines3, cleanrl. Series 4 sẽ dùng trl (Transformers Reinforcement Learning) cho RLHF.

11

Tổng kết

  • 3 loại ML phân biệt nhau ở dạng datatín hiệu học, không phải ở thuật toán cụ thể.
  • Supervised: cần \((X, y)\). Sub-task: Regression (\(y\) liên tục) và Classification (\(y\) rời rạc).
  • Unsupervised: chỉ có \(X\). Sub-task: Clustering, Dimensionality Reduction, Anomaly Detection.
  • Reinforcement Learning: agent — environment — reward. Series 2 không cover sâu, RL xuất hiện lại trong Series 4 (RLHF cho LLM).
  • Semi-supervised và Self-supervised là 2 biến thể quan trọng cho LLM pretrain — sẽ chi tiết ở Series 3, 4.
  • Quy trình xác định loại ML: hỏi tuần tự 3 câu (có RL? có label? label liên tục hay rời rạc?).
  • Một problem business có thể giải bằng nhiều loại tuỳ data setup hiện có.
  • Series 2 sẽ tập trung vào Supervised (Module 3, 4) và Unsupervised (Module 5).
12

Bài tập

Cho 5 problem dưới đây, xác định loại ML phù hợp (Supervised — Regression / Supervised — Classification / Unsupervised / Reinforcement). Nếu là Supervised, chỉ rõ Regression hay Classification và giải thích vì sao.

  1. Dự đoán số lượng đơn hàng của shop trong tuần tới dựa trên doanh số 12 tuần gần nhất, ngày lễ, ngân sách quảng cáo.
  2. Phân loại bình luận trên Facebook fanpage thành "khen", "chê", "câu hỏi", "spam".
  3. Cho log đăng nhập 6 tháng của 50.000 user (timestamp, IP, device) — không có nhãn "đăng nhập đáng ngờ", hãy phát hiện hành vi bất thường.
  4. Dự đoán thời gian (phút) một bài blog sẽ được người đọc dành cho, dựa trên độ dài, số ảnh, chủ đề.
  5. Dạy một robot 6 chân giữ thăng bằng và bước trong simulator MuJoCo — robot nhận điểm thưởng mỗi giây không ngã.
Đáp án
  1. Supervised — Regression. Có label (số đơn hàng tuần lịch sử), label là số nguyên / thực liên tục.
  2. Supervised — Classification. Có label (gán thủ công hoặc đã có), 4 lớp rời rạc.
  3. Unsupervised — Anomaly Detection. Không có label "đáng ngờ", chỉ có data hành vi.
  4. Supervised — Regression. Label là phút (số thực liên tục).
  5. Reinforcement Learning. Có agent (robot), có environment (simulator), có reward (điểm theo giây không ngã).
13

Bài tiếp theo

Bài 3 trình bày quy trình build một model ML đầu cuối — từ raw data tới deploy. Khung quy trình này áp dụng được cho cả Supervised và Unsupervised; phần Reinforcement sẽ có quy trình riêng ở Series 3, 4.

Bài 3: Quy trình build model ML — từ raw data tới deploy