BÀI 1: TỔNG QUAN VỀ MACHINE LEARNING (HỌC MÁY)
1. Giới thiệu: Tại sao cần Machine Learning?
1.1. Lập trình truyền thống với Machine Learning
Để hiểu bản chất của Machine Learning (ML), ta cần so sánh nó với phương pháp lập trình cổ điển.
-
Lập trình truyền thống (Traditional Programming):
Con người phải hiểu rõ vấn đề, sau đó viết ra các quy tắc (if-else, vòng lặp) để máy tính thực hiện.Sơ đồ:
Dữ liệu (Input) + Quy tắc (Rules) → Kết quả (Output)Hạn chế: Không thể viết hết quy tắc cho các vấn đề phức tạp (ví dụ: làm sao viết quy tắc if-else để nhận diện khuôn mặt một người?).
-
Machine Learning:
Thay vì viết quy tắc, ta cung cấp cho máy tính Dữ liệu và Kết quả mẫu. Máy tính tự tìm ra các quy tắc (mô hình) liên kết giữa dữ liệu và kết quả đó.Sơ đồ:
Dữ liệu (Input) + Kết quả mẫu (Output) → Quy tắc/Mô hình (Model)
1.2. Định nghĩa học thuật
Một chương trình máy tính được gọi là học (learn) từ kinh nghiệm , đối với nhiệm vụ và thước đo hiệu suất , nếu hiệu suất của nó trên (đo bởi ) cải thiện theo kinh nghiệm .
(Tom Mitchell, 1998)
2. Ký hiệu Toán học và Thuật ngữ (Cốt lõi)
Trong Machine Learning, dữ liệu thường được biểu diễn dưới dạng các vector và ma trận. Việc làm quen với ký hiệu ngay từ đầu là rất quan trọng.
2.1. Dữ liệu (Data)
Giả sử ta có một tập dữ liệu huấn luyện gồm cặp điểm dữ liệu.
Trong đó:
-
Input (): Còn gọi là Feature Vector (Vector đặc trưng).
- Mỗi điểm dữ liệu là một vector trong không gian chiều: .
- .
- Ví dụ: Một ngôi nhà có thể biểu diễn là (80 m², 2 phòng ngủ, cách trung tâm 5 km).
-
Output (): Còn gọi là Target hoặc Label (Nhãn).
- Đây là giá trị chúng ta muốn máy tính dự đoán.
-
Model (): Hàm số ánh xạ từ Input sang Output.
- . ( là giá trị mô hình dự đoán, là giá trị thực tế).
- Mục tiêu: Tìm sao cho sự sai khác giữa và là nhỏ nhất.
3. Phân loại các thuật toán Machine Learning
Việc phân loại dựa trên: Dữ liệu đầu vào có nhãn () hay không?
3.1. Supervised Learning (Học có giám sát)
Dữ liệu bao gồm cặp . Máy "học" dựa trên việc đối chiếu câu trả lời đúng.
-
A. Regression (Hồi quy):
- Đặc điểm: là số thực liên tục ().
- Ví dụ: Dự đoán giá nhà, dự đoán giá cổ phiếu, dự đoán chiều cao của trẻ em dựa trên bố mẹ.
- Thuật toán: Linear Regression, Decision Tree Regression.
-
B. Classification (Phân loại):
- Đặc điểm: là giá trị rời rạc (nhãn/lớp).
- Ví dụ:
- Phân loại Email (Spam / Not Spam).
- Chẩn đoán y tế (Có bệnh / Không bệnh).
- Nhận diện chữ số viết tay (0, 1, ..., 9).
- Thuật toán: Logistic Regression, K-Nearest Neighbors (KNN), Support Vector Machine (SVM).
3.2. Unsupervised Learning (Học không giám sát)
Dữ liệu chỉ có , không có nhãn . Máy phải tự tìm cấu trúc ẩn trong dữ liệu.
-
A. Clustering (Phân cụm):
- Mục tiêu: Gom các nhóm dữ liệu giống nhau lại.
- Ví dụ: Phân khúc khách hàng, gom nhóm tin tức cùng chủ đề trên báo điện tử.
- Thuật toán: K-Means Clustering.
-
B. Dimensionality Reduction (Giảm chiều dữ liệu):
- Mục tiêu: Biến dữ liệu từ nhiều chiều (phức tạp) thành ít chiều (đơn giản) để dễ quan sát hoặc tính toán nhanh hơn.
- Ví dụ: Nén ảnh, trực quan hóa dữ liệu gen (từ hàng nghìn chiều xuống 2D).
3.3. Các loại khác
-
Semi-Supervised Learning (Học bán giám sát): Kết hợp lượng lớn dữ liệu không nhãn và lượng nhỏ dữ liệu có nhãn. (Rất quan trọng trong thực tế khi việc gán nhãn tốn kém).
-
Reinforcement Learning (Học tăng cường): Máy học thông qua thử và sai (Trial & Error) để tối đa hóa phần thưởng (Reward).
Ví dụ: AlphaGo, AI chơi game, Robot tự hành.
4. Quy trình xây dựng một hệ thống ML (The ML Pipeline)
Để giải quyết một bài toán thực tế, ta đi qua 5 bước:
-
Data Collection (Thu thập dữ liệu): Nguyên liệu đầu vào. "Garbage in, garbage out" (Dữ liệu rác thì mô hình rác).
-
Data Preprocessing (Tiền xử lý):
- Cleaning: Xử lý dữ liệu nhiễu, thiếu.
- Normalization: Đưa các đặc trưng về cùng một thang đo (ví dụ: đưa diện tích nhà và số phòng ngủ về khoảng [0,1]).
- Feature Engineering: Tạo ra các đặc trưng mới hữu ích hơn từ dữ liệu thô.
-
Training (Huấn luyện): Đưa dữ liệu vào thuật toán để tìm ra mô hình .
-
Evaluation (Đánh giá): Sử dụng tập dữ liệu kiểm tra (Test set - dữ liệu máy chưa từng nhìn thấy) để đo độ chính xác.
-
Deployment (Triển khai): Đưa mô hình vào ứng dụng để phục vụ người dùng cuối.
5. Tổng kết & Bài tập
5.1. Bảng tóm tắt nhanh
| Bài toán | Loại ML | Input (x) | Output (y) |
|---|---|---|---|
| Dự đoán giá xe cũ | Supervised (Regression) | Năm SX, Hãng, Số km đã đi | Giá tiền (VNĐ) |
| Lọc thư rác | Supervised (Classification) | Nội dung email, Tiêu đề | Spam / Normal |
| Gom nhóm khách hàng | Unsupervised (Clustering) | Lịch sử mua hàng, Tuổi | Nhóm (A, B, C...) |
| Robot hút bụi | Reinforcement | Cảm biến vật cản | Di chuyển (Trái/Phải/Thẳng) |
5.2. Câu hỏi ôn tập
-
Sự khác biệt cơ bản nhất giữa Classification và Regression là gì?
-
Nếu bạn có 10.000 bức ảnh chụp X-quang phổi nhưng chưa có bác sĩ kết luận bệnh, bạn có thể dùng thuật toán Supervised Learning ngay lập tức không? Tại sao?
-
Trong định nghĩa của Tom Mitchell, "P" đại diện cho cái gì?
5.3. Bài tập thực hành (Gợi ý)
Cài đặt Python và thư viện scikit-learn. Chạy thử đoạn code "Hello World" của Machine Learning: Phân loại hoa Iris (Iris Dataset).
6. Lời khuyên cho người mới bắt đầu
“Đừng quá sa đà vào sự phức tạp của Toán học ngay từ đầu. Hãy hiểu bức tranh toàn cảnh (Big Picture), hiểu Input là gì, Output là gì và dùng thuật toán nào cho bài toán nào. Sau đó mới đào sâu vào công thức.”
Bước tiếp theo:
Đọc Bài 2: Linear Regression (Hồi quy tuyến tính) - Bài học về thuật toán ML đơn giản nhất để bắt đầu làm quen với đạo hàm và tối ưu hóa.
All rights reserved