AI Core cho lập trình viên/Ba kiểu học — phân biệt bằng tín hiệu dạy
3/54
Bài 3 / 54~13 phútBản đồ AI & học từ dữ liệuMiễn phí lượt xem

Ba kiểu học — phân biệt bằng tín hiệu dạy

Supervised, unsupervised, reinforcement khác nhau ở một thứ: model nhận tín hiệu gì để biết đúng hay sai. Nắm trục này thì đọc tài liệu nào cũng định vị được.

TL;DR: Ba kiểu học của machine learning — supervised, unsupervised, reinforcement — không khác nhau ở thuật toán, mà khác nhau ở đúng một thứ: model nhận tín hiệu gì để biết mình đúng hay sai. Supervised có nhãn đúng cho từng mẫu, biết ngay lập tức. Unsupervised không có nhãn nào cả, chỉ có cấu trúc sẵn trong dữ liệu. Reinforcement không có nhãn chỉ dẫn cho từng bước — chỉ có tín hiệu đánh giá dạng điểm thưởng, thường đến thưa/trễ sau cả một chuỗi hành động. Điểm đắt nhất không nằm ở thuật toán mà ở nhãn: nhãn tốn tiền và tốn thời gian, và hệ quả trực tiếp của việc unsupervised không có đáp án là không có thước đo đúng/sai khách quan — đánh giá kết quả trở thành một vấn đề mở.

Team bạn chạy song song ba dự án "AI" trong hệ thống fintech nội bộ: model chặn giao dịch gian lận, model gom nhóm khách hàng theo hành vi, và hệ thống tự tối ưu lịch nhắc nợ. Cả ba bị gọi chung "machine learning", nhưng khi review thiết kế, ba câu hỏi khác hẳn nhau xuất hiện: model gian lận cần bao nhiêu case đã xác nhận mới đủ train? Model gom nhóm "đúng" hay "sai" thì lấy gì đo? Hệ thống nhắc nợ học từ đâu khi không ai gắn nhãn cho từng tin nhắn gửi đi?

Ba câu hỏi đó lộ ra ba kiểu học đang bị gọi chung một tên. Bài này giải thích trục phân biệt duy nhất giữa chúng.

Bài trước: khi luật ngầm hoặc trôi theo thời gian, machine learning thay việc viết luật bằng việc cho model xem ví dụ — luật giờ suy ra từ dữ liệu, không còn nằm trong code. Nhưng "suy ra từ dữ liệu" chưa nói model biết mình suy đúng hay sai bằng cách nào — đó chính là trục phân biệt ba kiểu học ở bài này.

1. Analogy — ba cách một thực tập sinh nhận phản hồi

Hình dung ba thực tập sinh nhận phản hồi theo ba cách khác nhau. Người thứ nhất làm bài có đáp án mẫu — mentor chấm ngay từng câu, biết tức thì. Người thứ hai nhận chồng hồ sơ khách hàng chưa ai phân loại — không ai chấm, chỉ tự nhận ra vài nhóm hành vi lặp lại. Người thứ ba vận hành một quy trình nhiều bước suốt cả tháng — không ai chỉnh từng bước, cuối tháng chỉ biết một con số: đạt KPI hay không.

Thực tập sinhKiểu học tương ứng
Làm bài có đáp án mẫu, chấm đúng/sai từng câu ngaySupervised — nhãn đúng cho từng mẫu, tức thì
Xem hồ sơ chưa từng phân loại, tự nhận ra nhóm lặp lạiUnsupervised — không đáp án, chỉ có cấu trúc trong dữ liệu
Vận hành quy trình nhiều bước, chỉ biết kết quả tổng cuối thángReinforcement — không nhãn chỉ dẫn từng bước, chỉ tín hiệu đánh giá (điểm thưởng), thường đến thưa
💡 Cách nhớ

Đừng nhớ theo thuật toán. Nhớ một câu hỏi: model biết đúng/sai nhờ đâu — nhãn tức thì chỉ dẫn phải làm gì, không nhãn nào, hay chỉ một điểm đánh giá tốt/xấu?

2. Trục nào phân biệt ba kiểu học?

