Professional Documents
Culture Documents
Chap03 MayHocCoBan
Chap03 MayHocCoBan
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
TỔNG QUAN VỀ HỌC MÁY
• Tổng quan về học máy
– Một lĩnh vực nhỏ của Khoa học máy tính
– Một lĩnh vực nghiên cứu của Trí tuệ nhân tạo
– Một quá trình nhờ đó một hệ thống cải thiện hiệu suất (hiệu
quả hoạt động) của nó [Simon, 1983]
– Một quá trình mà một chương trình máy tính cải thiện hiệu
suất của nó trong một công việc thông qua kinh nghiệm
[Mitchell, 1997]
– Việc lập trình các máy tính để tối ưu hóa một tiêu chí hiệu
suất dựa trên các dữ liệu mẫu hoặc kinh nghiệm trong quá
khứ [Alpaydin, 2020]
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
TỔNG QUAN VỀ HỌC MÁY
• Tổng quan về học máy
– Một lĩnh vực nhỏ của Khoa học máy tính
– Một lĩnh vực nghiên cứu của Trí tuệ nhân tạo
Học máy = Cải thiện hiệu quả một công việc thông
qua kinh nghiệm
– Một công việc (nhiệm vụ) T
– Đối với các tiêu chí đánh giá hiệu năng P
– Thông qua (sử dụng) kinh nghiệm E
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
MỘT SỐ VÍ DỤ VỀ HỌC MÁY
• Lọc thư rác
• Phân loại trang web
• Tư vấn đầu tư chứng khoán
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC ỨNG DỤNG CỦA HỌC MÁY
• Tương tác người - máy
• Giải trí
• Giao thông
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ TRÌNH HỌC MÁY
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC THÀNH PHẦN CHÍNH (1)
• Lựa chọn các ví dụ học (training/learning examples)
– Các thông tin hướng dẫn quá trình học (training feedback) được
chứa ngay trong các ví dụ học, hay là được cung cấp gián tiếp (vd:
từ môi trường hoạt động)
– Các ví dụ học theo kiểu có giám sát (supervised) hay không có
Học máy cơ bản
• Xác định hàm mục tiêu (giả thiết, khái niệm) cần học
– F: X → {0,1}
– F: X → Một tập các nhãn lớp
– F: X → R+ (miền các giá trị số thực dương)
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC THÀNH PHẦN CHÍNH (2)
• Lựa chọn cách biểu diễn cho hàm mục tiêu cần học
– Hàm đa thức (a polynomial function)
– Một tập các luật (a set of rules)
– Một cây quyết định (a decision tree)
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC VẤN ĐỀ TRONG HỌC MÁY (2)
• Các ví dụ học (Training examples)
– Bao nhiêu ví dụ học là đủ?
– Kích thước của tập học (tập huấn luyện) ảnh hưởng thế
nào đối với độ chính xác của hàm mục tiêu học được?
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC VẤN ĐỀ TRONG HỌC MÁY (3)
• Quá trình học (Learning process)
– Chiến lược tối ưu cho việc lựa chọn thứ tự sử dụng
(khai thác) các ví dụ học?
– Các chiến lược lựa chọn này làm thay đổi mức độ phức
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC VẤN ĐỀ TRONG HỌC MÁY (4)
• Khả năng/giới hạn học (Learning capability)
– Hàm mục tiêu nào mà hệ thống cần học?
• Biểu diễn hàm mục tiêu: Khả năng biểu diễn (vd: hàm tuyến tính / hàm phi
tuyến) vs. Độ phức tạp của giải thuật và quá trình học
– Các giới hạn đối với khả năng học của các giải thuật học máy?
Học máy cơ bản
– Khả năng hệ thống tự động thay đổi (thích nghi) biểu diễn (cấu trúc)
bên trong của nó?
• Để cải thiện khả năng (của hệ thống đối với việc) biểu diễn và học hàm
mục tiêu
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC VẤN ĐỀ TRONG HỌC MÁY (5)
• (WHEN) Khi nào một mô hình (đã được huấn luyện
trước đó) cần được huấn luyện lại?
– Mô hình đã huấn luyện hoạt động (rất) tốt đối với các ví
dụ cũ
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
PHÂN LOẠI GIẢI THUẬT HỌC MÁY
• Học có giám sát
– Supervised learning là thuật toán dự đoán đầu ra
(outcome) của một dữ liệu mới (new input) dựa trên các
cặp (input, outcome) đã biết từ trước. Cặp dữ liệu này
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ THỐNG
• Tổng quan
– Tập trung vào việc đánh giá hiệu năng của hệ thống
• Thực hiện một cách tự động bởi hệ thống, sử dụng một tập các ví
dụ (test set)
• Không cần sự tham gia (can thiệp) của người dùng
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ THỐNG
• Các phương pháp đánh giá
– Làm thế nào để thu được một đánh giá đáng tin cậy về hiệu
năng của hệ thống?
• Tập huấn luyện càng lớn, thì hiệu năng của hệ thống càng tốt
• Tập kiểm thử càng lớn, thì việc đánh giá càng chính xác
Học máy cơ bản
• Tuy nhiên, rất khó (ít khi) có thể có được các tập dữ liệu (rất) lớn
– Hiệu năng của hệ thống không chỉ phụ thuộc vào giải thuật
được sử dụng, mà còn phụ thuộc vào:
• Phân bố lớp (Class distribution)
• Chi phí của việc phân lớp sai (Cost of misclassification)
• Kích thước của tập huấn luyện (Size of the training set)
• Kích thước của tập kiểm thử (Size of the test set)
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ THỐNG
• Các phương pháp đánh giá
– Hold-out (Splitting)
– Stratified sampling
Học máy cơ bản
– Repeated hold-out
– Cross-validation
• k-fold
• Leave-one-out
– Bootstrap sampling
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ THỐNG
• Phương pháp “Hold-out (Splitting)”
– Toàn bộ tập ví dụ D được chia thành 2 tập con không giao nhau
• Tập huấn luyện D_train – để huấn luyện hệ thống
• Tập kiểm thử D_test – để đánh giá hiệu năng của hệ thống
– D = D_train D_test
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ THỐNG
• Phương pháp “Stratified sampling”
– Đối với các tập ví dụ có kích thước nhỏ hoặc không cân
xứng (unbalanced datasets), các ví dụ trong tập huấn luyện
và thử nghiệm có thể không phải là đại diện
– Mục tiêu: Phân bố lớp (class distribution) trong tập huấn
Học máy cơ bản
luyện và tập kiểm thử phải xấp xỉ như trong tập toàn bộ các
ví dụ (D)
– Lấy mẫu phân tầng (Stratified sampling)
• Là một phương pháp để cân xứng (về phân bố lớp)
• Đảm bảo tỷ lệ phân bố lớp (tỷ lệ các ví dụ giữa các lớp) trong tập
huấn luyện và tập kiểm thử là xấp xỉ nhau
– Phương pháp lấy mẫu phân tầng không áp dụng được cho
bài toán hồi quy (vì giá trị đầu ra của hệ thống là một giá trị
số, không phải là một nhãn lớp)
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ THỐNG
• Phương pháp “Repeated hold-out”
– Áp dụng phương pháp đánh giá Hold-out nhiều lần, để sinh
ra (sử dụng) các tập huấn luyện và thử nghiệm khác nhau
• Trong mỗi bước lặp, một tỷ lệ nhất định của tập D được lựa chọn
ngẫu nhiên để tạo nên tập huấn luyện (có thể sử dụng kết hợp với
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ THỐNG
• Phương pháp “Cross-validation“
– Để tránh việc trùng lặp giữa các tập kiểm thử (một số ví dụ cùng
xuất hiện trong các tập kiểm thử khác nhau)
– k-fold cross-validation
• Tập toàn bộ các ví dụ D được chia thành k tập con không giao nhau (gọi là
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ THỐNG
• Phương pháp “Cross-validation“
– Leave-one-out cross-validation
• Một trường hợp (kiểu) của phương pháp Cross-validation
• Số lượng các nhóm (folds) bằng kích thước của tập dữ liệu (k=|D|)
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ THỐNG
• Phương pháp “Bootstrap sampling”
– Sử dụng việc lấy mẫu có lặp lại (sampling with
replacement) để tạo nên tập huấn luyện
• Giả sử tập toàn bộ D bao gồm n ví dụ
Học máy cơ bản
• Lấy mẫu có lặp lại n lần đối với tập D, để tạo nên tập huấn
luyện D_train gồm n ví dụ
– Từ tập D, lấy ra ngẫu nhiên một ví dụ x (nhưng không loại bỏ x khỏi tập D)
– Đưa ví dụ x vào trong tập huấn luyện: D_train = D_train x
– Lặp lại 2 bước trên n lần
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ THỐNG
• Phương pháp “Bootstrap sampling”
1
– Trong mỗi bước lặp, một ví dụ có xác suất (1 − ) để không được
𝑛
lựa chọn đưa vào tập huấn luyện
– Vì vậy, xác suất để một ví dụ (sau quá trình lấy mẫu lặp lại –
bootstrap sampling) được đưa vào tập kiểm thử là:
Học máy cơ bản
1 𝑛
(1 − ) ≈ 𝑒 −1 ≈ 0.368
𝑛
– Có nghĩa rằng:
• Tập huấn luyện (có kích thước =n) bao gồm xấp xỉ 63.2% các ví dụ trong D
(Lưu ý: Một ví dụ thuộc tập D có thể xuất hiện nhiều lần trong tập D_train)
• Tập kiểm thử (có kích thước <n) bao gồm xấp xỉ 36.8% các ví dụ trong D
(Lưu ý: Một ví dụ thuộc tập D chỉ có thể xuất hiện tối đa 1 lần trong tập
D_test)
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐÁNH GIÁ HIỆU NĂNG CỦA HỆ THỐNG
• Phương pháp “Bootstrap sampling”
– Các lưu ý quan trọng:
• Tập huấn luyện D_train có kích thước n, và một ví dụ thuộc tập
dữ liệu ban đầu D có thể xuất hiện nhiều lần trong tập huấn
Học máy cơ bản
luyện
• Tập kiểm thử D_test có kích thước <n, và một ví dụ thuộc tập
dữ liệu ban đầu D chỉ có thể xuất hiện tối đa 1 lần trong tập
kiểm thử
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC TIÊU CHÍ ĐÁNH GIÁ
• Tính chính xác (Accuracy)
– Mức độ dự đoán (phân lớp) chính xác của hệ thống (đã
được huấn luyện) đối với các ví dụ kiểm chứng (test
instances)
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC TIÊU CHÍ ĐÁNH GIÁ
• Bài toán phân loại (classification)
– Classification Accuracy thể hiện bao nhiêu phần trăm
lượng dữ liệu được phân loại đúng
𝑇𝑟𝑢𝑒𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 +𝑇𝑟𝑢𝑒𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑒
Học máy cơ bản
CA=
𝑇𝑜𝑡𝑎𝑙 𝑆𝑎𝑚𝑝𝑙𝑒
124+54 178
CA= = = 0.77
124+54 +(22+31) 231
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC TIÊU CHÍ ĐÁNH GIÁ
• Bài toán phân loại (classification)
– Precision thể hiện mức độ dự đoán đúng cho từng
nhóm PR(𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒) =
𝑇𝑟𝑢𝑒𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒
𝑇𝑟𝑢𝑒𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 +𝐹𝑎𝑙𝑠𝑒𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒
Học máy cơ bản
124
PR 0 = = 0.85
124+22
54
PR 1 = = 0.64
31+54
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC TIÊU CHÍ ĐÁNH GIÁ
• Bài toán phân loại (classification)
– Recall thể hiện tỷ lệ dự báo chính xác các trường hợp
positive trên toàn bộ các mẫu thuộc nhóm positive
𝑇𝑟𝑢𝑒𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒
RE=
Học máy cơ bản
𝑇𝑟𝑢𝑒𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 +𝐹𝑎𝑙𝑠𝑒𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑒
124
RE 0 = = 0.8
124+31
54
RE 1 = = 0.71
54+22
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC TIÊU CHÍ ĐÁNH GIÁ
• Bài toán phân loại (classification)
– Accuracy thể hiện bao nhiêu phần trăm lượng dữ liệu
được phân loại đúng
– Precision thể hiện mức độ dự đoán đúng cho từng
Học máy cơ bản
nhóm
– Recall thể hiện tỷ lệ dự báo chính xác các trường hợp
positive trên toàn bộ các mẫu thuộc nhóm positive
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÁC TIÊU CHÍ ĐÁNH GIÁ
• Bài toán hồi quy (regression)
– MSE (Mean Square Error) thể hiện trung bình của bình
phương sai số giữa giá trị thực tế và giá trị dự đoán
– MAE (Mean Absolute Error) thể hiện trung bình giá trị
Học máy cơ bản
tuyệt đối sai số giữa giá trị thực tế và giá trị dự đoán
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
GIẢI THUẬT HỌC MÁY
• Học có giám sát
– Phân loại (classification)
– Hồi quy (regression)
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
MÔ HÌNH TUYẾN TÍNH
• Hồi quy tuyến tính (linear regression)
– Đầu ra có giá trị bất kỳ
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY TUYẾN TÍNH
• Tình huống: Một căn nhà rộng x1 m2, có x2 phòng
ngủ và cách trung tâm thành phố x3 km có giá là
bao nhiêu?
– Giả sử chúng ta đã có số liệu thống kê từ 1000 căn nhà
Học máy cơ bản
trong thành phố đó, liệu rằng khi có một căn nhà mới
với các thông số về diện tích, số phòng ngủ và khoảng
cách tới trung tâm, chúng ta có thể dự đoán được giá
của căn nhà đó không?
– Phương trình hồi quy tuyến tính
𝑦ො ≈ 𝑦 = 𝑓 𝑥 = 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑤3 𝑥3 + 𝑤0
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY TUYẾN TÍNH
𝑦ො ≈ 𝑦 = 𝑓 𝑥 = 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑤3 𝑥3 + 𝑤0
– y là giá trị thực của outcome (dựa trên số liệu thống kê
chúng ta có trong tập training data), 𝑦ො là giá trị mà mô
hình hồi quy tuyến tính dự đoán; hai giá trị khác nhau do
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY TUYẾN TÍNH
𝑦ො ≈ 𝑦 = 𝑓 𝑥 = 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑤3 𝑥3 + 𝑤0 = 𝑥𝑤
ҧ
– Sai số dự đoán 𝑒 = 𝑦ො − 𝑦
1 2 1
• Mong đợi 𝑒 = (𝑦ො − 𝑦)2 càng nhỏ càng tốt
2 2
𝑁
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY TUYẾN TÍNH
• Giới thiệu dữ liệu
– Cho bộ dữ liệu Bảo hiểm với 7 thuộc tính (tuổi, giới tính,
chỉ số khối cơ thể, số con, hút thuốc lá, khu vực sống,
tổng chi phí phải trả) (xem insurance.csv)
Học máy cơ bản
• Yêu cầu: Dự đoán tổng chi phí phải trả dựa vào
1. Tuổi của khách hàng không hút thuốc.
2. Tuổi của khách hàng không hút thuốc và chỉ số khối cơ
thể
3. Tuổi, chỉ số khối cơ thể, tình trạng hút thuốc của khách
hàng
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY TUYẾN TÍNH
• Xây dựng mô hình (1), sử dụng scikit learn
Học máy cơ bản
Regression-Ví dụ 1
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY TUYẾN TÍNH
• Xây dựng mô hình (2), sử dụng scikit learn
Học máy cơ bản
Regression-Ví dụ 2
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY TUYẾN TÍNH
• Xây dựng mô hình (3), sử dụng scikit learn
Học máy cơ bản
Regression-Ví dụ 3
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY TUYẾN TÍNH
• Xây dựng mô hình (3), sử dụng statsmodels
Học máy cơ bản
Regression-Ví dụ 4
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY TUYẾN TÍNH
• Xây dựng mô hình (3), sử dụng statsmodels
Học máy cơ bản
Regression-Ví dụ 4
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
GIẢI THUẬT HỌC GIẢM ĐỘ DỐC
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
GIẢI THUẬT HỌC GIẢM ĐỘ DỐC
• Một số biến thể
– Batch Gradient Descent: Sử dụng tất cả các điểm dữ liệu để
cập nhật θ, cần tính toán đạo hàm trên toàn bộ dữ liệu ở mỗi
vòng lặp nên tốn nhiều thời gian
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
GIẢI THUẬT HỌC GIẢM ĐỘ DỐC
• Hồi quy tuyến tính với GD
Học máy cơ bản
GradientRegressor-Ví dụ 5
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
THUẬT TOÁN HỌC PERCEPTRON
• Giới thiệu
– Perceptron learning algorithm (PLA) là một thuật toán phân
lớp cho trường hợp đơn giản nhất: chỉ có hai lớp được gán
màu (nhãn) khác nhau
Học máy cơ bản
– Bài toán đặt ra là: Hãy xây dựng một classifier (bộ phân lớp)
để khi có một điểm dữ liệu hình tam giác màu xám mới, ta có
thể dự đoán được màu (nhãn) của nó
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
THUẬT TOÁN HỌC PERCEPTRON
Học máy cơ bản
Phần có nền màu xanh được coi là lãnh thổ của lớp xanh, phần có
nên màu đỏ được coi là lãnh thổ của lớp đỏ. Trong trường hợp này,
điểm dữ liệu mới hình tam giác được phân vào lớp đỏ
Bài toán classification có thể coi là bài toán đi tìm boundary giữa các
class. Boundary đơn giản nhất trong không gian hai chiều là một
đường thẳng, trong không gian ba chiều là một mặt phẳng, trong
không gian nhiều chiều là một siêu mặt phẳng
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
THUẬT TOÁN HỌC PERCEPTRON
𝑓𝑤 𝑥 = 𝑤1 𝑥1 + ⋯ + 𝑤𝑑 𝑥𝑑 + 𝑤0 𝑥0 = 𝑤 𝑇 𝑥ҧ = 0
Phương trình đường biên của tập dữ liệu gồm N điểm với số chiều là d
Học máy cơ bản
Xét trường hợp d = 2, đường biên chia tập điểm thành 2 phần, các
điểm cùng bên sẽ cùng dấu (cùng dương hoặc cùng âm)
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
THUẬT TOÁN HỌC PERCEPTRON
𝑓𝑤 𝑥 = 𝑤1 𝑥1 + ⋯ + 𝑤𝑑 𝑥𝑑 + 𝑤0 𝑥0 = 𝑤 𝑇 𝑥ҧ = 0
Nếu w là một nghiệm của bài toán PLA, với một điểm dữ liệu x chưa
được gán nhãn, vị trí của nó được xác định như sau:
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
THUẬT TOÁN HỌC PERCEPTRON
𝑓𝑤 𝑥 = 𝑤1 𝑥1 + ⋯ + 𝑤𝑑 𝑥𝑑 + 𝑤0 𝑥0 = 𝑤 𝑇 𝑥ҧ = 0
Bước 1: Chọn ngẫu nhiên vector hệ số w với các phần tử gần bằng 0
Bước 2: Duyệt ngẫu nhiên qua từng điểm dữ liệu xi
Học máy cơ bản
- Nếu xi bị phân sai lớp, cập nhật w theo công thức w = w + yixi
Bước 3: Kiểm tra có bao nhiêu điểm bị phân sai lớp.
- Nếu không còn điểm nào, dừng thuật toán
- Nếu còn, quay lại bước 2
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
THUẬT TOÁN HỌC PERCEPTRON
• Giới thiệu dữ liệu
– Bộ dữ liệu bệnh tiểu đường của Ấn Độ để kiểm tra khả
năng phân loại của thuật toán PLA
– Bộ dữ liệu gồm 768 bản ghi với tám tiêu chí chẩn đoán
Học máy cơ bản
• Yêu cầu
– Xây dựng mô hình nhận diện bệnh nhân tiểu đường
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
THUẬT TOÁN HỌC PERCEPTRON
• Xây dựng mô hình
Học máy cơ bản
Perceptron-Ví dụ 6
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
THUẬT TOÁN HỌC PERCEPTRON
• Trực quan hóa kết quả
Học máy cơ bản
Perceptron-Ví dụ 7
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY XÁC SUẤT
• Giới thiệu
– Một dạng hồi quy tuyến tính với đầu ra có thể được thể
hiện ở dạng xác suất, tức là
• Số thực (như LR)
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY XÁC SUẤT
• Đầu ra dự đoán
– Hồi quy tuyến tính 𝑓𝑤 𝑥 = 𝑤 𝑇 𝑥ҧ
– Học PLA 𝑓𝑤 𝑥 = 𝑠𝑖𝑔(𝑤 𝑇 𝑥)ҧ
𝑓𝑤 𝑥 = 𝜃(𝑤 𝑇 𝑥)ҧ
Học máy cơ bản
L 𝑤 = −𝑙𝑜𝑔𝑃 𝑦 𝑋; 𝑤
= − σ𝑁
𝑖=1(𝑦𝑖𝑙𝑜𝑔𝑧𝑖 + 1 − 𝑦𝑖 log(1 − 𝑧𝑖))
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY XÁC SUẤT
• Giới thiệu dữ liệu
– Bộ dữ liệu bệnh tiểu đường của Ấn Độ để kiểm tra khả
năng phân loại của thuật toán PLA
– Bộ dữ liệu gồm 768 bản ghi với tám tiêu chí chẩn đoán
Học máy cơ bản
• Yêu cầu
– Xây dựng mô hình xác định xác suất bị tiểu đường của
người bệnh
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY XÁC SUẤT
• Xây dựng mô hình
Học máy cơ bản
Logistics-Ví dụ 8
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỒI QUY XÁC SUẤT
• Trực quan hóa kết quả
Học máy cơ bản
Logistics-Ví dụ 9
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Tổng quan
– Quá khớp không phải là một thuật toán trong Học máy,
mà là một hiện tượng không mong muốn thường gặp
– Người xây dựng mô hình Học máy cần nắm được các
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Tổng quan
– Trong học có giám sát, cần tìm một hàm số f sao cho
𝑦_𝑖≈𝑓(𝑥_𝑖 ), ∀𝑖=1,2,3,⋯𝑁
=> quá trình huấn luyện có xu hướng tìm các tham số của mô
Học máy cơ bản
hình sao cho việc xấp xỉ có sai số càng nhỏ càng tốt
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Tổng quan
– Quá khớp (overfitting) là hiện tượng mô hình tìm được quá
trùng khớp với tập huấn luyện. Điều này có nghĩa là cả dữ
liệu nhiễu, hoặc dữ liệu bất thường trong tập huấn luyện đều
được chọn và học để đưa ra quy luật mô hình
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Các kỹ thuật
– Kiểm chứng chéo (cross-validation)
– Chính quy hóa (regularization)
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Kiểm chứng chéo (cross-validation)
– Chia tập huấn luyện ra k tập con không có phần tử
chung, có kích thước gần bằng nhau
– Mỗi lần kiểm thử, một trong số k tập con được lấy ra
Học máy cơ bản
làm tập kiểm thử (validate set). Mô hình được xây dựng
dựa vào hợp của k-1 tập con còn lại
– Mô hình cuối được xác định dựa trên trung bình của
các train error và validation error. Cách làm này còn có
tên gọi là k-fold cross validation
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Kiểm chứng chéo (cross-validation)
Học máy cơ bản
Nguồn: Scikit-learn.org
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Kiểm chứng chéo (cross-validation)
Học máy cơ bản
CrossValidation_Boston-Ví dụ 10
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Chính quy hóa (regularization)
– Chính quy hóa là thay đổi mô hình một chút để tránh
quá khớp trong khi vẫn giữ được tính tổng quát của nó
(tính tổng quát là tính mô tả được nhiều dữ liệu)
Học máy cơ bản
=> Di chuyển nghiệm của bài toán tối ưu hàm mất mát tới
một điểm gần nó. Hướng di chuyển sẽ là hướng làm cho
mô hình ít phức tạp hơn mặc dù giá trị của hàm mất mát
có tăng lên một chút.
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Chính quy hóa (regularization)
– Dừng sớm (Early stopping), dừng thuật toán trước khi
hàm mất mát đạt giá trị quá nhỏ, giúp tránh quá khớp
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Chính quy hóa (regularization)
– Thêm số hạng vào hàm mất mát, số hạng này thường
dùng để đánh giá độ phức tạp của mô hình
• Số hạng này càng lớn, thì mô hình càng phức tạp
Học máy cơ bản
• Hàm mất mát mới này thường được gọi là regularized loss
function, và được định nghĩa như sau
𝐽𝑟𝑒𝑔 𝜃 = 𝐽 𝜃 + 𝜆𝑅(𝜃)
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Chính quy hóa (regularization)
– Chính quy hóa l2 (l2 regularization), Ridge regression
• Trong kỹ thuật này, số hạng chính quy R định nghĩa như sau
Học máy cơ bản
2
𝑅 𝑤 = 𝑤 2
• Hàm này có đặc điểm
– Có đạo hàm tại mọi điểm, đạo hàm của nó đơn giản là w
– Việc tối thiểu R(w) đồng nghĩa làm cho các giá trị của hệ số w trở nên gần
với 0, nhờ vậy tránh hiện tượng quá khớp
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Chính quy hóa (regularization)
– Chính quy hóa l1 (l1 regularization), LASSO regression
• Trong kỹ thuật này, số hạng chính quy R định nghĩa như sau
𝑑
Học máy cơ bản
𝑅 𝑤 = 𝑤 1 = 𝑤𝑖
1
• Hàm này có đặc điểm
– Có đạo hàm tại mọi điểm, đạo hàm của nó đơn giản là w
– Việc tối thiểu R(w) đồng nghĩa làm cho nhiều hệ số w có giá trị bằng 0,
nhờ vậy tránh hiện tượng quá khớp
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
QUÁ KHỚP (OVERFITTING)
• Chính quy hóa (regularization)
Học máy cơ bản
Regularization-Ví dụ 12
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
MÁY VÉC-TƠ HỖ TRỢ
• Support vector machines (SVM)
– Thuật toán giúp tìm ra một siêu phẳng tối ưu để chia dữ
liệu tuyến tính ra làm hai lớp khác nhau
• Lớp các dữ liệu có nhãn dương
Học máy cơ bản
bài toán phân lớp có không gian biểu diễn thuộc tính lớn
– các đối tượng cần phân lớp được biểu diễn bởi một
tập rất lớn các thuộc tính
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
MÁY VÉC-TƠ HỖ TRỢ
• Ứng dụng SVM
– Sử dụng dữ liệu báo cáo tài chính để phân loại “có khả
năng phá sản” và “khó có khả năng phá sản”
– Sử dụng dữ liệu văn bản để phân loại “tâm lý tích cực”
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
MÁY VÉC-TƠ HỖ TRỢ
• Phát biểu bài toán
– Cho các cặp dữ liệu của tập huấn luyện là (x1,y1), …,
(xN,yN) với xi∈Rd thể hiện đầu vào của một điểm dữ liệu
và yi là nhãn của điểm dữ liệu đó với hai giá trị -1 và +1
Học máy cơ bản
𝑦𝑛 (𝑤 𝑡 𝑥𝑛 +𝑏)
– Tìm (w,b) sao cho max min
𝑤 2
𝑤,𝑏 𝑛
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
MÁY VÉC-TƠ HỖ TRỢ
• Hàm nhân (kernel function)
– Công cụ xác định tích vô hướng của hai điểm trong
không gian
– Bốn loại hàm kernel trong SVM
Học máy cơ bản
• Linear
• Polynomial
• Gaussian
• Sigmoid
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
MÁY VÉC-TƠ HỖ TRỢ
• Các vấn đề
– SVM chỉ làm việc với không gian đầu vào là các số thực
– SVM chỉ làm việc (thực hiện phân lớp) với 2 lớp
Học máy cơ bản
– Siêu phẳng phân tách (ranh giới quyết định phân lớp)
xác định được bởi SVM thường khó hiểu đối với người
dùng
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
MÁY VÉC-TƠ HỖ TRỢ
Tạo tập dữ liệu huấn luyện
Học máy cơ bản
SupportVectorMachine-Ví dụ 13
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
MÁY VÉC-TƠ HỖ TRỢ
Xây dựng mô hình Trực quan hóa kết quả
Học máy cơ bản
SupportVectorMachine-Ví dụ 13
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
MÁY VÉC-TƠ HỖ TRỢ
• Minh họa
– Tập dữ liệu ung thư mô tả các đặc điểm của nhân tế
bào có trong hình ảnh (xem breast_cancer)
– Tập dữ liệu gồm 30 thuộc tính và chia làm hai loại ung
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
MÁY VÉC-TƠ HỖ TRỢ
Xây dựng mô hình Trực quan hóa kết quả
Học máy cơ bản
SupportVectorMachine-Ví dụ 14
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỌC CÂY QUYẾT ĐỊNH
• Tổng quan
– Phương pháp học / tìm một hàm mục tiêu có giá trị rời rạc
(còn gọi là hàm phân lớp)
– Hàm phân lớp được biểu diễn bởi một cây quyết định
Học máy cơ bản
• Đặc điểm
– Là một trong các phương pháp học quy nạp được dùng phổ
biến nhất
– Có thể thực hiện ngay cả với các dữ liệu có chứa nhiễu/lỗi
– Được áp dụng thành công trong rất nhiều các bài toán ứng
dụng thực tế
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỌC CÂY QUYẾT ĐỊNH
• Ví dụ: Tôi quan tâm tin tức nào?
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỌC CÂY QUYẾT ĐỊNH
• Biểu diễn cây quyết định (1)
– Mỗi nút trong biểu diễn một thuộc tính cần kiểm tra giá
trị đối với các ví dụ
– Mỗi nhánh từ một nút sẽ tương ứng với một giá trị có
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỌC CÂY QUYẾT ĐỊNH
• Biểu diễn cây quyết định (2)
– Một cây quyết định biểu diễn một phép tuyển
(disjunction) của các kết hợp (conjunctions) của các
ràng buộc đối với các giá trị thuộc tính của các ví dụ
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỌC CÂY QUYẾT ĐỊNH
• Ví dụ: Tôi quan tâm tin tức nào?
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÂY QUYẾT ĐỊNH
Nạp dữ liệu Trực quan hóa
Học máy cơ bản
DecisionTree-Ví dụ 15
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÂY QUYẾT ĐỊNH
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CÂY QUYẾT ĐỊNH
• Ưu điểm
– Dễ hiểu và dễ trực quan hóa
– Dễ dàng nắm bắt các mẫu phi tuyến tính
– Ít yêu cầu xử lý trước dữ liệu
Học máy cơ bản
• Nhược điểm
– Nhạy cảm với dữ liệu nhiễu
– Nhạy cảm với sự thay đổi (dù nhỏ) trong dữ liệu
– Sai lệch với tập dữ liệu không cân bằng
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
K-LÁNG GIỀNG GẦN
• Ý tưởng
– Thuật toán đi tìm đầu ra của một điểm dữ liệu mới bằng
cách chỉ dựa trên thông tin của K điểm dữ liệu trong
training set gần nó nhất (K-lân cận)
Học máy cơ bản
– Trong bài toán phân lớp, nhãn của một điểm dữ liệu
mới được suy ra trực tiếp từ K điểm dữ liệu gần nhất
trong tập huấn luyện
– Trong bài toán hồi quy, đầu ra của một điểm dữ liệu sẽ
bằng chính đầu ra của điểm dữ liệu đã biết gần nhất,
hoặc là trung bình có trọng số của đầu ra của những
điểm gần nhất
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
K-LÁNG GIỀNG GẦN (KNNClassifier)
Nạp dữ liệu Trực quan hóa
Học máy cơ bản
KNNClassifier-Ví dụ 16
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
K-LÁNG GIỀNG GẦN (KNNRegressor)
Nạp dữ liệu Trực quan hóa
Học máy cơ bản
KNNRegressor-Ví dụ 17a
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
K-LÁNG GIỀNG GẦN (KNNRegressor)
Nạp dữ liệu
Học máy cơ bản
KNNRegressor-Ví dụ 17b
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
PHÂN CỤM K-means
• Giới thiệu
– Một trong những thuật toán cơ bản nhất trong học
không giám sát
– Phân dữ liệu thành các cụm (cluster) khác nhau sao
Học máy cơ bản
cho dữ liệu trong cùng một cụm có tính chất giống nhau
• Ý tưởng
– Tập hợp các điểm ở gần nhau trong một không gian nào
đó (không gian này có thể có rất nhiều chiều trong
trường hợp thông tin về một điểm dữ liệu là rất lớn)
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
PHÂN CỤM K-means
Nạp dữ liệu
Học máy cơ bản
Kmean-Ví dụ 18
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
PHÂN CỤM K-means
Nạp dữ liệu Trực quan hóa
Học máy cơ bản
Kmean-Ví dụ 19
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
GIẢM CHIỀU DỮ LIỆU
• Giới thiệu
– Dữ liệu đa chiều, có thể có chiều “kém chất lượng”, làm
giảm hiệu năng của mô hình
– Cần thiết phải “giảm chiều” hay loại bỏ các chiều “kém
Học máy cơ bản
chất lượng”
• Phương pháp
– Lựa chọn và giữ lại các chiều “tốt”
– Giảm chiều bằng cách kết hợp các chiều hiện có
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
GIẢM CHIỀU DỮ LIỆU
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỌC NHÓM
• Giới thiệu
– Kết hợp nhiều mô hình học lại với nhau có thể cho ra kết quả
dự báo tốt hơn so với kết quả dự báo tốt nhất từ một mô
hình đơn lẻ
– Nhóm (ensemble): một nhóm các mô hình dự báo
Học máy cơ bản
độc lập và song song với nhau nhưng đầu ra của chúng
sẽ được trung bình cộng để cho ra kết quả cuối cùng
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỌC NHÓM (BAGGINGClassifier)
Nạp dữ liệu Trực quan hóa
Học máy cơ bản
BaggingClassifier-Ví dụ 20
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỌC NHÓM (BAGGINGRegressor)
Nạp dữ liệu
Học máy cơ bản
BaggingRegressor-Ví dụ 21
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỌC NHÓM (BOOSTING)
• Ý tưởng
– Xây dựng một lượng lớn các mô hình (thường là cùng
loại); mô hình sau sẽ học cách sửa lỗi của mô hình
trước. Kết quả của mô hình cuối cùng (tốt nhất) là kết
Học máy cơ bản
quả trả về
• Phân loại
– Adaptive Boosting (AdaBoost)
– Gradient Boosting
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỌC NHÓM (BOOSTINGClassifier)
Nạp dữ liệu Trực quan hóa
Học máy cơ bản
BoostingClassifier-Ví dụ 22
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
HỌC NHÓM (BOOSTINGRegressor)
Nạp dữ liệu
Học máy cơ bản
BoostingRegressor-Ví dụ 23
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
TÓM TẮT
• Tổng quan về học máy
• Các công cụ học có giám sát
• Các công cụ học không có giám sát
Học máy cơ bản
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam