Bài 1: Tổng quan về học máy
1
Thơng tin giảng viên
• TS. Trần Cao Trưởng
• Email: ;
• Mobile: 086 545 2206
• Research interest: machine learning, evolutionary computation, data mining.
2
Nội dung buổi học
• Học máy
• Quy trình xây dựng hệ thống học máy
•
Q trình từ chuẩn bị dữ liệu cho tới đánh giá kết quả
• Thiết lập mơi trường làm việc
•
Cài đặt các bộ cơng cụ phục vụ cho xây dựng hệ thống học máy
3
GIỚI THIỆU VỀ HỌC MÁY
4
5
6
QUY TRÌNH XÂY DỰNG HỆ
THỐNG
7
Các bước xây dựng mơ hình học máy
• Thu thập dữ liệu
• Chuẩn bị dữ liệu
• Lựa chọn mơ hình
• Huấn luyện mơ hình
• Đánh giá mơ hình
• Thay đổi tham số/mơ hình
• Áp dụng mơ hình
8
Thu thập dữ liệu (Data Collection)
• Chất lượng và khối lượng dữ liệu ảnh hưởng trực tiếp đến mơ hình học máy
• Dữ liệu thực tế hay dữ liệu phịng lab
• Dữ liệu thực tế: dữ liệu của bạn hay dữ liệu nguồn khác
• Đánh giá dữ liệu: độ lớn, nguồn, độ phức tạp, độ mất mát …
• Lưu trữ dữ liệu: Tập trung hay phân tán
9
Chuẩn bị dữ liệu (Data Preparation)
• Lý do chuẩn bị dữ liệu
•
•
Phù hợp với thuật tốn, cơng cụ
•
•
•
•
•
•
Khám phá dữ liệu
Dữ liệu không sạch: không đầy đủ, nhiễu, không nhất quán
• Các vấn đề trong chuẩn bị dữ liệu
Làm sạch dữ liệu
Tích hợp dữ liệu
Biến đổi, rời rạc hóa và chuẩn hóa dữ liệu
Cân bằng dữ liệu
Rút gọn thuộc tính
10
Khám phá dữ liệu (Data exploration)
• Thuộc tính ảnh hưởng tới quyết định
• Mối liên hệ giữa các thuộc tính
11
Làm sạch dữ liệu (Data cleansing)
• Dữ liệu mất mát (missing data)
•
•
Vì một lý do nào đó mà dữ liệu bị mất mát (dữ liệu không được thu thập, lỗi
lưu trữ ...)
Một vài giải pháp:
•
•
Bỏ qua bản ghi hoặc thuộc tính chứa thơng tin bị mất mát
Điền thơng tin mới với: ngẫu nhiên hoặc liên quan đến các dữ liệu xung quanh
• Dữ liệu có nhiễu: giá trị khơng phù hợp ...
• Dữ liệu trùng lặp
•
Xảy ra khi tổng hợp nhiều nguồn tin khác nhau.
12
Biến đổi dữ liệu
• Rời rạc hóa (discretization)
•
•
•
Biến đổi dữ liệu từ dạng liên tục (continuous) sang rời rạc (discrete)
Nhiều model yêu cầu dữ liệu ở dạng rời rạc: cây phân lớp
Cho phép thu gọn dữ liệu
13
Biến đổi dữ liệu
• Chuẩn hóa dữ liệu (normalization)
•
•
•
Với nhiều mơ hình dựa trên độ đo khoảng cách (distance-based method), việc chuẩn hóa giúp cho các thuộc tính có sự
ảnh hưởng cân bằng với nhau
•
Ví dụ tuổi từ 0-99, lương từ 1 triệu VNĐ tới 1 tỉ VNĐ
Chuẩn hóa các thuộc tính về các khoảng tương tự nhau hoặc miền giá trị từ 0 tới 1
Các phương pháp:
•
min-max normalization
•
z-score normalization (standardization)
14
Cân bằng dữ liệu
• Dữ liệu bất cân bằng khi một lớp đối tượng có lượng bản ghi lớn hơn hẳn
99.997%
các lớp cịn lại
not-phishing
• Bài tốn phát hiện phishing
Trong 1 triệu email mới có khoảng 30 là phishing
labeled data
•
always predict
not-phishing
99.997% accuracy
0.003%
phishing
15
Rút gọn thuộc tính (Feature Selection)
• Rút gọn thuộc tính là quá trình chọn tập con tối ưu các thuộc tính
theo một số điều kiện nhất định.
• Tại sao phải rút gọn
•
•
•
ID
Nhiệt độ
Đau đầu
Nơn mửa
Cúm
1
High
High
Yes
Yes
2
High
Low
No
No
3
Low
High
Yes
Yes
4
Low
Low
No
No
Tăng hiệu quả của mơ hình: tăng tốc độ, độ chính xác và giảm độ
phức tạp
Trực quan hóa dữ liệu
Giảm bớt nhiễu và những ảnh hưởng không cần thiết
16
Lựa chọn mơ hình (Model selection)
• Mơ hình phù hợp với bài tốn và dữ liệu
•
•
•
•
Phân loại ảnh, âm thanh hay văn bản
Dữ liệu rời rạc hay dữ liệu số nguyên
Nhiều hay ít thuộc tính
Phân loại hay phân cụm
17
Lựa chọn mơ hình
• Lựa chọn siêu tham số (hyper parameter)
•
•
•
•
Decision trees
•
Độ sâu, số lượng lá
SVM
•
Kernel trick/feature extraction
Boosting
•
Number of rounds
Neural network
•
•
Learning rate
Mini-batch size…
18
Lựa chọn mơ hình
• Lựa chọn siêu tham số (hyper parameter)
19
Huấn luyện mơ hình (Training)
• Là các bước tìm kiếm giá trị các tham số của mơ hình sao cho mơ hình xấp xỉ được tốt nhất phân bố của dữ
liệu
y = f(x)
output
prediction function
Input data
•
Huấn luyện: cho một tập dữ liệu huấn luyện đã được gán nhãn {(x1,y1), …, (xN,yN)}, ước lượng hàm
dự đốn f bằng cách cực tiểu hóa lỗi dự đốn
•
Kiểm tra: áp dụng f với dữ liệu mới (chưa được huấn luyện) x để dự đoán output y = f(x)
20
Đánh giá (Evaluation)
• Đánh giá mơ hình
•
•
•
•
Sử dụng dữ liệu kiểm tra (validation data, test data)
Tách biệt với tập huấn luyện
Đảm bảo tính khách quan
Ước lượng trước hiệu năng hệ thống khi vận hành thật
21
Tập dữ liệu đánh giá mơ hình
labeled data set
• Khi huấn luyện mơ hình, chưa có dữ liệu kiểm
tra
training set
test set
• Sử dụng một phần dữ liệu đã có để đánh giá
mơ hình trước khi sử dụng
learning
method
learned model
accuracy evaluation
22
Kiểm định (Validation)
• Kiểm định trong q trình huấn luyện
training set
training set
test set
validation set
learning
learning
method
method
learned model
accuracy evaluation
23
Kiểm định chéo (Cross Validation)
24
Đánh giá (Evaluation)
25