Mọi model cần một cách biết mình đang làm tốt hay tệ, rồi tự chỉnh theo hướng tốt hơn. Ba kiểu học khác nhau đúng ở nguồn của tín hiệu đó:

  • Supervised — có đáp án đúng cho từng mẫu, và có ngay lập tức. Model đưa ra dự đoán, so với nhãn thật, biết sai bao nhiêu, chỉnh theo hướng giảm sai số đó.
  • Unsupervised — không có đáp án nào cả. Dữ liệu không đi kèm nhãn; tín hiệu duy nhất model có là cấu trúc sẵn có trong chính dữ liệu — mẫu nào giống mẫu nào, mẫu nào lệch khỏi số đông.
  • Reinforcement — không có nhãn chỉ dẫn hành động đúng cho từng bước. Model (thường gọi là tác nhân, tiếng Anh agent) thực hiện một chuỗi hành động; tín hiệu duy nhất nhận được là điểm thưởng — một con số đánh giá hành động đó tốt/xấu bao nhiêu, không chỉ dẫn đáng lẽ phải làm gì. Nhiều bài toán thực tế, điểm thưởng phần lớn bước bằng 0, chỉ khác 0 ở cuối chuỗi — thưa/trễ — khiến khó biết bước nào có công.

Nhìn qua pseudocode, khác biệt nằm ở đúng một dòng — thứ được so sánh để tính tín hiệu chỉnh model:

-- Supervised: nhan dung co san cho tung mau
for each (dau_vao, nhan_dung) in du_lieu_huan_luyen:
    du_doan <- model(dau_vao)
    sai_so <- so_sanh(du_doan, nhan_dung)        -- biet dung/sai ngay lap tuc
    model.chinh(sai_so)

-- Unsupervised: khong co nhan_dung nao ca
for each dau_vao in du_lieu_huan_luyen:
    model.tim_cau_truc(dau_vao)                  -- khong co gi de so sanh
-- ket qua la nhom/cum tu phat hien, khong phai du doan dung/sai

-- Reinforcement: khong co nhan chi dan cho tung hanh dong
trang_thai <- trang_thai_ban_dau
while chua_ket_thuc_chuoi:
    hanh_dong <- chinh_sach(trang_thai)
    trang_thai, thuong <- moi_truong.thuc_hien(hanh_dong)  -- danh gia, khong chi dan; nhieu buoc thuong = 0
-- thuong thua -> kho biet buoc nao thuc su co cong, phai chinh sach theo tong thuong ca chuoi

Dòng so_sanh(du_doan, nhan_dung) chỉ tồn tại ở nhánh supervised. Nhánh unsupervised không có biến nhan_dung để so — "không có đáp án" là khác biệt cụ thể, không phải mô tả mơ hồ. Nhánh reinforcement có thuong mỗi bước, nhưng là tín hiệu đánh giá — không phải nhãn chỉ dẫn như nhan_dung; khi thuong thưa, gán công cho từng hanh_dong là bài toán riêng.

3. Ba paradigm qua ba hệ thống fintech

3.1 Supervised — phân loại giao dịch gian lận

Hệ thống chặn gian lận cần nhãn "gian lận" hoặc "hợp lệ" cho từng giao dịch lịch sử. Nhãn đó đến từ khiếu nại đã xác nhậnchargeback đã xử lý xong — một quy trình nghiệp vụ thật đã kết luận giao dịch đó là gian lận. Model học ánh xạ từ đặc trưng giao dịch (số tiền, giờ, thiết bị, vị trí) sang nhãn đó.

3.2 Unsupervised — phân nhóm khách hàng thành phân khúc chưa ai định nghĩa trước

Đội growth muốn hiểu khách hàng chia thành những nhóm hành vi nào — tần suất giao dịch, số dư trung bình, kênh hay dùng. Không ai gắn nhãn "khách VIP" hay "khách có nguy cơ rời bỏ" từ trước; nếu có, nhãn đó được đặt tên sau khi nhìn thấy nhóm mà model tự tìm ra, không phải trước. Model chỉ nhận dữ liệu hành vi thô, không có đáp án nào để đối chiếu.

3.3 Reinforcement — tối ưu chính sách gửi thông báo nhắc nợ

Hệ thống quyết định gửi nhắc nợ lúc nào, qua kênh nào, bao nhiêu lần. Không có nhãn chỉ dẫn đúng cho từng lần gửi riêng lẻ — chỉ có điểm thưởng đánh giá, và ở đây đến thưa: chỉ rõ sau cả chuỗi quyết định, khi biết khách có thanh toán hay không, thường sau vài lần nhắc. Model học chính sách bằng cách thử nhiều chuỗi hành động và chỉnh dần theo tổng phần thưởng.

