Machine Learning (học máy) là một nhánh của trí tuệ nhân tạo, trong đó máy tính tự học quy luật từ dữ liệu thay vì được lập trình từng bước. Sau khi "học" từ dữ liệu cũ, mô hình có thể dự đoán hoặc ra quyết định với dữ liệu mới, ví dụ dự đoán giá nhà, phân loại email rác hay gợi ý phim bạn có thể thích.
Bài viết giải thích Machine Learning hoạt động thế nào, các loại học máy, thuật toán phổ biến, quy trình làm một dự án ML và lộ trình học cho người mới.
Machine Learning là gì?
Nhà khoa học Arthur Samuel, người tiên phong trong lĩnh vực này, mô tả Machine Learning là lĩnh vực giúp máy tính có khả năng học mà không cần được lập trình một cách tường minh. Một định nghĩa kỹ thuật hơn của Tom Mitchell: chương trình được gọi là "học" nếu hiệu suất của nó trong một nhiệm vụ được cải thiện nhờ kinh nghiệm (dữ liệu).
Ví dụ dễ hiểu: bạn muốn máy tính nhận ra email lừa đảo. Thay vì viết hàng trăm quy tắc, bạn đưa cho nó 10.000 email đã gắn nhãn "lừa đảo" hoặc "bình thường". Thuật toán sẽ tự tìm ra đặc điểm chung, như từ ngữ hối thúc, đường link lạ, người gửi không quen, và dùng chúng để đánh giá email mới.
Machine Learning khác gì lập trình truyền thống?
| Tiêu chí | Lập trình truyền thống | Machine Learning |
|---|---|---|
| Đầu vào | Dữ liệu + luật do người viết | Dữ liệu + kết quả mong muốn |
| Đầu ra | Kết quả | Mô hình (bộ luật học được) |
| Khi có tình huống mới | Phải sửa code | Huấn luyện lại với dữ liệu mới |
| Phù hợp | Bài toán luật rõ ràng (tính thuế, kế toán) | Bài toán khó mô tả bằng luật (nhận diện ảnh, dự đoán) |
Machine Learning hoạt động như thế nào?
Một mô hình ML về cơ bản là một hàm toán học có nhiều tham số. Quá trình huấn luyện diễn ra như sau:
- Mô hình nhận dữ liệu đầu vào (ví dụ diện tích, số phòng của một căn nhà) và đưa ra dự đoán (giá nhà).
- So sánh dự đoán với giá thật để tính sai số (loss).
- Thuật toán tối ưu, phổ biến nhất là gradient descent, điều chỉnh tham số để giảm sai số.
- Lặp lại hàng nghìn lần trên toàn bộ dữ liệu cho tới khi sai số đủ nhỏ.
Sau đó mô hình được kiểm tra trên tập kiểm thử, tức dữ liệu nó chưa từng thấy, để đánh giá khả năng tổng quát hóa.
Các loại Machine Learning
Học có giám sát (Supervised Learning)
Dữ liệu có sẵn nhãn (đáp án). Gồm hai dạng chính:
- Hồi quy (regression): dự đoán giá trị số, như giá nhà, doanh thu tháng sau.
- Phân loại (classification): dự đoán nhóm, như email rác/không rác, khách hàng có rời bỏ hay không.
Học không giám sát (Unsupervised Learning)
Dữ liệu không có nhãn, mô hình tự tìm cấu trúc ẩn. Ví dụ phân nhóm khách hàng theo hành vi mua sắm (clustering) hoặc giảm số chiều dữ liệu để trực quan hóa.
Học bán giám sát (Semi-supervised Learning)
Kết hợp một ít dữ liệu có nhãn với nhiều dữ liệu không nhãn, hữu ích khi việc gắn nhãn tốn kém.
Học tăng cường (Reinforcement Learning)
Mô hình (agent) học bằng cách thử và nhận thưởng/phạt từ môi trường. Ứng dụng trong game, robot, và trong kỹ thuật RLHF dùng để tinh chỉnh các chatbot như ChatGPT.
| Loại | Dữ liệu | Ví dụ bài toán |
|---|---|---|
| Có giám sát | Có nhãn | Dự đoán giá, phân loại email |
| Không giám sát | Không nhãn | Phân khúc khách hàng |
| Bán giám sát | Ít nhãn + nhiều không nhãn | Phân loại ảnh y tế |
| Tăng cường | Phần thưởng từ môi trường | Chơi game, điều khiển robot |
Các thuật toán Machine Learning phổ biến
- Linear Regression (hồi quy tuyến tính): thuật toán nhập môn cho bài toán dự đoán số.
- Logistic Regression: phân loại nhị phân, đơn giản và dễ giải thích.
- Decision Tree và Random Forest: mô hình dạng cây quyết định, mạnh với dữ liệu bảng.
- Gradient Boosting (XGBoost, LightGBM): thường cho kết quả rất tốt với dữ liệu dạng bảng trong thực tế.
- K-Nearest Neighbors (KNN): phân loại dựa trên các điểm dữ liệu gần nhất.
- K-Means: phân cụm không giám sát.
- Mạng nơ-ron (Neural Network): nền tảng của Deep Learning, phù hợp với ảnh, âm thanh, văn bản.
Quy trình một dự án Machine Learning
- Xác định bài toán: dự đoán cái gì, đo thành công bằng chỉ số nào.
- Thu thập dữ liệu: từ database, file Excel, API, web.
- Làm sạch và khám phá dữ liệu (EDA): xử lý giá trị thiếu, ngoại lai, vẽ biểu đồ. Đây thường là bước tốn thời gian nhất.
- Tạo đặc trưng (feature engineering): biến dữ liệu thô thành thông tin hữu ích cho mô hình.
- Chia dữ liệu: tập huấn luyện, tập kiểm định, tập kiểm thử.
- Huấn luyện và so sánh mô hình.
- Đánh giá: accuracy, precision, recall, F1 cho phân loại; MAE, RMSE cho hồi quy.
- Triển khai và giám sát: đưa mô hình vào ứng dụng, theo dõi khi dữ liệu thực tế thay đổi.
Ví dụ code đơn giản với scikit-learn
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
X = df[["dien_tich", "so_phong"]]
y = df["gia"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LinearRegression().fit(X_train, y_train)
print(model.score(X_test, y_test)) # hệ số R^2 trên tập kiểm thử
Overfitting và underfitting: lỗi phổ biến của người mới
- Overfitting (quá khớp): mô hình học thuộc dữ liệu huấn luyện, kết quả rất tốt trên tập train nhưng kém trên dữ liệu mới. Cách xử lý: thêm dữ liệu, đơn giản hóa mô hình, regularization, cross-validation.
- Underfitting (chưa khớp): mô hình quá đơn giản, không nắm được quy luật. Cách xử lý: dùng mô hình phức tạp hơn, thêm đặc trưng tốt hơn.
Công cụ và thư viện Machine Learning nên biết
- NumPy và Pandas: xử lý mảng số và bảng dữ liệu, gần như dự án nào cũng dùng.
- Matplotlib, Seaborn: vẽ biểu đồ để khám phá dữ liệu.
- scikit-learn: thư viện ML truyền thống phổ biến nhất, API thống nhất, rất hợp cho người mới.
- XGBoost, LightGBM: thuật toán boosting mạnh cho dữ liệu bảng.
- PyTorch, TensorFlow: dùng khi chuyển sang Deep Learning.
- Jupyter Notebook, Google Colab: môi trường viết và chạy thử code tương tác, Colab còn cho dùng GPU miễn phí ở mức giới hạn.
Lời khuyên: đừng cố học hết mọi công cụ cùng lúc. Nắm chắc Pandas và scikit-learn qua 2–3 dự án nhỏ trước, sau đó mới mở rộng.
Ứng dụng của Machine Learning
- Gợi ý sản phẩm, phim, nhạc trên sàn thương mại điện tử và nền tảng giải trí.
- Phát hiện gian lận thẻ, giao dịch bất thường trong ngân hàng.
- Dự báo nhu cầu tồn kho, doanh số.
- Chấm điểm khách hàng tiềm năng trong marketing.
- Dự đoán khách hàng rời bỏ dịch vụ (churn).
Lộ trình học Machine Learning
- Python cơ bản và các thư viện NumPy, Pandas, Matplotlib. Bắt đầu với Khóa học Python hoặc Data Science với Python.
- Toán: đại số tuyến tính, xác suất thống kê, đạo hàm cơ bản.
- Thuật toán ML với scikit-learn và làm dự án trên bộ dữ liệu thực tế (Kaggle).
- Nâng cao: Deep Learning, xử lý ngôn ngữ, triển khai mô hình.
Nếu bạn còn mơ hồ về bức tranh tổng thể, hãy đọc trước AI là gì? Giải thích từ A đến Z.
Câu hỏi thường gặp
Machine Learning và AI có giống nhau không?
Không. Machine Learning là một nhánh của AI. Mọi hệ thống ML đều là AI, nhưng không phải AI nào cũng dùng Machine Learning.
Học Machine Learning có cần giỏi toán không?
Bạn cần nền tảng toán ở mức hiểu khái niệm để chọn và đánh giá mô hình đúng. Không cần giỏi toán chuyên sâu để bắt đầu, vì các thư viện đã cài đặt sẵn thuật toán.
Nên học Machine Learning bằng ngôn ngữ nào?
Python là lựa chọn phổ biến nhất nhờ hệ sinh thái scikit-learn, Pandas, PyTorch, TensorFlow.
Machine Learning khác Deep Learning ở điểm nào?
Deep Learning là một phần của ML, dùng mạng nơ-ron nhiều lớp và tự học đặc trưng từ dữ liệu thô. ML truyền thống thường cần con người thiết kế đặc trưng và cần ít dữ liệu hơn.
Cần bao nhiêu dữ liệu để huấn luyện mô hình?
Tùy bài toán. Mô hình đơn giản trên dữ liệu bảng có thể chạy tốt với vài nghìn dòng, trong khi Deep Learning cho ảnh hoặc văn bản thường cần nhiều hơn rất nhiều.
Học Machine Learning bài bản cùng MelyDemy
Đọc lý thuyết giúp bạn hiểu khái niệm, nhưng chỉ thực hành mới giúp bạn làm được dự án. Khoá học Machine Learning của MelyDemy hướng dẫn bạn từ dữ liệu thô đến mô hình hoàn chỉnh, và có thể học tiếp Deep Learning cơ bản khi đã vững nền tảng.