Machine Learning là gì? Machine Learning (ML), hay học máy, là một nhánh của Artificial Intelligence (AI) tập trung vào việc xây dựng các hệ thống có khả năng học các quy luật và mẫu hình từ dữ liệu để đưa ra dự đoán hoặc quyết định trên dữ liệu mới.
Điểm quan trọng nhất cần hiểu là Machine Learning không đơn giản là “cho máy tính thật nhiều dữ liệu”. Bản chất của Machine Learning là tìm ra một hàm hoặc một mô hình có khả năng khái quát hóa (generalization) từ những dữ liệu đã quan sát sang những trường hợp chưa từng thấy.
Ví dụ, thay vì viết hàng nghìn quy tắc để xác định một email có phải spam hay không, chúng ta có thể cung cấp cho mô hình nhiều email đã được gắn nhãn spam và not spam. Mô hình tìm ra các đặc điểm liên quan đến spam và sử dụng những đặc điểm đó để dự đoán email mới.
Trong bài viết này, chúng ta sẽ đi từ khái niệm nền tảng đến các loại Machine Learning, dữ liệu, feature, model, training, loss function, optimization, overfitting, evaluation, deployment và những thuật toán quan trọng mà người mới cần biết.
1. Machine Learning là gì?
Ở góc nhìn đơn giản, Machine Learning là quá trình để máy tính học từ dữ liệu thay vì được lập trình bằng toàn bộ các quy tắc cần thiết cho từng trường hợp.
Trong chương trình truyền thống, con người thường xác định rõ các quy tắc:
Input + Rules → Program → Output
Ví dụ, nếu xây dựng chương trình tính phí vận chuyển, chúng ta có thể tự viết:
Nếu khoảng cách < 5 km:
phí = 20.000
Nếu khoảng cách từ 5 đến 10 km:
phí = 30.000
Nếu khoảng cách > 10 km:
phí = 40.000
Với Machine Learning, cách tiếp cận thay đổi:
Input + Output đã biết → Learning Algorithm → Model
Model + Input mới → Prediction
Thay vì tự viết tất cả quy tắc, chúng ta cung cấp dữ liệu và kết quả quan sát được. Thuật toán học máy tìm ra một mô hình có thể mô tả mối quan hệ giữa đầu vào và đầu ra.
Đây cũng là lý do Machine Learning có sức mạnh lớn trong những bài toán mà con người khó mô tả bằng các quy tắc cố định, chẳng hạn nhận diện hình ảnh, phát hiện gian lận, dự đoán nhu cầu hoặc phân loại văn bản.
1.1. Bản chất của “học” trong Machine Learning
Từ “learning” đôi khi khiến người mới nghĩ rằng máy tính đang học giống con người. Thực tế, mô hình Machine Learning không “hiểu” thế giới theo nghĩa con người hiểu.
Ở mức cơ bản, mô hình đang tìm kiếm một cách biểu diễn toán học sao cho đầu ra của mô hình phù hợp với dữ liệu quan sát được và có khả năng hoạt động tốt trên dữ liệu mới.
Có thể hình dung quá trình này như sau:
Dữ liệu
↓
Tìm quy luật / pattern
↓
Điều chỉnh tham số của mô hình
↓
Mô hình đã học
↓
Dữ liệu mới
↓
Dự đoán
Mục tiêu cuối cùng không phải là ghi nhớ dữ liệu huấn luyện mà là generalization – khả năng hoạt động tốt trên những dữ liệu mà mô hình chưa từng nhìn thấy.
2. Machine Learning nằm ở đâu trong AI?
AI, Machine Learning và Deep Learning có quan hệ với nhau nhưng không phải là ba khái niệm đồng nghĩa.
Artificial Intelligence (AI)
│
└── Machine Learning (ML)
│
└── Deep Learning (DL)
│
└── Neural Networks
Artificial Intelligence là khái niệm rộng nhất, bao gồm các phương pháp xây dựng hệ thống có khả năng thực hiện những nhiệm vụ thường gắn với trí thông minh của con người.
Machine Learning là một hướng tiếp cận trong AI, trong đó hệ thống sử dụng dữ liệu và thuật toán để học pattern.
Deep Learning là một nhóm phương pháp Machine Learning dựa trên neural networks nhiều tầng, đặc biệt phù hợp với những dữ liệu phức tạp như hình ảnh, âm thanh và ngôn ngữ.
Do đó:
- AI không đồng nghĩa với Machine Learning.
- Machine Learning là một bộ phận của AI.
- Deep Learning là một bộ phận của Machine Learning.
- Không phải mọi hệ thống AI đều sử dụng Machine Learning.
3. Machine Learning hoạt động như thế nào?
Một mô hình Machine Learning thường nhận dữ liệu đầu vào dưới dạng các features và cố gắng học cách tạo ra một prediction.
Ví dụ bài toán dự đoán giá nhà:
| Feature | Ý nghĩa |
|---|---|
| Area | Diện tích căn nhà |
| Bedrooms | Số phòng ngủ |
| Location | Vị trí |
| Age | Tuổi của căn nhà |
| Price | Giá nhà |
Trong đó, Area, Bedrooms, Location và Age có thể là features, còn Price là target.
Mô hình có thể học một hàm tổng quát:
Price = f(Area, Bedrooms, Location, Age)
Điều chúng ta không biết trước là hàm f cụ thể. Machine Learning cố gắng tìm ra một hàm phù hợp từ dữ liệu.
4. Những thành phần quan trọng của một bài toán Machine Learning
4.1. Dataset
Dataset là tập dữ liệu được sử dụng để phân tích, huấn luyện và đánh giá mô hình.
Mỗi dòng dữ liệu thường đại diện cho một observation, sample hoặc instance. Các cột có thể đại diện cho features và target.
| Age | Income | Credit Score | Loan |
|---|---|---|---|
| 25 | 15 triệu | 720 | 0 |
| 42 | 30 triệu | 680 | 1 |
| 35 | 25 triệu | 750 | 0 |
Dataset tốt không chỉ cần nhiều dữ liệu mà còn phải phù hợp với bài toán. Dữ liệu thiếu, sai, thiên lệch hoặc không đại diện cho môi trường thực tế có thể khiến mô hình hoạt động kém dù thuật toán rất phức tạp.
4.2. Feature
Feature là một biến đầu vào được sử dụng để mô hình tạo ra prediction.
Ví dụ trong bài toán dự đoán khách hàng rời bỏ dịch vụ:
- Tuổi khách hàng.
- Số tháng sử dụng dịch vụ.
- Chi tiêu trung bình.
- Số lần liên hệ với bộ phận hỗ trợ.
- Loại hợp đồng.
Việc lựa chọn, biến đổi và tạo ra features phù hợp được gọi là Feature Engineering. Đây là một phần rất quan trọng trong Machine Learning truyền thống.
4.3. Target
Target là biến mà mô hình cần dự đoán trong các bài toán supervised learning.
Ví dụ:
- Dự đoán giá nhà → target là Price.
- Dự đoán khách hàng có rời bỏ hay không → target là Churn.
- Dự đoán doanh thu → target là Revenue.
4.4. Model
Model là biểu diễn toán học được học từ dữ liệu và sử dụng để tạo ra prediction.
Ví dụ, trong Linear Regression, model có dạng:
ŷ = β₀ + β₁x₁ + β₂x₂ + ... + βₚxₚ
Trong đó các hệ số β là những giá trị được mô hình học từ dữ liệu.
4.5. Parameter và Hyperparameter
Parameter là các giá trị được mô hình học trong quá trình training.
Hyperparameter là các cấu hình do người xây dựng mô hình lựa chọn hoặc tối ưu bên ngoài quá trình học parameter.
| Khái niệm | Ví dụ |
|---|---|
| Parameter | Trọng số β của Linear Regression hoặc Neural Network |
| Hyperparameter | Learning rate, số cây trong Random Forest, max depth |
5. Ba loại Machine Learning phổ biến
Cách phân loại cơ bản nhất dựa trên cách mô hình nhận phản hồi từ dữ liệu là Supervised Learning, Unsupervised Learning và Reinforcement Learning. Ngoài ra, trong Machine Learning hiện đại còn có Semi-supervised Learning và Self-supervised Learning.
5.1. Supervised Learning
Trong Supervised Learning, dữ liệu huấn luyện có target hoặc label. Mô hình học mối quan hệ giữa input và output.
Input X → Model → Prediction ŷ
↓
So sánh với y
↓
Error
Có hai nhóm bài toán supervised learning quan trọng nhất là Regression và Classification.
5.2. Regression
Regression được sử dụng khi target là một giá trị số liên tục.
Ví dụ:
- Dự đoán giá nhà.
- Dự đoán doanh thu.
- Dự đoán nhiệt độ.
- Dự đoán nhu cầu sản phẩm.
Một mô hình Linear Regression đơn giản có thể được biểu diễn:
ŷ = β₀ + β₁x
Mục tiêu là tìm các parameter sao cho prediction gần với giá trị thực tế nhất theo một loss function đã lựa chọn.
5.3. Classification
Classification được sử dụng khi target thuộc một hoặc nhiều nhóm.
Ví dụ:
- Email → Spam / Not Spam.
- Khách hàng → Churn / Not Churn.
- Giao dịch → Fraud / Normal.
- Hình ảnh → Cat / Dog.
Classification có thể là:
- Binary Classification: hai lớp.
- Multiclass Classification: nhiều lớp nhưng mỗi observation thuộc một lớp.
- Multilabel Classification: một observation có thể đồng thời thuộc nhiều nhãn.
5.4. Unsupervised Learning
Trong Unsupervised Learning, dữ liệu không có target được cung cấp sẵn. Mục tiêu là tìm cấu trúc hoặc pattern ẩn trong dữ liệu.
Ví dụ điển hình là Clustering.
Giả sử một doanh nghiệp có dữ liệu về hàng nghìn khách hàng nhưng không biết trước nhóm khách hàng nào tồn tại. K-Means có thể được sử dụng để chia khách hàng thành các nhóm có đặc điểm tương đồng.
Dữ liệu khách hàng
↓
Unsupervised Model
↓
Các nhóm khách hàng
↓
Phân tích đặc điểm từng nhóm
Một số kỹ thuật phổ biến:
- K-Means Clustering.
- Hierarchical Clustering.
- DBSCAN.
- Principal Component Analysis (PCA).
- Association Rules.
5.5. Reinforcement Learning
Reinforcement Learning mô hình hóa bài toán dưới dạng một agent tương tác với environment.
Agent
↓ Action
Environment
↓ State + Reward
Agent
↓
Cập nhật policy
Thay vì cung cấp đáp án đúng cho từng observation, hệ thống nhận reward hoặc penalty dựa trên hành động.
Reinforcement Learning thường xuất hiện trong các bài toán như robotics, game playing, control systems và một số bài toán tối ưu quyết định tuần tự.
5.6. Semi-supervised và Self-supervised Learning
Semi-supervised Learning kết hợp một lượng nhỏ dữ liệu có label với lượng lớn dữ liệu chưa có label.
Self-supervised Learning xây dựng tín hiệu học từ chính dữ liệu thay vì phụ thuộc hoàn toàn vào label do con người gán. Đây là một hướng quan trọng trong các hệ thống học biểu diễn hiện đại, đặc biệt với dữ liệu lớn như văn bản, hình ảnh và âm thanh.
6. Các thuật toán Machine Learning quan trọng
Không có thuật toán Machine Learning nào tốt nhất cho mọi bài toán. Việc lựa chọn phụ thuộc vào loại dữ liệu, mục tiêu, kích thước dataset, yêu cầu về khả năng giải thích và tài nguyên tính toán.
| Thuật toán | Loại | Ứng dụng tiêu biểu |
|---|---|---|
| Linear Regression | Regression | Dự đoán giá trị liên tục |
| Logistic Regression | Classification | Phân loại nhị phân |
| Decision Tree | Regression / Classification | Phân loại và dự đoán |
| Random Forest | Regression / Classification | Dữ liệu dạng bảng |
| Gradient Boosting | Regression / Classification | Predictive modeling |
| Support Vector Machine | Classification / Regression | Phân loại dữ liệu có cấu trúc |
| K-Nearest Neighbors | Classification / Regression | Dự đoán dựa trên điểm tương đồng |
| K-Means | Clustering | Phân nhóm dữ liệu |
| PCA | Dimensionality Reduction | Giảm số chiều dữ liệu |
| Neural Networks | Supervised / Unsupervised | Hình ảnh, văn bản, âm thanh và dữ liệu phức tạp |
7. Training: mô hình thực sự “học” như thế nào?
Đây là phần quan trọng để hiểu bản chất Machine Learning.
Giả sử chúng ta có một mô hình:
ŷ = f(X; θ)
Trong đó:
Xlà dữ liệu đầu vào.ŷlà prediction.θlà các parameter của model.
Mô hình tạo prediction, sau đó prediction được so sánh với giá trị thực tế y. Sự khác biệt này được lượng hóa bởi loss function.
7.1. Loss Function
Loss function đo mức độ sai lệch giữa prediction và actual value.
Ví dụ với Regression, một loss phổ biến là Mean Squared Error:
MSE = (1/n) × Σ(yᵢ - ŷᵢ)²
Nếu prediction càng gần actual value thì loss thường càng nhỏ.
7.2. Optimization
Sau khi xác định loss function, thuật toán cần tìm parameter giúp giảm loss.
Một phương pháp quan trọng là Gradient Descent.
Khởi tạo parameter
↓
Tính prediction
↓
Tính loss
↓
Tính gradient
↓
Cập nhật parameter
↓
Lặp lại
Công thức cập nhật đơn giản có thể biểu diễn:
θ_new = θ_old - η × ∇L(θ)
Trong đó η là learning rate, còn ∇L(θ) là gradient của loss function theo parameter.
7.3. Epoch, Batch và Iteration
Trong quá trình training, ba thuật ngữ thường gặp là epoch, batch và iteration.
- Epoch: một lần mô hình đi qua toàn bộ training dataset.
- Batch: một nhóm nhỏ dữ liệu được đưa vào model trong một lần cập nhật.
- Iteration: một lần cập nhật parameter dựa trên một batch.
Ví dụ dataset có 1.000 observations và batch size bằng 100. Một epoch có thể cần 10 iterations nếu toàn bộ dataset được sử dụng đúng một lần.
8. Train, Validation và Test Dataset
Một trong những nguyên tắc quan trọng nhất của Machine Learning là không đánh giá mô hình trên chính dữ liệu mà mô hình đã dùng để học.
Dataset thường được chia thành:
Original Dataset
│
├── Training Set
│ ↓
│ Train Model
│
├── Validation Set
│ ↓
│ Tune Model
│
└── Test Set
↓
Final Evaluation
8.1. Training Set
Training set được sử dụng để model học parameter.
8.2. Validation Set
Validation set được sử dụng trong quá trình phát triển để lựa chọn model, feature, hyperparameter hoặc cấu hình phù hợp.
8.3. Test Set
Test set được giữ lại để đánh giá cuối cùng trên dữ liệu mà quá trình xây dựng model chưa sử dụng để đưa ra quyết định.
Không nên xem các tỷ lệ như 80/20 hoặc 70/15/15 là quy luật bắt buộc. Cách chia phụ thuộc vào kích thước dữ liệu, tính chất bài toán và cách đánh giá. Điều quan trọng là các tập đánh giá phải đại diện hợp lý cho dữ liệu thực tế và tránh leakage.
9. Overfitting và Underfitting
9.1. Overfitting
Overfitting xảy ra khi model học quá sát training data, bao gồm cả những pattern không mang tính tổng quát hoặc noise.
Training Performance: Rất tốt
Test Performance: Kém
→ Có khả năng Overfitting
Ví dụ, một model dự đoán giá nhà có thể học quá kỹ những đặc điểm riêng của các căn nhà trong training dataset nhưng dự đoán kém đối với những căn nhà mới.
9.2. Underfitting
Underfitting xảy ra khi model quá đơn giản hoặc chưa học đủ cấu trúc trong dữ liệu.
Training Performance: Kém
Test Performance: Kém
→ Có khả năng Underfitting
9.3. Bias và Variance
Có thể hình dung:
- High Bias: model quá đơn giản, khó nắm bắt pattern.
- High Variance: model quá nhạy với training data.
Mục tiêu của model selection là tìm được mức độ phức tạp phù hợp để model vừa học được cấu trúc quan trọng vừa có khả năng generalization.
10. Regularization
Regularization là nhóm kỹ thuật giúp hạn chế model trở nên quá phức tạp.
Trong Linear Regression, một cách tiếp cận là thêm penalty vào objective function.
Hai phương pháp quen thuộc:
- Ridge Regression: sử dụng L2 regularization.
- Lasso Regression: sử dụng L1 regularization.
Ý tưởng quan trọng không phải chỉ là “thêm một công thức”, mà là tạo ra sự đánh đổi giữa việc fit dữ liệu và việc giữ model đủ đơn giản để generalize tốt hơn.
11. Feature Engineering
Feature Engineering là quá trình sử dụng kiến thức về dữ liệu và bài toán để lựa chọn, biến đổi hoặc tạo ra các features phù hợp.
Ví dụ, từ:
Ngày đăng ký = 15/03/2026
có thể tạo:
- Year = 2026.
- Month = 3.
- Day of week = Sunday.
- Customer tenure = số ngày kể từ ngày đăng ký.
Trong dữ liệu dạng bảng, feature engineering tốt có thể tạo ra sự khác biệt lớn về hiệu quả model.
11.1. Scaling
Một số thuật toán nhạy với scale của features. Ví dụ:
Age = 25
Income = 25.000.000
Credit Score = 720
Các biến có scale rất khác nhau. Một số phương pháp như Standardization có thể biến đổi dữ liệu về dạng có trung bình gần 0 và độ lệch chuẩn gần 1.
11.2. Encoding
Machine Learning model thường cần dữ liệu ở dạng số. Vì vậy, biến categorical có thể cần được encoding.
Ví dụ:
Gender
Male
Female
Có thể được chuyển thành dạng số hoặc tạo các biến dummy tùy theo thuật toán và cách xử lý dữ liệu.
12. Data Leakage là gì?
Data Leakage xảy ra khi thông tin không nên có trong quá trình training vô tình được đưa vào model.
Ví dụ, chúng ta muốn dự đoán khách hàng có rời bỏ dịch vụ trong tháng tới hay không, nhưng lại sử dụng một feature chỉ được tạo ra sau khi khách hàng đã rời bỏ.
Model có thể đạt performance rất cao trong validation nhưng thất bại khi triển khai thực tế.
Data leakage là một trong những lý do khiến kết quả Machine Learning “quá đẹp” đôi khi lại đáng nghi.
13. Cross-Validation
Cross-Validation là kỹ thuật sử dụng nhiều lần chia dữ liệu để đánh giá khả năng tổng quát hóa của model.
Với K-Fold Cross-Validation, dataset được chia thành K phần.
Fold 1 → Validation
Fold 2 → Training
Fold 3 → Training
...
Fold K → Training
Lặp lại để mỗi fold lần lượt làm validation.
Cuối cùng, các kết quả được tổng hợp để có đánh giá ổn định hơn.
Cross-validation đặc biệt hữu ích khi dataset không quá lớn và chúng ta muốn sử dụng dữ liệu hiệu quả hơn trong quá trình model selection.
14. Đánh giá mô hình Machine Learning
Không thể nói một model “tốt” chỉ dựa trên một con số duy nhất. Metric phải phù hợp với loại bài toán và mục tiêu thực tế.
14.1. Classification Metrics
| Metric | Ý nghĩa khái quát |
|---|---|
| Accuracy | Tỷ lệ prediction đúng trên toàn bộ observations |
| Precision | Trong các trường hợp model dự đoán Positive, bao nhiêu trường hợp thực sự Positive |
| Recall | Trong các trường hợp thực sự Positive, model phát hiện được bao nhiêu |
| F1-score | Cân bằng giữa Precision và Recall bằng harmonic mean |
| ROC-AUC | Đánh giá khả năng phân biệt các lớp dựa trên prediction score |
Accuracy có thể gây hiểu nhầm khi dataset mất cân bằng.
Ví dụ nếu 99% giao dịch là bình thường và chỉ 1% là fraud, một model luôn dự đoán “Normal” có thể đạt accuracy rất cao nhưng hoàn toàn không hữu ích cho việc phát hiện fraud.
14.2. Regression Metrics
| Metric | Ý nghĩa khái quát |
|---|---|
| MAE | Sai số tuyệt đối trung bình |
| MSE | Bình phương sai số trung bình |
| RMSE | Căn bậc hai của MSE |
| R² | Mức độ biến thiên của target được model giải thích theo định nghĩa của metric |
MAE thường dễ diễn giải hơn vì giữ cùng đơn vị với target. RMSE phạt các sai số lớn mạnh hơn do có bình phương sai số trước khi lấy căn.
15. Confusion Matrix
Đối với Classification, Confusion Matrix giúp nhìn rõ model đang dự đoán đúng và sai như thế nào.
| Predicted Positive | Predicted Negative | |
|---|---|---|
| Actual Positive | True Positive (TP) | False Negative (FN) |
| Actual Negative | False Positive (FP) | True Negative (TN) |
Từ bốn thành phần này có thể xây dựng nhiều metric như Accuracy, Precision, Recall và F1-score.
16. Model Selection và Hyperparameter Tuning
Trong thực tế, chúng ta hiếm khi biết trước model nào sẽ hoạt động tốt nhất.
Một quy trình đơn giản có thể là:
Dataset
↓
Baseline
↓
Linear / Logistic Regression
↓
Decision Tree
↓
Random Forest
↓
Gradient Boosting
↓
Cross-Validation
↓
Hyperparameter Tuning
↓
Final Model
Hyperparameter tuning là quá trình tìm cấu hình phù hợp cho model.
Hai phương pháp phổ biến:
- Grid Search: thử các tổ hợp hyperparameter đã được định nghĩa.
- Random Search: lấy mẫu các tổ hợp trong không gian hyperparameter.
Quan trọng là không nên sử dụng test set để liên tục điều chỉnh model. Nếu làm như vậy, test set dần trở thành một phần của quá trình model selection và không còn phản ánh khách quan performance trên dữ liệu mới.
17. Ensemble Learning
Ensemble Learning kết hợp nhiều model để tạo ra một hệ thống dự đoán chung.
Ý tưởng trực quan là thay vì chỉ hỏi một người, chúng ta lấy ý kiến từ nhiều model rồi kết hợp chúng.
Một số phương pháp nổi bật:
- Bagging.
- Random Forest.
- Boosting.
- Gradient Boosting.
- AdaBoost.
- Stacking.
Random Forest là ví dụ điển hình: nhiều Decision Tree được xây dựng và kết quả được kết hợp để tạo prediction.
18. Neural Networks và Deep Learning
Neural Network là mô hình gồm nhiều node được kết nối với nhau theo các layer.
Input Layer
↓
Hidden Layer
↓
Hidden Layer
↓
Output Layer
Mỗi connection thường có một weight. Trong quá trình training, các weights được điều chỉnh để giảm loss.
Deep Learning sử dụng neural networks với nhiều tầng biểu diễn. Một ưu điểm quan trọng là model có thể học representation ngày càng phức tạp từ dữ liệu.
Ví dụ trong Computer Vision:
Pixel
↓
Edges / Simple Patterns
↓
Shapes
↓
Objects
↓
Image Classification
Deep Learning đặc biệt quan trọng trong Computer Vision, Natural Language Processing, Speech Recognition và Generative AI.
19. Machine Learning khác Data Analysis như thế nào?
Data Analysis và Machine Learning có mối liên hệ chặt chẽ nhưng mục tiêu không hoàn toàn giống nhau.
| Khía cạnh | Data Analysis | Machine Learning |
|---|---|---|
| Mục tiêu | Hiểu và giải thích dữ liệu | Dự đoán hoặc tự động ra quyết định |
| Câu hỏi | Điều gì đã xảy ra? Tại sao? | Điều gì có thể xảy ra tiếp theo? |
| Output | Insight, report, visualization | Prediction, classification, score |
| Trọng tâm | Descriptive / diagnostic | Predictive / decision-oriented |
Tuy nhiên, ranh giới này không tuyệt đối. Một Data Analyst có thể sử dụng Machine Learning và một Data Scientist cũng có thể thực hiện rất nhiều công việc Data Analysis.
20. Machine Learning và Statistics có quan hệ gì?
Machine Learning và Statistics có nền tảng toán học giao nhau rất lớn.
Statistics giúp chúng ta hiểu:
- Phân phối dữ liệu.
- Probability.
- Sampling.
- Estimation.
- Uncertainty.
- Hypothesis Testing.
Machine Learning bổ sung trọng tâm vào khả năng dự đoán, tối ưu hóa và generalization.
Vì vậy, học Machine Learning mà bỏ qua Statistics sẽ khiến người học khó hiểu sâu về uncertainty, bias, variance, evaluation và khả năng tổng quát hóa của model.
21. Quy trình xây dựng một dự án Machine Learning
Một dự án Machine Learning thực tế không bắt đầu bằng việc chọn thuật toán.
Quy trình hợp lý thường bắt đầu từ bài toán:
1. Xác định Business Problem
↓
2. Xác định ML Problem
↓
3. Thu thập dữ liệu
↓
4. Data Understanding
↓
5. Data Cleaning
↓
6. Feature Engineering
↓
7. Train / Validation / Test
↓
8. Baseline Model
↓
9. Model Training
↓
10. Evaluation
↓
11. Hyperparameter Tuning
↓
12. Error Analysis
↓
13. Deployment
↓
14. Monitoring
↓
15. Retraining
21.1. Bước 1: Xác định Business Problem
Ví dụ doanh nghiệp nói: “Chúng tôi muốn giảm tỷ lệ khách hàng rời bỏ”.
Đây chưa phải một bài toán Machine Learning hoàn chỉnh.
Cần chuyển thành một câu hỏi có thể mô hình hóa:
“Dựa trên thông tin của khách hàng tại thời điểm hiện tại, mô hình có thể dự đoán xác suất khách hàng rời bỏ dịch vụ trong 30 ngày tới hay không?”
21.2. Bước 2: Xác định Target
Tiếp theo cần xác định target rõ ràng.
Churn = 1 → Khách hàng rời bỏ
Churn = 0 → Khách hàng không rời bỏ
Khi đó bài toán trở thành Binary Classification.
21.3. Bước 3: Xây dựng Baseline
Baseline là một mô hình hoặc quy tắc đơn giản dùng làm mốc so sánh.
Không nên bắt đầu bằng một model phức tạp nếu chưa biết một phương pháp đơn giản đạt performance như thế nào.
21.4. Bước 4: Error Analysis
Sau khi model dự đoán, đừng chỉ nhìn vào một metric tổng hợp.
Hãy xem model sai ở đâu:
- Sai nhiều ở nhóm khách hàng nào?
- Sai ở một khoảng thời gian cụ thể không?
- Sai nhiều với một category nào không?
- Có data leakage không?
- Những observation bị misclassification có điểm gì chung?
Error Analysis thường giúp tìm ra hướng cải thiện thực tế hơn việc đơn thuần thay đổi thuật toán.
22. Deployment: Khi model đi vào thực tế
Một model có accuracy tốt trong notebook chưa đồng nghĩa với một hệ thống Machine Learning thành công.
Model cần được đưa vào một hệ thống để nhận dữ liệu mới và tạo prediction.
New Data
↓
Data Pipeline
↓
Feature Processing
↓
ML Model
↓
Prediction
↓
Application / Business Decision
Trong production, cần quan tâm đến:
- Latency.
- Scalability.
- Data validation.
- Model versioning.
- Feature consistency.
- Monitoring.
- Security.
- Model performance.
23. Model Drift và Data Drift
Một model có thể hoạt động tốt hôm nay nhưng kém hơn sau vài tháng.
Nguyên nhân có thể là dữ liệu hoặc mối quan hệ trong thế giới thực đã thay đổi.
Data Drift xảy ra khi phân phối của input data thay đổi.
Concept Drift xảy ra khi mối quan hệ giữa input và target thay đổi.
Ví dụ một mô hình dự đoán hành vi mua hàng được xây dựng dựa trên dữ liệu của một giai đoạn nhất định. Khi thị trường, hành vi khách hàng hoặc chính sách doanh nghiệp thay đổi, những pattern cũ có thể không còn phù hợp.
Vì vậy, Machine Learning trong production cần có monitoring và chiến lược retraining phù hợp.
24. Những sai lầm phổ biến khi mới học Machine Learning
24.1. Chỉ học thuật toán mà không học dữ liệu
Người mới thường muốn học thật nhiều thuật toán nhưng bỏ qua data cleaning, missing values, outliers, encoding, scaling và leakage.
Trong thực tế, chất lượng dữ liệu có thể ảnh hưởng rất lớn đến chất lượng model.
24.2. Nghĩ rằng model phức tạp luôn tốt hơn
Random Forest hoặc Neural Network không mặc định tốt hơn Linear Regression hay Logistic Regression.
Model đơn giản có thể thắng model phức tạp nếu dữ liệu phù hợp, ít noise và yêu cầu bài toán cần khả năng giải thích.
24.3. Chỉ nhìn Accuracy
Metric phải phù hợp với business problem. Trong bài toán fraud detection, medical screening hoặc churn prediction, Precision và Recall có thể quan trọng hơn Accuracy.
24.4. Train và test trên cùng dữ liệu
Nếu đánh giá model trên chính dữ liệu model đã học, kết quả có thể quá lạc quan và không phản ánh khả năng dự đoán trên dữ liệu mới.
24.5. Không xác định rõ business problem
Một mô hình có thể có metric rất tốt nhưng không tạo ra giá trị nếu prediction không hỗ trợ một quyết định thực tế.
25. Một ví dụ Machine Learning hoàn chỉnh
Giả sử một ngân hàng muốn dự đoán khách hàng có khả năng rời bỏ dịch vụ.
Dữ liệu
- Age.
- Income.
- Account Balance.
- Number of Transactions.
- Tenure.
- Number of Complaints.
- Churn.
Xác định bài toán
Target là Churn, có hai giá trị 0 và 1.
Do đó đây là bài toán Binary Classification.
Quy trình
Customer Data
↓
Data Cleaning
↓
Feature Engineering
↓
Train / Validation / Test
↓
Logistic Regression
↓
Random Forest
↓
Cross-Validation
↓
Hyperparameter Tuning
↓
Evaluate Precision / Recall / F1
↓
Select Model
↓
Deploy
↓
Monitor
Điểm quan trọng là chúng ta không chỉ hỏi “model nào có accuracy cao nhất?”. Câu hỏi đúng có thể là:
“Mô hình nào giúp ngân hàng xác định được nhóm khách hàng có nguy cơ rời bỏ đủ chính xác để đội ngũ chăm sóc khách hàng có thể đưa ra hành động phù hợp?”
Đó chính là tư duy chuyển từ Machine Learning Model sang Machine Learning System.
26. Machine Learning cần học những kiến thức toán nào?
Không nhất thiết phải học toàn bộ toán cao cấp trước khi bắt đầu Machine Learning. Tuy nhiên, nếu muốn hiểu bản chất thay vì chỉ sử dụng thư viện, một số nền tảng rất quan trọng.
| Kiến thức | Ứng dụng trong Machine Learning |
|---|---|
| Linear Algebra | Vector, matrix, transformation, neural networks |
| Probability | Uncertainty và probabilistic modeling |
| Statistics | Distribution, estimation, sampling, evaluation |
| Calculus | Gradient và optimization |
| Optimization | Training model và minimizing loss |
Người mới không nên chờ đến khi “giỏi toán” mới học Machine Learning. Có thể học toán song song với việc triển khai các model đơn giản.
27. Python và các thư viện Machine Learning
Python là một ngôn ngữ phổ biến trong Data Science và Machine Learning nhờ hệ sinh thái thư viện phong phú.
Một số thư viện thường gặp:
- NumPy: tính toán số học và mảng.
- pandas: xử lý dữ liệu dạng bảng.
- Matplotlib: trực quan hóa dữ liệu.
- scikit-learn: triển khai nhiều thuật toán Machine Learning truyền thống.
- TensorFlow: framework cho Machine Learning và Deep Learning.
- PyTorch: framework phổ biến cho Deep Learning.
Ví dụ một workflow Machine Learning cơ bản với scikit-learn:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
model = LogisticRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(accuracy)
Đoạn code trên thể hiện một workflow rất cơ bản: chia dữ liệu, train model, dự đoán và đánh giá. Tuy nhiên, một dự án thực tế còn cần xử lý dữ liệu, preprocessing, validation, feature engineering, tuning và kiểm tra leakage.
28. Có nên học Machine Learning trước Deep Learning không?
Đối với người mới, câu trả lời thường là nên học Machine Learning fundamentals trước.
Không nhất thiết phải học mọi thuật toán trước khi chuyển sang Deep Learning, nhưng nên hiểu các khái niệm:
- Dataset.
- Feature.
- Target.
- Training.
- Validation.
- Test.
- Loss function.
- Optimization.
- Overfitting.
- Regularization.
- Evaluation.
- Generalization.
Khi đã hiểu các khái niệm này, việc học Neural Networks và Deep Learning sẽ dễ dàng hơn rất nhiều.
29. Lộ trình học Machine Learning cho người mới
Một lộ trình có thể được xây dựng theo thứ tự:
- Python cơ bản: syntax, function, data structures.
- NumPy và pandas: xử lý dữ liệu.
- Data Visualization: Matplotlib và tư duy trực quan hóa.
- Statistics: mean, variance, probability, distribution, correlation.
- Linear Algebra: vector và matrix.
- Supervised Learning: Regression và Classification.
- Unsupervised Learning: Clustering và dimensionality reduction.
- Model Evaluation: metrics, cross-validation.
- Feature Engineering: preprocessing, encoding, scaling.
- Model Selection: baseline, comparison và tuning.
- Ensemble Learning: Random Forest và Boosting.
- Deep Learning: Neural Networks và optimization.
- Projects: xây dựng các bài toán end-to-end.
- Deployment: đưa model vào ứng dụng thực tế.
30. Machine Learning từ A đến Z: Cần nhớ những gì?
Nếu phải cô đọng toàn bộ Machine Learning thành một framework tư duy, có thể nhớ chuỗi sau:
Problem
↓
Data
↓
Features + Target
↓
Preprocessing
↓
Train / Validation / Test
↓
Model
↓
Loss Function
↓
Optimization
↓
Evaluation
↓
Generalization
↓
Deployment
↓
Monitoring
Trong đó, generalization là một trong những khái niệm quan trọng nhất.
Mục tiêu của Machine Learning không phải là làm cho model ghi nhớ training data. Mục tiêu là học được những quy luật hữu ích từ training data để có thể đưa ra prediction đáng tin cậy trên dữ liệu mới.
31. Kết luận
Machine Learning là gì? Có thể hiểu Machine Learning là cách xây dựng các hệ thống có khả năng học pattern từ dữ liệu để tạo ra prediction hoặc quyết định trên những trường hợp mới.
Để hiểu Machine Learning một cách có hệ thống, người học cần vượt qua cách tiếp cận “học thuộc thuật toán” và tập trung vào mối quan hệ giữa data, model, objective, optimization và generalization.
Một model tốt không đơn giản là model có metric cao nhất trên một dataset. Model tốt phải phù hợp với bài toán, được đánh giá đúng cách, không bị leakage, có khả năng generalization và tạo ra kết quả hữu ích trong môi trường thực tế.
Với người mới học Data, một nền tảng vững về Statistics, Python, Data Analysis và Machine Learning cơ bản sẽ tạo tiền đề tốt để tiếp tục học Deep Learning, Computer Vision, Natural Language Processing và Generative AI.
32. Tài liệu tham khảo
- Google for Developers – Machine Learning Crash Course
- Scikit-learn – Machine Learning in Python
- Scikit-learn – Model Selection and Evaluation
- Scikit-learn – Metrics and Scoring
- Goodfellow, Bengio & Courville – Deep Learning
- IBM – What is Machine Learning?
- IBM – AI vs. Machine Learning vs. Deep Learning vs. Neural Networks
33. Học Machine Learning cùng MCNA
Nếu bạn đang xây dựng nền tảng về Data, Python, AI và Machine Learning, có thể kết hợp kiến thức lý thuyết với thực hành dữ liệu và xây dựng project thực tế.
Combo 5 khóa AI & Power BI
Phù hợp với người muốn xây dựng nền tảng về Data, AI và Business Intelligence.
Xem Combo 5 khóa AI & Power BI
Combo Python
Phù hợp với người muốn củng cố Python để xử lý dữ liệu và phát triển nền tảng cho Machine Learning.
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