Ranh giới cần giữ

Ba hệ thống trên là minh hoạ giả định cho mục đích giải thích, không mô tả quy trình vận hành thật của một tổ chức cụ thể.

4. Điểm đắt nhất không nằm ở thuật toán

Ngộ nhận phổ biến: supervised khó triển khai vì thuật toán phức tạp. Thực tế ngược lại — cái đắt nhất là nhãn, không phải thuật toán học từ nhãn đó.

Nhãn "gian lận" ở ví dụ 3.1 chỉ đáng tin sau khi khiếu nại và chargeback xử lý xong — một quy trình nghiệp vụ tính bằng tháng. Ngược lại, dữ liệu hành vi khách hàng ở ví dụ 3.2 đã nằm sẵn trong log giao dịch, không cần chờ gắn nhãn — rẻ hơn để bắt đầu.

Nhưng cái rẻ hơn đó có giá riêng: unsupervised không có đáp án nên không tồn tại thước đo đúng/sai khách quan. Với model gian lận, "đúng" là khớp nhãn thật — đo được, như so expected trong test: pass hay fail rõ ràng. Với gom nhóm khách hàng, không có expected để so — nhóm tìm ra "đúng" hay không là vấn đề mở, chỉ trả lời được bằng heuristic hoặc đánh giá chuyên môn.

5. Bảng so sánh theo trục tín hiệu dạy

TrụcSupervisedUnsupervisedReinforcement
Tín hiệu model nhậnNhãn đúng, có ngay, cho từng mẫuKhông có nhãn — chỉ cấu trúc sẵn trong dữ liệuĐiểm thưởng đánh giá, không chỉ dẫn — thường thưa/trễ
Ví dụ fintechPhân loại giao dịch gian lậnPhân nhóm khách hàng theo hành viChính sách gửi nhắc nợ
Chi phí chínhGắn nhãn — chờ sự kiện thật + nhân lực xác nhậnThu thập dữ liệu — rẻ hơn, không cần chờ nhãnThiết kế phần thưởng + đủ số chuỗi để thử
Đánh giá kết quảĐối chiếu nhãn thật — khách quan, đo đượcKhông có đáp án đúng — vấn đề mở, cần heuristic hoặc domain reviewSo tổng phần thưởng — khi thưa/trễ thì khó tách công của từng bước

Cây quyết định chọn paradigm theo tín hiệu dạy: có nhãn đúng tức thì thì supervised; chỉ có điểm thưởng đánh giá thì reinforcement; còn lại là unsupervised

6. Pitfall tổng hợp

Nhầm 1 — nghĩ reinforcement là "khó nhất" nên hiếm khi là lựa chọn đúng:

✅ Ranh giới giữa ba paradigm nằm ở tín hiệu dạy có sẵn, không ở độ khó thuật toán. Nhắc nợ chỉ nhận điểm đánh giá, không có nhãn chỉ dẫn — đó là tín hiệu reinforcement, và ở đây điểm đánh giá còn đến thưa.

Nhầm 2 — nghĩ unsupervised "kém tin cậy hơn" nên tránh dùng khi có thể:

✅ Đây là đánh đổi, không phải thứ hạng. Unsupervised rẻ hơn để bắt đầu nhưng đắt hơn để đánh giá. Chọn paradigm theo bài toán có nhãn sẵn hay không, không theo cảm giác cái nào chắc chắn hơn.

Nhầm 3 — coi reinforcement là supervised với nhãn tới muộn:

✅ Supervised có nhãn chỉ dẫn đúng gắn với từng mẫu — nói thẳng đáng lẽ phải là gì. Reinforcement không có nhãn chỉ dẫn cho bất kỳ bước nào — chỉ có điểm thưởng đánh giá tốt/xấu, có thể đến thưa/trễ. Khác biệt là loại tín hiệu, không phải tốc độ nhận.

7. Đào sâu

📚 Nguồn gốc — đọc khi muốn xuống tầng sâu hơn

Tài liệu chính chủ:

  • OpenAI Spinning Up — Part 1: Key Concepts in RL — agent học bằng thử-sai qua tương tác môi trường, nhận reward dạng số ở mỗi bước, không có nhãn hành động đúng cho bước nào — khớp trục tín hiệu dạy ở mục 3.3.
  • scikit-learn — Clustering — xác nhận clustering hoạt động trên unlabeled data, và đánh giá không đơn giản như đếm lỗi hay đo precision/recall của bài toán supervised — khớp mục 4, phần đánh giá unsupervised là vấn đề mở.

