Supervised Learning (học có giám sát) là một trong những phương pháp nền tảng của Machine Learning, được sử dụng để dự đoán giá nhà, ước tính doanh thu, phát hiện giao dịch gian lận, phân loại email spam và giải quyết nhiều bài toán thực tế khác.
Điểm cốt lõi của phương pháp này không chỉ nằm ở việc cung cấp dữ liệu cho máy tính. Mô hình được học từ các ví dụ đã có kết quả đúng, từ đó tìm ra mối quan hệ giữa dữ liệu đầu vào và kết quả đầu ra để đưa ra dự đoán cho những trường hợp chưa từng gặp.
Trong bài viết này, chúng ta sẽ tìm hiểu bản chất của Supervised Learning, phân biệt hai nhóm bài toán chính là Regression và Classification, khám phá các thuật toán phổ biến, cách đánh giá mô hình và thực hành bằng Python.
1. Supervised Learning là gì?
Supervised Learning là phương pháp Machine Learning trong đó mô hình được huấn luyện bằng dữ liệu có nhãn (Labeled Data). Mỗi mẫu dữ liệu thường bao gồm các đặc trưng đầu vào và một kết quả mục tiêu đã biết.
Ví dụ, để xây dựng mô hình dự đoán giá nhà, dữ liệu huấn luyện có thể bao gồm diện tích, số phòng ngủ, vị trí và giá bán thực tế. Mô hình sử dụng các ví dụ này để học mối quan hệ giữa đặc điểm của căn nhà và giá bán.
1.1. Bản chất của học có giám sát
Hãy tưởng tượng bạn được cung cấp hàng nghìn ví dụ về giá nhà. Với mỗi căn nhà, bạn biết diện tích, vị trí và giá bán. Sau khi quan sát đủ ví dụ, bạn có thể nhận ra rằng những căn nhà có diện tích lớn hơn thường có giá cao hơn, trong khi vị trí cũng ảnh hưởng đáng kể đến giá.
Supervised Learning mô phỏng quá trình tìm kiếm quy luật đó bằng một mô hình toán học. Mô hình không nhất thiết ghi nhớ từng căn nhà trong dữ liệu huấn luyện mà cố gắng học một quy luật có thể áp dụng cho những căn nhà mới.
Về mặt toán học, ta có thể biểu diễn dữ liệu huấn luyện dưới dạng:
D = {(x₁, y₁), (x₂, y₂), ..., (xₙ, yₙ)}
- x: Đầu vào (Input), thường được biểu diễn bằng một hoặc nhiều Feature.
- y: Nhãn hoặc giá trị mục tiêu (Target/Label) mà mô hình cần dự đoán.
- n: Số lượng mẫu dữ liệu.
Mục tiêu là tìm một hàm dự đoán f sao cho:
ŷ = f(x)
Trong đó, ŷ là giá trị dự đoán của mô hình. Khi huấn luyện, mô hình điều chỉnh các tham số để giảm sai khác giữa dự đoán ŷ và kết quả thực tế y theo một tiêu chí tối ưu đã xác định.
1.2. Quy trình hoạt động của Supervised Learning
Dữ liệu có nhãn
|
v
Tiền xử lý dữ liệu
|
v
Chia tập Train / Validation / Test
|
v
Huấn luyện mô hình trên Train
|
v
Điều chỉnh và lựa chọn mô hình
|
v
Đánh giá trên Test
|
v
Dự đoán cho dữ liệu mới
Quy trình trên là khung tổng quát. Trong thực tế, cách chia dữ liệu và đánh giá còn phụ thuộc vào loại bài toán, quy mô dữ liệu và mục tiêu sử dụng mô hình.
1.3. Supervised Learning liên quan thế nào đến dữ liệu và Feature Engineering?
Chất lượng của mô hình phụ thuộc đáng kể vào dữ liệu đầu vào. Trước khi huấn luyện, dữ liệu cần được kiểm tra, xử lý giá trị thiếu, mã hóa biến phân loại hoặc chuẩn hóa khi phù hợp.
Đây là nội dung đã được trình bày trong các bài trước của chuỗi Machine Learning:
- Machine Learning là gì? Tổng quan về học máy từ A đến Z.
- Dữ liệu trong Machine Learning: Dataset, Feature, Label và Train/Test.
- Tiền xử lý dữ liệu cho Machine Learning: Làm sạch, mã hóa và chuẩn hóa.
- Feature Engineering là gì? Cách biến dữ liệu thành đặc trưng có giá trị.
Có thể hiểu đơn giản: Data Preprocessing giúp dữ liệu phù hợp để sử dụng, Feature Engineering tạo ra hoặc biến đổi đặc trưng có ích, còn Supervised Learning sử dụng dữ liệu đó để học cách dự đoán kết quả.
2. Hai nhóm bài toán chính: Regression và Classification
Supervised Learning thường được chia thành hai nhóm lớn dựa trên loại kết quả cần dự đoán: Regression và Classification.
| Tiêu chí | Regression | Classification |
|---|---|---|
| Mục tiêu | Dự đoán giá trị số | Dự đoán nhãn hoặc nhóm |
| Ví dụ đầu ra | 3,2 tỷ đồng; 25,7°C; 120 sản phẩm | Spam/không spam; gian lận/bình thường |
| Đầu ra điển hình | Một giá trị số liên tục hoặc giá trị số cần ước lượng | Một lớp, hoặc xác suất thuộc từng lớp |
| Chỉ số đánh giá | MAE, MSE, RMSE, R² | Accuracy, Precision, Recall, F1-score, ROC-AUC |
Điểm phân biệt quan trọng nhất không phải là dữ liệu đầu vào có dạng số hay chữ. Điều quyết định là mục tiêu mà mô hình cần dự đoán.
Chẳng hạn, cùng sử dụng tuổi, thu nhập và lịch sử giao dịch của khách hàng, một mô hình có thể dự đoán số tiền khách hàng sẽ chi tiêu (Regression) hoặc dự đoán khách hàng có rời bỏ dịch vụ hay không (Classification).
3. Regression là gì?
Regression (hồi quy) là nhóm bài toán Supervised Learning nhằm ước lượng một giá trị số dựa trên các đặc trưng đầu vào.
Regression thường được sử dụng khi doanh nghiệp cần trả lời những câu hỏi như: Giá trị dự kiến là bao nhiêu? Nhu cầu trong tháng tới sẽ ở mức nào? Doanh thu có thể đạt bao nhiêu nếu các điều kiện đầu vào thay đổi?
3.1. Ví dụ về Regression
Giả sử một mô hình được huấn luyện từ dữ liệu nhà ở, bao gồm diện tích và giá bán. Một số quan sát minh họa có thể như sau:
| Diện tích (m²) | Giá bán thực tế (tỷ đồng) |
|---|---|
| 50 | 2,0 |
| 70 | 2,7 |
| 90 | 3,4 |
Đây chỉ là dữ liệu giả định để minh họa, không đại diện cho giá nhà của một thị trường cụ thể.
Sau khi học từ nhiều quan sát, mô hình có thể dự đoán giá của một căn nhà mới có diện tích 80 m². Kết quả có thể là một giá trị như 3,0 tỷ đồng. Giá trị này là dự đoán, không phải cam kết rằng giá bán thực tế chắc chắn bằng con số đó.
3.2. Linear Regression hoạt động như thế nào?
Linear Regression (hồi quy tuyến tính) giả định rằng giá trị mục tiêu có thể được mô tả bằng một tổ hợp tuyến tính của các đặc trưng và hệ số mô hình.
Với một đặc trưng đầu vào, mô hình có dạng:
ŷ = w₀ + w₁x
x: Đặc trưng đầu vào, chẳng hạn diện tích nhà.w₀: Hệ số chặn (Intercept).w₁: Hệ số của đặc trưng.ŷ: Giá trị mô hình dự đoán.
Với nhiều đặc trưng, phương trình có thể mở rộng thành:
ŷ = w₀ + w₁x₁ + w₂x₂ + ... + wₚxₚ
Ví dụ, giá nhà có thể được ước lượng dựa trên diện tích, số phòng ngủ và khoảng cách đến trung tâm. Các hệ số thể hiện cách mô hình kết hợp những đặc trưng này để tạo ra dự đoán.
Trong cách huấn luyện phổ biến, Linear Regression lựa chọn các hệ số để giảm tổng sai số bình phương giữa giá trị dự đoán và giá trị thực tế. Tuy nhiên, quan hệ thực tế không phải lúc nào cũng tuyến tính; khi đó cần cân nhắc các mô hình hoặc cách biến đổi đặc trưng khác.
3.3. Loss Function trong Regression
Loss Function đo mức độ sai khác giữa dự đoán và giá trị mục tiêu. Một mô hình được huấn luyện bằng cách tối ưu một hàm mục tiêu phù hợp với thuật toán và bài toán.
Hai hàm thường gặp là Mean Absolute Error (MAE) và Mean Squared Error (MSE).
Mean Absolute Error (MAE):
MAE = (1/n) × Σ |yᵢ - ŷᵢ|
MAE lấy trung bình độ lớn sai số tuyệt đối. Nếu dự đoán giá nhà lệch trung bình 200 triệu đồng, MAE có thể được diễn giải trực tiếp là 200 triệu đồng khi đơn vị mục tiêu là đồng.
Mean Squared Error (MSE):
MSE = (1/n) × Σ (yᵢ - ŷᵢ)²
MSE bình phương sai số trước khi tính trung bình, khiến những sai số lớn bị phạt mạnh hơn. Do đó, MSE nhạy với các giá trị ngoại lệ hơn MAE.
Root Mean Squared Error (RMSE) là căn bậc hai của MSE. RMSE có cùng đơn vị với biến mục tiêu, giúp việc diễn giải sai số thuận tiện hơn.
3.4. Các thuật toán Regression phổ biến
| Thuật toán | Đặc điểm | Trường hợp thường cân nhắc |
|---|---|---|
| Linear Regression | Mô hình tuyến tính, tương đối dễ diễn giải | Dự đoán giá trị khi quan hệ tuyến tính là một giả định hợp lý |
| Ridge Regression | Thêm regularization L2 để hạn chế hệ số quá lớn | Nhiều đặc trưng có tương quan hoặc cần giảm overfitting |
| Lasso Regression | Regularization L1 có thể đưa một số hệ số về 0 | Cần mô hình gọn hơn hoặc hỗ trợ lựa chọn đặc trưng |
| Decision Tree Regressor | Học các quy tắc phân chia dữ liệu thành những vùng | Quan hệ phi tuyến và tương tác giữa các đặc trưng |
| Random Forest Regressor | Kết hợp dự đoán từ nhiều cây quyết định | Bài toán có quan hệ phức tạp, cần mô hình dạng cây mạnh hơn một cây đơn lẻ |
| Gradient Boosting Regressor | Xây dựng các mô hình nối tiếp để cải thiện sai số | Dữ liệu dạng bảng với quan hệ phi tuyến |
Không có thuật toán Regression nào luôn tốt nhất cho mọi dữ liệu. Việc lựa chọn cần dựa trên hiệu quả trên dữ liệu chưa thấy, độ phức tạp, khả năng diễn giải và yêu cầu vận hành.
4. Classification là gì?
Classification (phân loại) là nhóm bài toán Supervised Learning trong đó mô hình dự đoán một nhãn thuộc về một hoặc nhiều lớp đã xác định.
Khác với Regression, đầu ra cuối cùng của Classification thường là một danh mục, chẳng hạn khách hàng có rời bỏ dịch vụ hay không, email có phải spam hay không, hoặc giao dịch thuộc nhóm bình thường hay đáng ngờ.
4.1. Ví dụ về Classification
Một ngân hàng muốn xây dựng mô hình dự đoán khả năng khách hàng không trả nợ đúng hạn. Dữ liệu huấn luyện có thể gồm thu nhập, dư nợ, lịch sử thanh toán và nhãn kết quả trong quá khứ.
| Thu nhập | Tỷ lệ dư nợ/thu nhập | Lịch sử trả nợ | Nhãn minh họa |
|---|---|---|---|
| 20 triệu | Thấp | Đúng hạn | Không trễ hạn |
| 12 triệu | Cao | Từng trễ hạn | Có trễ hạn |
Các dòng dữ liệu trên chỉ minh họa cấu trúc bài toán, không phải quy tắc tín dụng thực tế. Mô hình cần học từ tập dữ liệu đủ phù hợp và được đánh giá cẩn thận trước khi hỗ trợ quyết định.
4.2. Binary Classification và Multiclass Classification
Binary Classification là phân loại nhị phân, trong đó mục tiêu có hai lớp. Ví dụ: giao dịch gian lận hoặc không gian lận.
Multiclass Classification là phân loại đa lớp, trong đó mỗi mẫu được gán vào một trong nhiều lớp loại trừ nhau. Ví dụ: phân loại ảnh thành mèo, chó hoặc chim.
Ngoài ra, Multilabel Classification cho phép một mẫu đồng thời có nhiều nhãn. Ví dụ, một bài viết có thể được gắn nhãn công nghệ, giáo dục và kinh doanh cùng lúc.
4.3. Logistic Regression và xác suất dự đoán
Mặc dù có chữ “Regression” trong tên, Logistic Regression thường được dùng cho Classification. Trong bài toán nhị phân, mô hình ước lượng xác suất mẫu thuộc lớp dương, sau đó áp dụng ngưỡng để quyết định nhãn.
Hàm Logistic (Sigmoid) có dạng:
p = 1 / (1 + e^(-z))
Trong đó, z thường là tổ hợp tuyến tính của các đặc trưng. Giá trị p nằm trong khoảng từ 0 đến 1 và được diễn giải là xác suất dự đoán của lớp dương khi mô hình được xây dựng và hiệu chỉnh phù hợp.
Ví dụ, nếu mô hình ước lượng xác suất một giao dịch là gian lận bằng 0,82 và ngưỡng quyết định là 0,5, giao dịch sẽ được dự đoán thuộc lớp gian lận. Nếu ngưỡng được điều chỉnh thành 0,9, kết quả phân loại có thể thay đổi.
Lưu ý: Ngưỡng 0,5 không phải lựa chọn bắt buộc trong mọi bài toán. Ngưỡng phù hợp phụ thuộc vào chi phí của False Positive, False Negative và yêu cầu vận hành.
4.4. Các thuật toán Classification phổ biến
| Thuật toán | Đặc điểm | Điểm cần lưu ý |
|---|---|---|
| Logistic Regression | Mô hình tuyến tính tạo ra xác suất dự đoán | Quan hệ phi tuyến có thể cần biến đổi đặc trưng |
| Decision Tree Classifier | Phân loại bằng chuỗi điều kiện rẽ nhánh | Cây quá sâu có thể overfit |
| Random Forest Classifier | Kết hợp nhiều cây quyết định | Thường khó diễn giải hơn một cây nhỏ |
| Support Vector Machine (SVM) | Tìm ranh giới phân tách các lớp; có thể dùng kernel | Cần chú ý việc chuẩn hóa và lựa chọn tham số |
| K-Nearest Neighbors (KNN) | Dự đoán dựa trên các mẫu gần nhất | Nhạy với thang đo đặc trưng và chi phí dự đoán |
| Naive Bayes | Dựa trên định lý Bayes và giả định độc lập có điều kiện | Giả định độc lập có thể không phản ánh đúng dữ liệu |
| Gradient Boosting Classifier | Kết hợp các mô hình theo hướng giảm lỗi | Cần kiểm soát độ phức tạp và điều chỉnh tham số |
5. Cách đánh giá mô hình Regression và Classification
Đánh giá mô hình không chỉ là kiểm tra xem dự đoán có đúng hay không. Chỉ số phù hợp cần phản ánh mục tiêu của bài toán và hậu quả của từng loại sai số.
5.1. Các chỉ số đánh giá Regression
- MAE: Sai số tuyệt đối trung bình; dễ diễn giải theo đơn vị của biến mục tiêu.
- MSE: Sai số bình phương trung bình; phạt mạnh những dự đoán sai lệch lớn.
- RMSE: Căn bậc hai của MSE; có cùng đơn vị với giá trị mục tiêu.
- R²: Đo mức độ mô hình giải thích biến thiên của dữ liệu so với một mốc tham chiếu. R² cao không tự động chứng minh mô hình dự đoán tốt trên dữ liệu mới.
Ví dụ, khi dự đoán giá nhà, MAE và RMSE giúp đánh giá mức sai lệch về tiền. R² cung cấp một góc nhìn bổ sung về mức độ giải thích biến thiên, nhưng cần được xem xét cùng các chỉ số sai số và kết quả trên tập kiểm tra.
5.2. Confusion Matrix trong Classification
Với bài toán phân loại nhị phân, Confusion Matrix tổng hợp số lượng dự đoán đúng và sai theo từng lớp.
| Dự đoán dương | Dự đoán âm | |
|---|---|---|
| Thực tế dương | True Positive (TP) | False Negative (FN) |
| Thực tế âm | False Positive (FP) | True Negative (TN) |
- True Positive (TP): Mẫu thuộc lớp dương và được dự đoán đúng.
- True Negative (TN): Mẫu thuộc lớp âm và được dự đoán đúng.
- False Positive (FP): Mẫu thuộc lớp âm nhưng bị dự đoán thành lớp dương.
- False Negative (FN): Mẫu thuộc lớp dương nhưng bị dự đoán thành lớp âm.
5.3. Accuracy, Precision, Recall và F1-score
Accuracy là tỷ lệ dự đoán đúng trên toàn bộ mẫu:
Accuracy = (TP + TN) / (TP + TN + FP + FN)
Precision cho biết trong số các mẫu được dự đoán là dương, có bao nhiêu mẫu thực sự dương:
Precision = TP / (TP + FP)
Recall cho biết mô hình phát hiện được bao nhiêu trong tổng số mẫu dương thực tế:
Recall = TP / (TP + FN)
F1-score là trung bình điều hòa của Precision và Recall:
F1 = 2 × Precision × Recall / (Precision + Recall)
Accuracy có thể gây hiểu nhầm khi dữ liệu mất cân bằng. Ví dụ, nếu chỉ 1% giao dịch là gian lận, một mô hình luôn dự đoán mọi giao dịch đều bình thường vẫn có thể đạt Accuracy 99% nhưng không phát hiện được giao dịch gian lận nào.
Trong tình huống đó, cần xem xét Precision, Recall, F1-score, PR-AUC hoặc ROC-AUC tùy mục tiêu. ROC-AUC đo khả năng xếp hạng hai lớp qua nhiều ngưỡng; PR-AUC thường hữu ích khi lớp dương hiếm và việc phát hiện lớp đó là trọng tâm. Không nên lựa chọn chỉ số chỉ vì giá trị của nó cao.
6. Train, Validation và Test: Vì sao cần chia dữ liệu?
Một mô hình có thể đạt kết quả rất tốt trên dữ liệu đã học nhưng hoạt động kém khi gặp dữ liệu mới. Hiện tượng này thường liên quan đến Overfitting và khả năng khái quát hóa (Generalization).
- Training Set: Dùng để học tham số của mô hình.
- Validation Set: Dùng để so sánh mô hình, lựa chọn tham số và quyết định cấu hình.
- Test Set: Dùng để đánh giá cuối cùng trên dữ liệu chưa được sử dụng để lựa chọn mô hình.
Quy trình này giúp hạn chế việc đánh giá quá lạc quan do mô hình đã gián tiếp thích nghi với dữ liệu kiểm tra.
Với dữ liệu có thứ tự thời gian, chẳng hạn dự đoán doanh thu tháng tiếp theo, không nên tùy tiện xáo trộn mọi quan sát rồi chia ngẫu nhiên. Cần giữ nguyên trật tự thời gian để tránh sử dụng thông tin tương lai trong quá trình huấn luyện.
6.1. Underfitting và Overfitting
| Hiện tượng | Bản chất | Hướng xử lý có thể cân nhắc |
|---|---|---|
| Underfitting | Mô hình quá đơn giản hoặc chưa học được quy luật quan trọng | Cải thiện đặc trưng, tăng độ linh hoạt hoặc điều chỉnh cách huấn luyện |
| Overfitting | Mô hình bám quá sát dữ liệu huấn luyện, kể cả nhiễu | Regularization, giới hạn độ phức tạp, tăng dữ liệu hoặc dùng Cross-validation phù hợp |
Mục tiêu không phải làm cho mô hình ghi nhớ dữ liệu huấn luyện hoàn hảo, mà là học được những quy luật có khả năng tiếp tục đúng trên dữ liệu chưa quan sát.
7. Thực hành Supervised Learning bằng Python
Ví dụ sau sử dụng scikit-learn để xây dựng hai mô hình đơn giản: Linear Regression dự đoán giá trị số và Logistic Regression phân loại nhị phân. Dữ liệu được tạo giả lập để minh họa quy trình, không đại diện cho dữ liệu thực tế.
7.1. Cài đặt thư viện
pip install scikit-learn
7.2. Ví dụ Regression: Dự đoán giá nhà theo diện tích
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
# Dữ liệu minh họa: diện tích và giá nhà
X = np.array([[30], [40], [50], [60], [70],
[80], [90], [100], [110], [120]])
y = np.array([1.2, 1.5, 1.9, 2.1, 2.5,
2.8, 3.2, 3.4, 3.8, 4.1])
# Chia dữ liệu thành tập huấn luyện và kiểm tra
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
# Huấn luyện mô hình
model = LinearRegression()
model.fit(X_train, y_train)
# Dự đoán trên tập kiểm tra
y_pred = model.predict(X_test)
print("MAE:", mean_absolute_error(y_test, y_pred))
print("RMSE:", np.sqrt(mean_squared_error(y_test, y_pred)))
print("R2:", r2_score(y_test, y_pred))
# Dự đoán cho căn nhà diện tích 85 m²
new_house = np.array([[85]])
predicted_price = model.predict(new_house)
print("Giá dự đoán:", predicted_price[0], "tỷ đồng")
Trong ví dụ này, fit() dùng dữ liệu huấn luyện để ước lượng hệ số của mô hình, còn predict() tạo dự đoán cho dữ liệu đầu vào. MAE, RMSE và R² giúp đánh giá kết quả trên tập kiểm tra.
Vì dữ liệu rất nhỏ và được tạo để minh họa, kết quả không đủ để kết luận mô hình có thể dự đoán giá nhà ngoài thực tế. Một ứng dụng thực tế cần thêm các biến như vị trí, tình trạng căn nhà, thời điểm giao dịch và dữ liệu đại diện cho thị trường mục tiêu.
7.3. Ví dụ Classification: Phân loại hai nhóm
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, classification_report
# Tạo dữ liệu phân loại giả lập
X, y = make_classification(
n_samples=500,
n_features=6,
n_informative=4,
n_redundant=0,
n_classes=2,
random_state=42
)
# Giữ tỷ lệ lớp tương tự giữa các tập
X_train, X_test, y_train, y_test = train_test_split(
X, y,
test_size=0.2,
random_state=42,
stratify=y
)
# Huấn luyện mô hình
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
# Dự đoán nhãn
y_pred = model.predict(X_test)
print("Accuracy:", accuracy_score(y_test, y_pred))
print(classification_report(y_test, y_pred))
# Xác suất dự đoán cho hai lớp
probabilities = model.predict_proba(X_test[:5])
print(probabilities)
Hàm predict() trả về nhãn dự đoán, trong khi predict_proba() trả về xác suất dự đoán cho từng lớp. Báo cáo phân loại cung cấp Precision, Recall và F1-score để đánh giá chi tiết hơn Accuracy.
Trong dự án thực tế, các bước như lựa chọn đặc trưng, xử lý dữ liệu, điều chỉnh tham số và lựa chọn ngưỡng cần được thực hiện chỉ dựa trên dữ liệu huấn luyện và validation. Test set nên được giữ lại cho đánh giá cuối cùng.
8. Những sai lầm thường gặp khi học Supervised Learning
- Chọn sai loại bài toán: Dự đoán doanh thu là Regression, còn dự đoán khách hàng có mua hay không thường là Classification.
- Chỉ nhìn vào một chỉ số: Accuracy cao chưa chắc phù hợp với bài toán phát hiện gian lận hoặc chẩn đoán bệnh.
- Để xảy ra Data Leakage: Thông tin từ tương lai hoặc từ tập kiểm tra lọt vào quá trình huấn luyện, khiến kết quả đánh giá không đáng tin cậy.
- Chỉ đánh giá trên Training Set: Kết quả này không phản ánh đầy đủ khả năng tổng quát hóa.
- Cho rằng thuật toán phức tạp luôn tốt hơn: Mô hình đơn giản có thể hoạt động tốt hơn khi dữ liệu ít hoặc nhiễu.
- Bỏ qua bối cảnh nghiệp vụ: Sai số có thể chấp nhận trong dự báo nhu cầu nhưng gây hậu quả nghiêm trọng trong đánh giá rủi ro tín dụng.
9. Khi nào nên sử dụng Regression và Classification?
Trước khi chọn thuật toán, hãy xác định rõ câu hỏi nghiệp vụ và loại đầu ra cần nhận được.
| Câu hỏi cần trả lời | Loại bài toán | Ví dụ thuật toán ban đầu |
|---|---|---|
| Tháng tới doanh thu dự kiến là bao nhiêu? | Regression | Linear Regression hoặc Random Forest Regressor |
| Khách hàng có khả năng rời bỏ dịch vụ không? | Classification | Logistic Regression hoặc Random Forest Classifier |
| Giá một sản phẩm nên được ước lượng ở mức nào? | Regression | Linear Regression hoặc Gradient Boosting Regressor |
| Email có phải thư rác không? | Classification | Naive Bayes hoặc Logistic Regression |
| Giao dịch có dấu hiệu gian lận không? | Classification | Logistic Regression hoặc mô hình cây tăng cường |
Đây là các lựa chọn để bắt đầu thử nghiệm, không phải công thức cố định. Việc chọn mô hình cuối cùng phải dựa trên kết quả đánh giá, chi phí sai số, tính công bằng, khả năng giải thích và điều kiện triển khai.
10. Kết luận
Supervised Learning giúp mô hình học mối quan hệ giữa đặc trưng đầu vào và kết quả đã biết để dự đoán cho dữ liệu mới. Hai nhóm bài toán nền tảng là Regression, dùng để ước lượng giá trị số, và Classification, dùng để dự đoán nhãn hoặc nhóm.
Để xây dựng mô hình đáng tin cậy, người học cần hiểu dữ liệu, lựa chọn Feature phù hợp, xác định đúng mục tiêu, chọn chỉ số đánh giá và kiểm tra khả năng tổng quát hóa. Thuật toán chỉ là một phần của quy trình; chất lượng dữ liệu và cách thiết kế thí nghiệm cũng đóng vai trò quan trọng.
Sau khi nắm được Supervised Learning, bạn có thể tiếp tục tìm hiểu các thuật toán cụ thể như Linear Regression, Logistic Regression, Decision Tree và Random Forest, trước khi chuyển sang những phương pháp học không giám sát.
11. Tài liệu tham khảo
- Google for Developers – Machine Learning Crash Course: Tài liệu nền tảng về Regression, Classification, Loss và đánh giá mô hình.
- scikit-learn – User Guide: Hướng dẫn các thuật toán Supervised Learning và cách sử dụng thư viện Python.
- scikit-learn – Supervised Learning: Tổng quan về các nhóm mô hình hồi quy và phân loại.
- Google for Developers – Classification: Kiến thức về phân loại, ngưỡng dự đoán và các chỉ số đánh giá.
12. Khám phá lộ trình học Data và AI tại MCNA Technology School
Nếu bạn muốn phát triển nền tảng Python, phân tích dữ liệu và ứng dụng AI vào công việc, có thể tham khảo các chương trình học tại MCNA Technology School:
Tác giả
Nguyễn Quốc Hải – Data Analyst tại MCNA Technology School
MCNA Technology School là đơn vị tiên phong đào tạo AI, Big Data, Business Intelligence tại Việt Nam. Chuyên sâu về Power BI, Python, SQL và Data Analytics — đối tác đào tạo của 300+ doanh nghiệp lớn như Viettel Global, Masan Group, Techcombank, VPBank, Daikin.
🌐 Website: mcna.vn
📘 Facebook: facebook.com/mcnatechnologyschool
▶️ YouTube: youtube.com/@mcna.technology.school
💼 LinkedIn: linkedin.com/company/mcna-vn
📞 Hotline: 0939.866.825 (Mr. Minh Khang)
📍 Hà Nội: 30 Trung Liệt, Đống Đa | Liền kề 44B, TT2, Văn Quán, Hà Đông
📍 TP.HCM: The BIB Space, 50B Phan Tây Hồ, Cầu Kiệu