8. Liên hệ các bài khác

9. Tóm tắt

  • Ba kiểu học khác nhau ở tín hiệu dạy: supervised = nhãn có sẵn từng mẫu, unsupervised = không nhãn, reinforcement = điểm thưởng đánh giá thường thưa/trễ.
  • Cái đắt nhất của supervised là nhãn — nhãn đáng tin thường phải chờ quy trình nghiệp vụ thật xác nhận, không phải chạy thuật toán.
  • Không có đáp án đúng ở unsupervised → không có thước đo đúng/sai khách quan, đánh giá kết quả là vấn đề mở.
  • Chọn paradigm theo tín hiệu dạy có sẵn trong bài toán, không theo độ khó thuật toán hay độ phổ biến.

10. Tự kiểm tra

Tự kiểm tra
Q1
Hệ thống chấm điểm tín dụng dùng lịch sử vay đã biết ai trả đúng hạn, ai không, để dự đoán khách mới. Đây là paradigm nào, và vì sao?

Supervised. Kết quả trả nợ đúng hạn hay không của các khoản vay cũ là nhãn — có sẵn cho từng mẫu, biết chắc chắn vì đã xảy ra thật. Model học ánh xạ từ đặc trưng khách vay sang nhãn đó, mỗi lần train so được dự đoán với kết quả thật.

Q2
Vì sao một hệ thống unsupervised phân nhóm khách hàng không thể tự báo cáo một con số 'độ chính xác' giống model supervised?

Vì không tồn tại nhãn đúng để so sánh. Độ chính xác của supervised đối chiếu dự đoán với nhãn thật — khách quan. Với phân nhóm, "nhóm này đúng hay không" không có đáp án chuẩn — chỉ đo gián tiếp bằng heuristic (mẫu trong nhóm gần nhau ra sao) hoặc để người có chuyên môn nghiệp vụ đánh giá nhóm có ý nghĩa hay không.

Q3
Vì sao gắn nhãn dữ liệu thường là phần tốn kém nhất của một dự án supervised, tốn hơn cả việc chọn thuật toán?

Vì một nhãn đáng tin phải đợi sự kiện thật xảy ra rồi được xác nhận qua quy trình nghiệp vụ — như khiếu nại xử lý xong thành chargeback đã xác nhận, tính bằng tuần hoặc tháng. Chạy thuật toán học từ nhãn có sẵn chỉ tốn thời gian tính toán — rẻ hơn nhiều so với tạo ra nhãn đáng tin từ đầu.

Q4
Hệ thống nhắc nợ chỉ biết 'khách có thanh toán hay không' sau cả chuỗi vài lần nhắc. Vì sao không thể coi đơn giản là supervised với nhãn đến muộn?

Vì supervised cần nhãn chỉ dẫn đúng cho từng mẫu. Ở đây không có nhãn chỉ dẫn cho lần nhắc nào — chỉ có điểm đánh giá cuối chuỗi, nên không tách được đóng góp từng lần nhắc. Thiếu nhãn chỉ dẫn mới là đặc trưng của reinforcement; "chờ lâu hơn" chỉ là biểu hiện khi điểm đánh giá đó thưa.

Q5
Một đồng nghiệp đề xuất dùng unsupervised để tự động phát hiện gian lận, lý do là 'không tốn công gắn nhãn'. Bạn phản biện điểm nào?

Rẻ hơn để bắt đầu không đồng nghĩa rẻ hơn để tin cậy. Không có đáp án để kiểm chứng nhóm bất thường model tìm ra có thật là gian lận hay chỉ là hành vi lạ vô hại — vấn đề mở, không phải con số đo được. Với quyết định có hậu quả thật như chặn giao dịch, nhãn xác nhận từ chargeback vẫn đáng tin hơn.

Bài tiếp theo: Dữ liệu, nhãn và chia tập

Bài này đáng gửi cho bạn học cùng?

Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.

Bài này có giúp bạn hiểu bản chất không?

Hỏi đáp về bài này

Chưa có câu hỏi

Đặt câu hỏi

Có gì chưa rõ trong bài? Đặt câu hỏi đầu tiên — câu trả lời từ cộng đồng giúp bạn (và người sau).

Đặt câu hỏi đầu tiên

Bài tiếp theo

Dữ liệu, nhãn và ba tập không được trộn