You are on page 1of 337

Học máy khả diễn giải

Giang Nguyen1, Duy-Tung Nguyen2, Hung-Quang Nguyen3, Tri


Le4, and Hoang Nguyen5
1
KAIST, South Korea, email: nguyengiangbkhn@gmail.com
2
U of Missouri, US, email: tungnguyen211098@gmail.com
3
UET, VNU, Vietnam, email: hungquangnguyen66@gmail.com
4
HCMUT, Vietnam
5
Soongsil University, South Korea

2021
v1.0
Mục lục

Lời nói đầu 10

1 Giới thiệu 12
1.1 Những câu chuyện dẫn dắt . . . . . . . . . . . . . . . . . . . . 13
1.2 Machine learning là gì? . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Thuật ngữ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2 Tính khả diễn giải 18


2.1 Tại sao ta cần tính khả diễn giải? . . . . . . . . . . . . . . . . 19
2.2 Phân loại các phương pháp diễn giải . . . . . . . . . . . . . . 26
2.3 Phạm vi của khả diễn giải . . . . . . . . . . . . . . . . . . . . 29
2.3.1 Tính minh bạch của thuật toán . . . . . . . . . . . . . 29
2.3.2 Tính khả diễn giải toàn cục, toàn diện . . . . . . . . . 29
2.3.3 Tính khả diễn giải toàn cục ở cấp độ mô đun . . . . . 30
2.3.4 Tính khả diễn giải cục bộ cho một dự đoán đơn lẻ . . . 31
2.3.5 Tính khả diễn giải cục bộ cho một nhóm các dự đoán . 31
2.4 Đánh giá tính khả diễn giải . . . . . . . . . . . . . . . . . . . 32
2.5 Thuộc tính của giải thích . . . . . . . . . . . . . . . . . . . . . 33
2.6 Giải thích thân thiện với con người . . . . . . . . . . . . . . . 37
2.6.1 Giải thích là gì? . . . . . . . . . . . . . . . . . . . . . . 37
2.6.2 Thế nào là giải thích tốt? . . . . . . . . . . . . . . . . 38

3 Các bộ dữ liệu 43
3.1 Thuê xe đạp (Hồi quy) . . . . . . . . . . . . . . . . . . . . . . 43
3.2 Bình luận rác trên Youtube (Phân loại văn bản) . . . . . . . . 44

3
3.3 Các nguy cơ gây ung thư cổ tử cung (Phân loại) . . . . . . . . 45

4 Các mô hình khả diễn giải 47


4.1 Hồi quy tuyến tính . . . . . . . . . . . . . . . . . . . . . . . . 48
4.1.1 Sự diễn giải . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.2 Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.1.3 Diễn giải trực quan . . . . . . . . . . . . . . . . . . . . 55
4.1.4 Giải thích các dự đoán riêng rẽ . . . . . . . . . . . . . 59
4.1.5 Mã hóa đặc trưng hạng mục . . . . . . . . . . . . . . . 60
4.1.6 Mô hình tuyến tính có tạo ra các giải thích tốt? . . . . 62
4.1.7 Mô hình tuyến tính thưa . . . . . . . . . . . . . . . . . 63
4.1.8 Lợi điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.1.9 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2 Hồi quy Logistic . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.1 Tại sao không áp dụng hồi quy tuyến tính cho phân loại? 68
4.2.2 Lý thuyết cơ sở . . . . . . . . . . . . . . . . . . . . . . 69
4.2.3 Sự diễn giải . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.4 Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.2.5 Ưu và nhược điểm . . . . . . . . . . . . . . . . . . . . 74
4.2.6 Phần mềm . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3 GLM, GAM và các mở rộng . . . . . . . . . . . . . . . . . . . 75
4.3.1 Đầu ra không tuân theo phân phối Gaussian - Mô hình
tuyến tính tổng quát . . . . . . . . . . . . . . . . . . . 77
4.3.2 Thêm các tương tác một cách thủ công . . . . . . . . . 83
4.3.3 Các ảnh hưởng phi tuyến - Mô hình bổ sung tổng quát
(GAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.3.4 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.3.5 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 93
4.3.6 Phần mềm . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.3.7 Các mở rộng khác . . . . . . . . . . . . . . . . . . . . . 94
4.4 Cây quyết định . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.4.1 Sự diễn giải . . . . . . . . . . . . . . . . . . . . . . . . 97
4.4.2 Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.4.3 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.4.4 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 100
4.4.5 Các phần mềm . . . . . . . . . . . . . . . . . . . . . . 101
4.5 Luật quyết định . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.5.1 Học các luật từ một đăng trưng (OneR) . . . . . . . . 104
4.5.2 Bao hàm tuần tự (sequential covering) . . . . . . . . . 108
4.5.3 Danh sách luật Bayesian . . . . . . . . . . . . . . . . . 112
4.5.4 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 119
4.5.5 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 119
4.5.6 Phần mềm và các phương pháp khác . . . . . . . . . . 120
4.6 Thuật toán RuleFit . . . . . . . . . . . . . . . . . . . . . . . . 121
4.6.1 Diễn giải và ví dụ . . . . . . . . . . . . . . . . . . . . . 122
4.6.2 Lý thuyết . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.6.3 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.6.4 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 129
4.6.5 Các phương pháp khác và các gói phần mềm . . . . . . 129
4.7 Các mô hình khả diễn giải khác . . . . . . . . . . . . . . . . . 130
4.7.1 Bộ phân loại Naive Bayes . . . . . . . . . . . . . . . . 130
4.7.2 K hàng xóm gần nhất . . . . . . . . . . . . . . . . . . 131

5 Các phương pháp phân tích kiểu mẫu 132


5.1 Phác họa phụ thuộc riêng (Partial Dependence Plot) . . . . . 136
5.1.1 Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.1.2 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.1.3 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 142
5.1.4 Phần mềm và các gói thay thế . . . . . . . . . . . . . . 143
5.2 Kỳ vọng có điều kiện riêng biệt (Individual Conditional Ex-
pectation - ICE) . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.2.1 Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.2.2 Phác hoạ ICE căn giữa (Centered ICE Plot) . . . . . . 145
5.2.3 Phác hoạ ICE đạo hàm (Derivative ICE Plot) . . . . . 148
5.2.4 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.2.5 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 149
5.2.6 Phần mềm và các gói thay thế . . . . . . . . . . . . . . 149
5.3 Phác hoạ các tích lũy ảnh hưởng cục bộ (Accumulated Local
Effects (ALE) Plot) . . . . . . . . . . . . . . . . . . . . . . . . 150
5.3.1 Động lực và trực quan . . . . . . . . . . . . . . . . . . 150
5.3.2 Lý thuyết . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.3.3 Ước lượng . . . . . . . . . . . . . . . . . . . . . . . . . 156
5.3.4 Các ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . 160
5.3.5 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 168
5.3.6 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 171
5.3.7 Phần mềm và các gói thay thế . . . . . . . . . . . . . . 172
5.4 Tương tác giữa đặc trưng (Feature Interaction) . . . . . . . . 173
5.4.1 Tương tác giữa đặc trưng? . . . . . . . . . . . . . . . . 173
5.4.2 Lý thuyết: thống kê-H của Friedman . . . . . . . . . . 174
5.4.3 Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
5.4.4 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 176
5.4.5 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 177
5.4.6 Cài đặt . . . . . . . . . . . . . . . . . . . . . . . . . . 179
5.4.7 Gói thay thế . . . . . . . . . . . . . . . . . . . . . . . . 180
5.5 Hoán vị đặc trưng quan trọng - Permutation Feature Importance)181
5.5.1 Lý thuyết . . . . . . . . . . . . . . . . . . . . . . . . . 181
5.5.2 Ta có nên tính toán tầm quan trọng trên tập dữ liệu
huấn luyện hay tập dữ liệu thử nghiệm? . . . . . . . . 182
5.5.3 Ví dụ và phân tích diễn giải . . . . . . . . . . . . . . . 185
5.5.4 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.5.5 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 188
5.5.6 Phần mềm và các giải pháp thay thế . . . . . . . . . . 190
5.6 Đại diện toàn cục (Global Surrogate) . . . . . . . . . . . . . . 191
5.6.1 Lý thuyết . . . . . . . . . . . . . . . . . . . . . . . . . 191
5.6.2 Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
5.6.3 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 193
5.6.4 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 195
5.6.5 Phần mềm . . . . . . . . . . . . . . . . . . . . . . . . . 196
5.7 Đại diện cục bộ (Local Surrogate - LIME) . . . . . . . . . . . 197
5.7.1 LIME cho dữ liệu dạng bảng . . . . . . . . . . . . . . . 199
5.7.2 LIME cho dữ liệu văn bản . . . . . . . . . . . . . . . . 202
5.7.3 LIME cho ảnh . . . . . . . . . . . . . . . . . . . . . . . 204
5.7.4 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 205
5.7.5 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 206
5.8 Các quy tắc phạm vi (Scoped Rules) - (Các neo (Anchors)) . . 208
5.8.1 Tìm các neo . . . . . . . . . . . . . . . . . . . . . . . . 211
5.8.2 Độ phức tạp và thời gian chạy (Runtime) . . . . . . . . 214
5.8.3 Ví dụ theo dữ liệu dạng bảng . . . . . . . . . . . . . . 214
5.8.4 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 218
5.8.5 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 220
5.8.6 Phần mềm và các gói thay thế . . . . . . . . . . . . . . 220
5.9 Giá trị Shapley (Shapley Values) . . . . . . . . . . . . . . . . 221
5.9.1 Ý tưởng chung . . . . . . . . . . . . . . . . . . . . . . 221
5.9.2 Các vị dụ và giải thích . . . . . . . . . . . . . . . . . . 224
5.9.3 Chi tiết về giá trị Shapley . . . . . . . . . . . . . . . . 226
5.9.4 Giá trị Shapley . . . . . . . . . . . . . . . . . . . . . . 227
5.9.5 Trực giác . . . . . . . . . . . . . . . . . . . . . . . . . 229
5.9.6 Ước tính giá trị Shapley . . . . . . . . . . . . . . . . . 230
5.9.7 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 231
5.9.8 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 232
5.9.9 Phần mềm và các gói thay thế . . . . . . . . . . . . . . 233
5.10 SHAP (Shapley Additive exPlanations) . . . . . . . . . . . . . 235
5.10.1 Định nghĩa . . . . . . . . . . . . . . . . . . . . . . . . 235
5.10.2 KernelSHAP . . . . . . . . . . . . . . . . . . . . . . . 237
5.10.3 TreeSHAP . . . . . . . . . . . . . . . . . . . . . . . . . 241
5.10.4 Các ví dụ: . . . . . . . . . . . . . . . . . . . . . . . . . 243
5.10.5 Mức quan trọng của đặc trưng SHAP (SHAP feature
importance) . . . . . . . . . . . . . . . . . . . . . . . . 244
5.10.6 Phác hoạ tổng quan SHAP (SHAP Summary Plot) . . 245
5.10.7 Các phác hoạ phụ thuộc SHAP (SHAP Dependence Plot)246
5.10.8 Giá trị tương tác SHAP (5.10.8 SHAP Interaction Val-
ues): . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
5.10.9 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 248
5.10.10 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 250
5.10.11 Phần mềm và các gói thay thế . . . . . . . . . . . . . . 251

6 Giải thích dựa trên mẫu dữ liệu 252


6.1 Giải thích phản chứng - Counterfactual Explanations . . . . . 254
6.1.1 Tạo ra giải thích phản chứng . . . . . . . . . . . . . . . 258
6.1.2 Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
6.1.3 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 265
6.1.4 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 266
6.1.5 Phần mềm và các phương pháp khác . . . . . . . . . . 266
6.2 Các mẫu dữ liệu đối kháng - Adversarial examples . . . . . . . 268
6.2.1 Các phương pháp và ví dụ . . . . . . . . . . . . . . . . 268
6.2.2 Góc nhìn bảo mật an ninh . . . . . . . . . . . . . . . . 276
6.3 Nguyên mẫu và ngoại lai - Prototypes and criticisms . . . . . 279
6.3.1 Lý thuyết . . . . . . . . . . . . . . . . . . . . . . . . . 280
6.3.2 Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
6.3.3 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 286
6.3.4 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 287
6.3.5 Code và các phương pháp khác . . . . . . . . . . . . . 288
6.4 Các mẫu dữ liệu có ảnh hưởng . . . . . . . . . . . . . . . . . . 289
6.4.1 Chẩn đoán xóa . . . . . . . . . . . . . . . . . . . . . . 293
6.4.2 Hàm ảnh hưởng . . . . . . . . . . . . . . . . . . . . . . 298
6.4.3 Ưu điểm của việc xác định các mẫu dữ liệu có ảnh hưởng304
6.4.4 Nhược điểm của việc xác định các mẫu dữ liệu có ảnh
hưởng . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
6.4.5 Phần mềm và giải pháp thay thế . . . . . . . . . . . . 306

7 Diễn giải mạng nơ-ron 308


7.1 Các đặc trưng được học . . . . . . . . . . . . . . . . . . . . . 309
7.1.1 Trực quan hóa đặc trưng . . . . . . . . . . . . . . . . . 310
7.1.2 Phân tách mạng (Network Dissection) . . . . . . . . . 315
7.1.3 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . 322
7.1.4 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . 323
7.1.5 Phần mềm và tài liệu khác . . . . . . . . . . . . . . . . 324

8 Nhìn về tương lai 325


8.1 Tương lai của học máy . . . . . . . . . . . . . . . . . . . . . . 327
8.2 Tương lai của khả diễn giải . . . . . . . . . . . . . . . . . . . 329

9 Đóng góp cho cuốn sách này 333

10 Trích dẫn 334

11 Các bản dịch 335

Lời cảm ơn 336

Bảng thuật ngữ 337


Lời nói đầu
Machine learning (hay học máy) đã đạt được những thành tựu đáng kinh
ngạc trong những năm vừa qua.
Tuy máy tính có thể giúp con người thực hiện những tác vụ từ đơn giản
tới phức tạp, tôi và bạn, những người đang học và làm việc với machine
learning hầu như chỉ quan tâm tới kết quả hay dự đoán (prediction) của mô
hình mà không chú ý tới quan hệ nhân quả (causality) trong học máy. Tại
sao khi bạn đưa một bức ảnh của một chú mèo vào một mô hình A, giá trị
trả về lại là “cat” mà không phải là con vật khác? Có thể máy tính nhận
diện được đôi tai hay con mắt, hay nó chỉ quan tâm tới hình dạng của vật
thể? Chúng tôi tin rằng, chỉ khi ta thực sự hiểu được mô hìn một cách cặn
kẽ, ta mới có thể thực sự làm chủ trí tuệ nhân tạo (Artificial Intelligence -
AI). Cuốn sách này được viết ra để giúp ta hiểu và giải thích cách thức hoạt
động của các mô hình học máy.
Sau khi thống nhất định nghĩa về tính khả diễn giải hay khả giải thích (in-
terpretability), ta sẽ đi vào tìm hiểu các mô hình khả diễn giải (interpretable
models) như cây quyết định (decision trees), luật quyết định (decision rules),
và hồi quy tuyến tính (linear regression). Tiếp theo đó ta tìm hiểu các phương
pháp để giải thích các kết quả trả về của các mô hình có dạng hộp đen (black-
box) trong học máy.
Cuốn sách này được dịch nhằm mục đích giúp các bạn đang học, làm việc,
hoặc có sở thích tìm hiểu về học máy có cái nhìn tổng quan về một nhánh
rất thú vị của học máy cũng như nắm bắt sơ bộ về cách thức hoạt động của
các mô hình học máy hiện hành.
Một động lực rất lớn khi dịch cuốn cách này của chúng tôi đó là cộng
đồng học Machine Learning ở Việt Nam đang chủ yếu chỉ tập trung vào Deep
Learning (học sâu) mà bỏ qua những nhánh rất hay của Machine Learning,
có thể kể ra như Continual Learning (học liên tục), Efficient Deep Learning

10
(học sâu hiệu quả), Deep Generative Models (mô hình sinh sâu), hay Rein-
forcement Learning (học củng cố)... Theo chúng tôi thấy, Deep Learning thực
sự rất phù hợp với những bạn mới tiếp xúc với Machine Learning hoặc có
mục đích đi làm. Nhưng với những bạn muốn đi học lên cao hoặc đi theo con
đường nghiên cứu, việc đào sâu và tìm hiểu các mảng khác sẽ giúp các bạn
có được khả năng viết những công trình khoa học và mở rộng tầm nhìn tới
con đường khám phá tri thức khoa học phía trước. Với bản dịch này, chúng
tôi hi vọng có thể đóng góp một phần nhỏ bé giúp cộng đồng học Machine
Learning ở Việt Nam lớn mạnh hơn bằng cách giới thiệu một hướng đi mới:
học máy khả diễn giải (Interpretable Machine Learning).
Mọi tài liệu liên quan đến bản dịch này được lưu trữ qua Github ở đây.
Phản hồi và ý kiến đóng góp xin gửi về hòm thư nguyengiangbkhn@gmail.com.
Chương 1

Giới thiệu
Cuốn sách này giúp giải thích cách hoạt động của các mô hình học máy
được huấn luyện theo phương pháp học có giám sát (supervised learning).
Mặc dù cuốn sách có bao gồm nhiều công thức toán học, nhưng tôi tin rằng
việc hiểu được ý tưởng chung đằng sau các phương pháp sẽ giúp bạn dễ
dàng tiếp cận cuốn sách này hơn là quá quan tâm chi tiết đến các công thức
đó. Một lưu ý nữa cuốn sách này không dành cho các bạn mới học Machine
Learning hoặc chưa có kinh nghiệm làm việc thực tế với Machine Learning,
vì thế ta có thể coi cuốn sách này như là Machine Learning nâng cao. Từ đó,
nếu thấy cần thiết, hãy bắt đầu với những khóa học trực tuyến giới thiệu về
Machine Learning của Andrew Ng hoặc tìm đọc cuốn Machine Learning cơ
bản (Vũ Hữu Tiệp).
Ngày càng nhiều phương pháp mới được tìm ra nhằm giải thích tính
nhân quả của các mô hình Machine Learning. Do vậy, việc bao hàm tất cả
các phương pháp trong một cuốn sách là không thể, tuy nhiên ta sẽ tìm hiểu
những kiến thức cơ bản nhất về học máy khả diễn giải và các phương pháp
nổi tiếng trong tài liệu này.
Cuốn sách bắt đầu bằng định nghĩa về tính khả diễn giải (interpretability),
ta sẽ cùng thảo luận tại sao ta cần quan tâm đến tính khả diễn giải trong
Machine Learning. Hầu hết các mô hình và phương pháp trong cuốn sách
này sử dụng các dữ liệu trong chương 3. Để giải thích một mô hình, cách đơn
giản nhất là bản thân chính mô hình đó là khả diễn giải, ví dụ như những
dạng mô hình đơn giản như hồi quy tuyến tính hay cây quyết định. Bên cạnh
đó, một cách tiếp cận khác là ta sử dụng những công cụ phân tích kiểu mẫu
(model-agnostic interpretation tools), nghĩa là công cụ của chúng ta có thể

12
được áp dụng trên bất kì mô hình Machine Learning nào để phân tích tính
nhân quả. Ví dụ như một công cụ có thể vừa giải thích được cây quyết định,
mạng neuron, hay hồi quy tuyến tính. Cuối cuốn sách, ta sẽ nhìn lại và cùng
nhau dự đoán tương lai của học máy khả diễn giải.

1.1 Những câu chuyện dẫn dắt


Chương này không được dịch để giữ nguyên bản tính hài hước và sự dẫn
dắt của tác giả Christoph Molnar, các bạn có thể tìm đọc ở đây.

1.2 Machine learning là gì?


Machine learning (hay học máy) là một tập hợp các phương pháp mà máy
tính dùng để tạo ra và cải thiện các dự đoán (prediction) dựa trên dữ liệu.
Ví dụ, khi ta dự đoán giá của một căn nhà, máy tính sẽ học các đặc tính
(patterns) của các căn nhà đã được bán thành công trước đó trước khi dự
đoán giá cho một ngôi nhà bất kỳ.
Tài liệu này tập trung vào học máy có giám sát (supervised Machine
Learning), là khi ta đã có dữ liệu đầu vào (các thông tin về ngôi nhà như
diện tích, vị trí, ...) và các kết quả mong muốn cho trước (giá bán), việc huấn
luyện (training) mô hình sẽ giúp ta có thể dự đoán giá của các ngôi nhà trong
tương lai. Mục đích cuối của việc học có giám sát là ta có thể ánh xạ (map)
một đầu vào với các đặc tính (diện tích ngôi nhà, vị trí, vân vân) tới một đầu
ra (giá bán). Nếu đầu ra của ta là các là dữ liệu kiểu hạng mục (categorical
data), bài toán (task) sẽ là phân loại (classification), ví dụ như 1 bài toán
phân loại chó, mèo, người từ một tập ảnh đầu vào. Nếu giá trị đầu ra là các
giá trị số, bài toán được đưa về hồi quy, ví dụ như dự đoán giá nhà, giá cổ
phiếu, ... Các mô hình Machine Learning học bằng việc ước lượng và thay đổi
các trọng số (weights) trong mạng neuron hoặc kiến trúc (structures) trong
các mô hình dạng cây (trees). Việc cập nhật các mô hình này tương ứng với
việc tối ưu hóa (minize) một hàm mục tiêu (objective function) được định
nghĩa từ ban đầu. Trong ví dụ dự đoán giá nhà, hàm mục tiêu là chênh lệch
giữa giá nhà thực tế và giá trị mà mô hình trả về. Sau quá trình huấn luyện,
mô hình được dùng để dự đoán giá của các căn nhà trong tương lai.
Dự đoán giá nhà, gợi ý sản phẩm, phát hiện biển báo, hay chấm điểm
tín dụng đều có thể được giải quyết bằng Machine Learning. Mặc dù các bài
toán là khác nhau, nhưng hướng tiếp cận chung sau đây sẽ được áp dụng:

1. Thu thập dữ liệu nhiều nhất có thể.


2. Huấn luyện mô hình với dữ liệu thu được.
3. Sử dụng mô hình đã được huấn luyện trên dữ liệu mới.

Trong những tác vụ như chơi cờ (Go Chess) hay dự báo thời tiết, Machine
Learning đang và đã thể hiện sự vượt trội so với con người. Thêm vào đó,
Machine Learning còn có thể thực hiện công việc một cách nhanh chóng và
được triển khai rộng rãi. Một ví dụ rõ ràng đó là các camera giám sát thông
minh (intelligent surveillance camera) ở Trung Quốc đều có tích hợp công
nghệ trí tuệ nhân tạo để có thể giám sát người dân. Trong khi đó, việc đào
tạo cho con người thực hiện thuần thục một công việc cụ thể có thể mất vài
tuần, thậm chí là vài năm.
Tuy nhiên, một vấn đề lớn của việc sử dụng Machine Learning đó là ta
không thể hiểu được các mô hình học từ dữ liệu như thế nào. Việc xây dựng
một hàm ánh xạ giữa đầu vào và đầu ra của một mô hình được thực hiện
trong quá trình huấn luyện, đầu ra cuối cùng có sự đóng góp của tất cả các
phần tử trong mạng. Do đó, việc diễn giải cơ chế hoạt động của một mô hình
bằng công thức toán học gần như là điều không thể trong hầu hết các trường
hợp.
Hiện nay, các mô hình giành chiến thắng trong các cuộc thi thường là các
mô hình hợp (ensemble models), dẫn đến việc cấu trúc của chúng trở nên
cực kỳ phức tạp. Thậm chí nếu từng mô hình con trong mô hình hợp là khả
diễn giải, việc giải thích vẫn sẽ rất khó khăn.
1.3 Thuật ngữ
Để tránh nhầm lẫn trong quá trình học cuốn sách này, một số thuật ngữ
cơ bản sẽ được định nghĩa như sau.

Thuật toán là một tập các quy tắc mà máy tính tuân theo để đạt được
một mục tiêu nhất định. Một thuật toán có thể được định nghĩa bởi đầu vào,
đầu ra và các bước cần thiết để biến đổi đầu vào thành đầu ra.

Machine Learning hay học máy là một tập hợp các phương pháp cho
phép máy tính học từ dữ liệu cho trước để tạo ra dự đoán sau này (ví dụ như
dự đoán bệnh ung thư, giá bán hàng, giá cổ phiếu, ...). Học máy có thể được
coi là một sự chuyển đổi của công việc lập trình khi mà thay vì con người
phải chỉ rõ các lệnh cần thực hiện cho máy tính thì ta sẽ để máy tính tự học
từ dữ liệu.

Hình 1.1: Ta cung cấp dữ liệu để máy tính học hỏi.

Một bộ học (learner) hay một thuật toán Machine Learning là chương
trình được dùng để học một mô hình từ dữ liệu.

Mô hình Machine Learning là một chương trình máy tính thực thi tác
vụ ánh xạ dữ liệu đầu vào và đầu ra. Mô hình này có thể là một tập hợp của
các trọng số của mô hình tuyến tính hay một mạng neuron. Ngoài ra, trong
tùy từng nhiệm vụ cụ thể, một mô hình còn có thể được gọi như một bộ dự
đoán (predictor), bộ phân loại (classifier), hay mô hình hồi quy (regression
model). Trong các công thức tính toán, một mô hình học máy sẽ được kí hiệu
là fˆ hoặc fˆpxq.

Hình 1.2: Một bộ học xây dựng mô hình từ các dữ liệu huấn luyện được gắn
nhãn. Mô hình sau đó sẽ được sử dụng trong việc dự đoán.

Mô hình hộp đen (Black box model) là một hệ thống mà ta không


thể biết được cơ chế hoạt động khi quan sát từ bên ngoài. Hộp đen trong
Machine Learning có thể được hiểu là các mô hình bao gồm các trọng số mà
với việc phân tích các trọng số này ta không thể hiểu được cơ chế làm việc
của chúng. Trái lại, ta có mô hình hộp trắng (White box model), ám chỉ các
mô hình khả diễn giải.

Hình 1.3: Máy tính không thể giải thích dự đoán của chúng.

Học máy khả diễn giải là lĩnh vực liên quan tới các mô hình khả diễn
giải và phương pháp nhằm giải thích cơ chế hoạt động các mô hình Machine
Learning cho người dùng.
Tập dữ liệu là một bảng dữ liệu mà từ đó máy móc có thể học được. Tập
dữ liệu bao gồm các đặc trưng và mục tiêu cho việc dự đoán. Khi sử dụng để
tạo ra một mô hình, tập dữ liệu được gọi là dữ liệu huấn luyện.

Thể hiện hay một điểm dữ liệu hay một quan sát là một hàng trong tập
dữ liệu. Một thể hiện bao gồm các đặc trưng xpiq và đầu ra mong muốn (nếu
có ) yi .

Đặc trưng là các đầu vào sử dụng cho việc dự đoán hoặc phân loại. Một
đặc trưng là một cột trong tập dữ liệu. Trong tài liệu này, các đặc trưng được
giả thiết là khả diễn giải, nghĩa là bản thân chúng đơn giản và dễ hiểu, ví dụ
như nhiệt độ trong ngày hay chiều cao của một người. Sự khả diễn giải của
các đặc trưng là một giả thiết quan trọng, vì nếu đặc trưng khó hiểu, việc
hiểu mô hình được xây dựng từ đặc trưng đó sẽ thậm chí còn khó khăn hơn.
Ma trận của tất cả các đặc trưng được gọi là X và xpiq đại diện cho một điểm
dữ liệu. Vector của một đặc trưng cho tất cả các điểm dữ liệu là xj và giá trị
piq
đặc trưng thứ j của thể hiện thứ i là xj .

Mục tiêu là thông tin mà mô hình muốn dự đoán. Trong các công thức
toán học, mục tiêu được ký hiệu là y hoặc yi cho thể hiện thứ i.

Một bài toán học máy là tổ hợp của một tập dữ liệu với các đặc trưng
và mục tiêu. Tùy thuộc vào kiểu mục tiêu, bài toán có thể là phân loại, hồi
quy, phân tích, gộp nhóm, hoặc phát hiện ngoại lai.

Dự đoán là giá trị đầu ra mà mô hình học máy “đoán” dựa trên các đặc
trưng được cho. Trong cuốn sách này, dự đoán của mô hình được ký hiệu là
fˆpxpiq q hoặc ŷ.
Chương 2

Tính khả diễn giải


Tính khả diễn giải không được định nghĩa bởi một đại lượng hay công
thức toán học. Một định nghĩa chung nhất đó là “khả diễn giải là khi con
người có thể hiểu được nguyên nhân của một kết quả” . Một định nghĩa khác
đó là “Khả diễn giải là khi con người có thể dự đoán kết quả của một mô
hình dựa trên những hiểu biết về nó”. Khi một mô hình có tính khả diễn giải
càng cao, ta càng dễ dàng diễn giải một quyết định hay một dự đoán của nó.
Trong tài liệu này, khái niệm khả giải thích (explainability) và khả diễn giải
(interpretability) được sử dụng tương đương.

18
2.1 Tại sao ta cần tính khả diễn giải?
Nếu một mô hình thực hiện công việc một cách hiệu quả, tại sao ta phải
quan tâm tới những gì xảy ra bên trong nó? Một vấn đề rõ ràng đó là các bài
toán hiện nay được thực hiện trên máy tính và kiểm chứng bằng các thông
số nhất định. Ví dụ như trong bài toán phân loại thì độ chính xác sẽ là thước
đo. Tuy nhiên, các thước đo này thường không thỏa mãn được các bài toán
trong thực tế khi mà môi trường và dữ liệu có thể thay đổi và khác với dữ
liệu trong quá trình huấn luyện.
Ta hãy cùng tìm hiểu sâu hơn về lý do tại sao tính khả diễn giải lại quan
trọng như vậy. Khi nói đến việc dự đoán của mô hình học máy, có một sự
đánh đổi (trade-off): Ta chỉ muốn biết những gì được dự đoán? Ví dụ, xác
suất mà khách hàng sẽ bỏ đi hoặc mức độ hiệu quả của một số loại thuốc
đối với bệnh nhân. Hay ta muốn biết tại sao dự đoán được đưa ra. Mức độ
khả diễn giải mà ta có tỉ lệ nghịch với hiệu năng của mô hình? Trong một số
trường hợp, ta không quan tâm tới nguyên nhận của một dự đoán, mà chỉ
cần hiệu suất dự đoán trên tập dữ liệu kiểm tra (test dataset) là tốt. Nhưng
trong các trường hợp khác, việc biết “tại sao” giúp ta đào sâu vào bài toán,
dữ liệu, và lý do tại sao một mô hình không hoạt động như mong muốn. Một
số mô hình có thể không yêu cầu tính khả diễn giải vì chúng được sử dụng
trong môi trường rủi ro thấp, có nghĩa là một sai lầm sẽ không gây ra hậu
quả nghiêm trọng, (ví dụ: hệ thống nhận xét/ đánh giá phim) hoặc những
phương pháp đã được nghiên cứu và đánh giá rộng rãi (ví dụ: nhận dạng ký
tự quang học). Nhu cầu về tính khả diễn giải nảy sinh do sự thiếu hoàn thiện
trong quá trình chuẩn hóa vấn đề (Doshi-Velez và Kim 2017), nghĩa là đối
với một số vấn đề hoặc công việc nhất định thì việc dự đoán (cái gì) là vẫn
chưa đủ. Mô hình cũng phải giải thích cách đưa ra dự đoán (lý do tại sao),
bởi vì một dự đoán đúng chỉ giải quyết một phần vấn đề gốc rễ. Những lý
do sau đây dẫn dắt ta đến sự cần thiết của tính khả diễn giải (Doshi-Velez
và Kim 2017 và Miller 2017).

Sự tò mò và học hỏi Con người có bản năng tự cập nhật kiến thức khi
có một sự kiện mới xảy ra xung quanh. Việc cập nhật kiến thức được thực
hiện khi ta hiểu được câu trả lời tại sao cho các vấn đề đó. Giả dụ, khi một
người cảm thấy mệt mỏi, anh ta sẽ tự hỏi “Tại sao mình bị ốm nhỉ?”. Anh ta
sẽ nhớ lại việc mình làm mới đây. Anh ta nhận thấy rằng anh ta bị ốm mỗi
khi ăn những quả dâu đỏ. Anh ta cập nhật nhận thức của mình và quyết
định rằng dâu đỏ sẽ gây bệnh và tránh xa chúng.
Khi các mô hình học máy được sử dụng trong nghiên cứu, các phát hiện
khoa học vẫn hoàn toàn bị che giấu nếu mô hình chỉ đưa ra dự đoán mà
không có giải thích. Để tạo điều kiện cho việc học tập và thỏa mãn sự tò mò
về lý do tại sao các dự đoán hoặc hành vi nhất định được tạo ra bởi máy
móc, tính khả diễn giải và giải thích là rất quan trọng. Tất nhiên, con người
không cần giải thích cho mọi thứ xảy ra. Việc hầu hết mọi người không hiểu
cách hoạt động của máy tính là điều hoàn toàn bình thường. Tuy nhiên, các
sự kiện bất ngờ khiến ta tò mò. Ví dụ: Tại sao máy tính của tôi tắt đột ngột?
Liên quan chặt chẽ đến học tập là mong muốn đi tìm ý nghĩa của sự vật
sự việc. ta muốn hài hòa những mâu thuẫn hoặc sự thiếu nhất quán giữa các
yếu tố trong vốn kiến thức của ta. “Tại sao con chó của tôi lại cắn tôi mặc dù
nó chưa bao giờ làm như vậy trước đây”? Có một sự mâu thuẫn giữa hành
vi trước đây của con chó và hành vi cắn người mới đây . giải thích của bác
sĩ thú y gỡ bỏ mâu thuẫn của chủ nhân con chó: “Con chó đã bị căng thẳng
nên mới cắn”. Quyết định của máy móc càng ảnh hưởng đến cuộc sống của
con người, thì chúng càng cần giải thích hành vi. Nếu một mô hình học máy
từ chối đơn xin vay, điều này có thể hoàn toàn bất ngờ đối với những người
nộp đơn. Họ chỉ có thể dung hòa sự mâu thuẫn này giữa kỳ vọng và thực
tế bằng một số cách giải thích. Giải thích không thực sự phải trình bày đầy
đủ về tình hình, nhưng nên chỉ ra nguyên nhân chính. Một ví dụ khác là bài
toán đề xuất sản phẩm. Cá nhân tôi luôn nghĩ về lý do tại sao một số sản
phẩm hoặc bộ phim nhất định được giới thiệu theo thuật toán cho tôi. Thông
thường sẽ khá rõ ràng: Quảng cáo theo dõi tôi trên Internet bởi vì tôi mới
mua một chiếc máy giặt, và tôi biết rằng trong những ngày tới tôi sẽ bị theo
dõi bởi những quảng cáo về máy giặt. Đúng vậy, ta nên đề xuất găng tay
nếu tôi đã có mũ mùa đông trong giỏ hàng của mình. Với thuật toán đề xuất
phim, vì những người dùng đã thích các bộ phim khác mà tôi cũng thích nên
bộ phim mà họ thích mới đây được đề xuất cho tôi. Càng ngày, các công ty
Internet càng hoàn thiện việc giải thích cho các đề xuất của họ. Một ví dụ
điển hình là các đề xuất về sản phẩm, dựa trên các kết hợp sản phẩm được
mua thường xuyên:
Trong nhiều ngành khoa học, có sự thay đổi từ phương pháp định tính
Hình 2.1: Các sản phẩm được đề xuất vì thường xuyên được mua cùng nhau.

sang định lượng (ví dụ: xã hội học, tâm lý học) và cả xu hướng áp dụng học
máy (sinh học, di truyền học). Mục tiêu của khoa học là thu thập kiến
thức, nhưng nhiều vấn đề được giải quyết bằng dữ liệu lớn và mô hình học
máy hộp đen. Bản thân mô hình trở thành nguồn kiến thức thay vì dữ liệu.
Khả năng diễn giải giúp ta có thể trích xuất kiến thức mà mô hình đã học.
Các mô hình học máy đảm nhận các nhiệm vụ trong thế giới thực yêu
cầu tính an toàn và đã được kiểm nghiệm. Hãy tưởng tượng một chiếc xe
tự lái tự động phát hiện người đi xe đạp dựa trên hệ thống học sâu. Ta muốn
chắc chắn 100% rằng các kiến thức trừu tượng mà hệ thống đã học không có
vấn đề, bởi vì việc cán lên người đi xe đạp là không thể chấp nhận. Khi tai
nạn xảy ra, giải thích có thể cho rằng đặc điểm đã học quan trọng nhất cho
việc nhận dạng xe đạp là phát hiện được hai bánh của xe đạp và giải thích
này giúp ta suy nghĩ về các trường hợp hy hữu như xe đạp có túi bên nên đã
che một phần bánh xe.
Mặc định, các mô hình học máy thừa hưởng sai lệch (biases) từ dữ liệu
huấn luyện. Điều này có thể biến các mô hình học máy của ta trở nên phân
biệt chủng tộc, phân biệt đối xử với các nhóm thiểu số. Khả năng diễn giải
là một công cụ gỡ lỗi hữu ích để phát hiện thiên vị trong các mô hình học
máy. Có thể xảy ra trường hợp mô hình học máy mà ta đã huấn luyện để
phê duyệt tự động hoặc từ chối các đơn đăng ký tín dụng phân biệt đối xử
với một nhóm thiểu số đã bị tước quyền vay trong quá khứ. Mục tiêu chính
của ta là chỉ cấp khoản vay cho những người có khả năng trả nợ. Sự thiếu
toàn vẹn của việc thiết lập vấn đề trong trường hợp này nằm ở chỗ ta không
chỉ muốn giảm thiểu các khoản nợ xấu, mà còn muốn không phân biệt đối
xử. Đây là một ràng buộc bổ sung nằm trong quy trình xác lập vấn đề của
ta (cấp các khoản vay với rủi ro thấp và hợp lệ), nhưng nó không nằm trong
hàm mất mát (loss function) mà mô hình học máy đã được tối ưu hóa.
Việc đưa máy móc và thuật toán vào trong cuộc sống đòi hỏi tính khả
diễn giải để được xã hội chấp nhận. Con người gán niềm tin, ước muốn,
ý định, v.v. cho các đối tượng. Robot là một ví dụ điển hình, như máy hút
bụi của tôi, mà tôi đặt tên là “Doge”. Nếu Doge bị mắc kẹt, tôi nghĩ: “Doge
muốn tiếp tục dọn dẹp, nhưng muốn nhờ tôi giúp đỡ vì nó bị kẹt”. Sau đó,
khi Doge hoàn thành việc dọn dẹp và tìm kiếm tầng hầm để sạc pin, tôi nghĩ:
“Doge muốn nạp năng lượng và có ý định tìm tầng hầm”. Tôi cũng gán cho
đặc điểm tính cách: “Doge hơi ngốc, nhưng theo một cách dễ thương”. Đây là
những suy nghĩ của tôi, đặc biệt là khi tôi phát hiện ra rằng Doge đã xô ngã
một cái cây khi đang hút bụi nhà. Tôi sẽ dễ thông cảm cho Doge hơn. Một
cỗ máy máy hoặc thuật toán mà giải thích các dự đoán của chúng sẽ được
nhiều người chấp nhận hơn.
Giải thích được sử dụng để quản lý các tương tác xã hội. Bằng cách tạo
ra một ý nghĩa chung, người giải thích ảnh hưởng đến hành động, cảm xúc
và niềm tin của người nhận giải thích. Máy móc có thể cần phải định hình
cảm xúc và niềm tin của ta để tương tác với ta. Máy móc phải “thuyết phục”
ta, để chúng đạt được mục tiêu đã định. Tôi sẽ không hoàn toàn chấp nhận
máy hút bụi của mình nếu nó không giải thích được hành vi của nó ở một
mức độ nào đó. Máy hút bụi tạo ra giải thích nhằm tìm kiếm sự cảm thông,
chẳng hạn như một “tai nạn” (như bị kẹt trên thảm nhà tắm ... một lần nữa)
bằng cách giải thích rằng nó bị kẹt thay vì chỉ dừng lại làm việc mà không
có giải thích. Điều thú vị là có thể có sự sai lệch giữa mục tiêu của cỗ máy
(tạo niềm tin) và mục tiêu của người nhận (hiểu được dự đoán hoặc hành
vi). Có lẽ giải thích đầy đủ cho lý do tại sao Doge bị mắc kẹt có thể là do
pin rất yếu, một trong các bánh xe không hoạt động bình thường và có một
lỗi lập trình khiến robot lặp đi lặp lại cùng một chỗ mặc dù gặp chướng ngại
vật. Những lý do này (và một số lý do khác nữa) khiến robot gặp khó khăn,
nhưng nó chỉ cần giải thích rằng có điều gì đó đang cản trở, điều đó đủ để
tôi tin tưởng vào hành vi của nó và hiểu được ý nghĩa chung của sự vụ.
Các mô hình học máy chỉ có thể được gỡ lỗi (debugged) và kiểm soát
(audited) khi chúng khả diễn giải. Thậm chí trong các môi trường rủi ro
thấp, như mô hình đề xuất sản phẩm, tính khả diễn giải trở nên rất có giá
trị cả trong và sau quá trình triển khai mô hình. Khi mô hình được sử dụng
Hình 2.2: Doge, máy hút bụi của tôi, bị kẹt. Để giải thích cho sự cố, Doge
nói với tôi rằng nó cần phải ở trên bề mặt phẳng.

sau đó trong thực tế, các vấn đề có thể phát sinh. Tính khả diễn giải giúp ta
hiểu được nguyên nhân của vấn đề, và từ đó, ta có giải pháp để bảo trì và
sửa lỗi hệ thống. Một ví dụ khác như bộ phân loại chó husky và chó sói, nếu
bộ phân loại này phân biệt nhầm một vài bức ảnh chó husky thành chó sói,
bằng cách sử dụng các phương pháp học máy khả diễn giải, ta có thể nhận
ra nguyên nhân của việc phân loại sai đến từ việc các bức ảnh đó có chứa
tuyết (snow). Bộ phân loại, trong quá trình học tập, sử dụng tuyết như là
một đặc trưng (feature) để phân loại một bức ảnh là chó sói. Việc này có thể
có ý nghĩa về mặt phân biệt husky và chó sói trong tập dữ liệu huấn luyện,
nhưng trong thực tế, đặc trưng này sẽ không có hiệu quả.
Khi một mô hình học máy có thể giải thích quyết định của nó, ta có thể
kiểm tra những tiêu chí sau một cách dễ dàng (Doshi-Velez and Kim 2017):

1. Tính công bằng (Fairness): Đảm bảo rằng dự đoán không bị ảnh hưởng
bởi sai lệch (bias) và có tình trạng “phân biệt đối xử” với các nhóm dữ
liệu đặc biệt.
2. Tính riêng tư (Privacy): Đảm bảo rằng những thông tin nhạy cảm được
bảo vệ.
3. Tính đáp ứng nhanh (Robustness): Đảm bảo rằng những thay đổi nhỏ ở
đầu vào không ảnh hưởng lớn tới kết quả đầu ra.
4. Tính nhân quả (Causality): Đảm bảo rằng chỉ những mối quan hệ có tính
nhân quả được sử dụng.
5. Tính tin cậy (Trust): Đảm bảo mô hình đáng tin cậy hơn mô hình hộp
đen.

Khi nào ta không cần tính khả diễn giải? Trong một số trường hợp,
ta sẽ không cần hoặc thậm chí không muốn tính khả diễn giải của các mô
hình học máy.
Khả diễn giải thực sự không cần thiết nếu mô hình khi hoạt động không
có tác động đáng kể lên đời sống. Tưởng tượng rằng có 1 người tên Mike
xây dựng một mô hình học máy để dự đoán bạn của anh ta sẽ đi đâu trong
kì nghỉ tới dựa trên dữ liệu có sẵn của người bạn đó trên Facebook. Nếu mô
hình dự đoán sai hoặc Mike không thể giải thích đầu ra của mô hình của
mình, vấn đề sẽ chẳng có gì nghiêm trọng. Ta hoàn toàn ổn nếu không có
tính khả diễn giải trong trường hợp này. Tuy nhiên, vấn đề sẽ thực sự nảy
sinh nếu Mike muốn kinh doanh dựa trên mô hình này. Nếu mô hình hoạt
động sai, công ty có thể bị thua lỗ hoặc mô hình có thể làm việc kém hiệu
quả do sai lệch. Do đó, nếu mô hình có những tác động đáng kể tới tài chính
hoặc xã hội, tính khả diễn giải trở nên cực kỳ quan trọng.
Khả diễn giải không cần thiết khi vấn đề đã được tìm hiểu và phân
tích một cách kỹ lưỡng. Một số ứng dụng đã được nghiên cứu rộng rãi
và tỉ mỉ để đưa vào thực tế ví dụ như nhận diện ký tự quang - OCR, xử lý
hình ảnh từ phong bì và trích xuất địa chỉ. Các hệ thống này đã được nghiên
cứu một cách kỹ lưỡng và các kết quả thực tế chứng minh tính hiệu quả của
chúng. Ở đây, việc hiểu sâu hơn về vấn đề này đôi khi là không cần thiết.
Khả diễn giải có thể cho phép người dùng hoặc các chương trình làm
chủ các hệ thống khi người dùng đánh lừa hệ thống bằng cách khai khác
các lỗ hổng đến từ sự thiếu nhất quán giữa mục tiêu của người tạo ra và
người sử dụng mô hình. Tính điểm tín dụng là một hệ thống như vậy bởi
vì các ngân hàng muốn đảm bảo rằng các khoản vay chỉ được cung cấp cho
những người nộp đơn có khả năng trả lại chúng, nhưng những người nộp đơn
có mục tiêu nhận được khoản vay ngay cả khi ngân hàng không muốn. Sự
thiếu nhất quán này tạo ra lỗ hổng để các ứng viên khai thác nhằm tăng
cơ hội để đơn vay của họ được chấp nhận. Khi một ứng viên bị từ chối vay,
nếu biết việc có nhiều hơn 2 thẻ tín dụng ảnh hưởng tiêu cực đến điểm tín
dụng, anh ta có thể hoàn trả lại thẻ thứ ba để cải thiện điểm và làm lại 1
thẻ mới sau khi gói vay được chấp nhận. Khi điểm tín dụng của ứng viên
này tăng lên, xác suất thực tế để anh ta hoàn trả gói vay là không đổi. Hệ
thống có thể bị lừa nếu dữ liệu vào ảnh hưởng tới các đặc trưng nhân quả
- (causual features) mà không có tác động đến kết quả cuối cùng (khả năng
hoàn trả khoản vay). Một ví dụ khác đó là Google phát triển một hệ thống
gọi là Google Flu Trends để dự báo các đợt bùng phát cúm. Hệ thống này
làm việc dựa các tìm kiếm trên Google liên quan tới bệnh cúm, tuy nhiên, hệ
thống này làm việc không tốt. Phân bố của các truy vấn (queries) thay đổi
khiến cho Google Flu Trends bỏ qua rất nhiều các đợt cúm bởi vì các “tìm
kiếm trên Google không gây ra bệnh cúm”. Khi người dùng tìm kiếm về các
triệu chứng như sốt, rất ít khi người đó thực sự bị cúm. Một cách lý tưởng,
các mô hình chỉ nên sử dụng các đặc trưng nhân quả (các đặc trưng thực sự
ảnh hưởng tới đầu ra mong muốn).
2.2 Phân loại các phương pháp diễn giải
Các phương pháp cho học máy khả diễn giải có thể phân loại theo nhiều
tiêu chí khác nhau.

Nội tại hay sau huấn luyện (Intrinsic or post-hoc)? Tiêu chí này
phân loại liệu ta đạt được tính khả diễn giải qua việc giảm đi độ phức tạp
của mô hình học máy nội tại hay qua áp dụng các phương pháp phân tích
mô hình sau khi huấn luyện. Khả năng diễn giải intrinsic hay nội tại đề cập
đến các mô hình học máy có tính khả diễn giải nhờ vào tính đơn giản của
cấu trúc, ví dụ như cây quyết định ngắn (short decision trees) hoặc mô hình
tuyến tính thưa (sparse linear models). Tính khả diễn giải sau huấn luyện
đề cập việc áp dụng các phương pháp diễn giải sau khi huấn luyện mô hình.
Ví dụ, sử dụng độ quan trọng của đặc trưng hoán vị (Permutation feature
importance - PFI) là một phương pháp giải thích sau huấn luyện. Các phương
pháp sau huấn luyện cũng có thể dùng trong các mô hình khả diễn giải nội
tại. Ví dụ, PFI có thể dùng cho cây quyết định.

Kết quả của phương pháp diễn giải Các phương pháp diễn giải có thể
phân loại dựa trên kết quả của chúng.

• Thống kê tổng quan đặc trưng (Feature summary statistic):


Nhiều phương pháp diễn giải cho ta các thống kê tổng quan cho mỗi đặc
trưng. Nhiều phương pháp trả về một giá trị duy nhất với mỗi đặc trưng,
ví dụ như độ quan trọng đặc trưng (feature importance), hay một kết
quả phức tạp hơn, ví dụ như độ mạnh tương quan đặc trưng (feature
interaction strength) bao gồm một số cho mỗi cặp đặc trưng.

• Trực quan hoá tổng quan đặc trưng (Feature summary visual-
ization): Đa số các thống kê tổng quan đặc trưng đều có thể được trực
quan hoá. Một số các đặc trưng tổng quan chỉ có ý nghĩa nếu chúng được
phác họa trực quan thay vì biểu diễn dưới dạng bảng. Một ví dụ đó là
tính phụ thuộc riêng (partial dependence). Phác hoạ phụ thuộc riêng là
các đường biểu diễn đặc trưng và trung bình dự đoán đầu ra. Cách tốt
nhất để biểu diễn phụ thuộc riêng đó là vẽ chúng thành các đường thay
vì đặt lên các trục tọa độ.
• Các nội bộ mô hình (Model internals) (ví dụ như các trọng số đã
được học): Tính khả diễn giải của các mô hình khả diễn giải mang tính
nội tại nằm trong phần này. Các ví dụ là các trọng số của mô hình tuyến
tính hoặc các cấu trúc cây đã được học (learned tree structures) (các đặc
trưng và mức ngưỡng được dùng để phân nhánh cây) của các cây quyết
định. Nội bộ mô hình và thống kê tổng quan đặc trưng khá giống nhau
trong một vài trường hợp; ví dụ: mô hình tuyến tính, vì trọng số vừa là
nội bộ của mô hình và vừa là thống kê tổng quan cho các đặc trưng. Một
phương pháp khác để tạo ra nội bộ mô hình là phác hoạ các bộ phát
hiện đặc trưng học được từ mạng nơ-ron tích chập (convolutional neural
network). Các phương pháp diễn giải mà tạo ra nội bộ mô hình làm việc
trên một số kiến trúc nhất định.

• Điểm dữ liệu (Data points): Mục này gồm tất cả các phương pháp
trả về các điểm dữ liệu (đã tồn tại hoặc mới được sinh ra) để làm cho mô
hình trở nên khả diễn giải. Một phương pháp trong số chúng được gọi
là giải thích phản chứng (counterfactual explanations). Để giải thích dự
đoán trên một mẫu dữ liệu (data instance), phương pháp này tìm một
điểm dữ liệu tương tự bằng cách thay đổi một số đặc trưng mà làm cho
kết quả dự đoán thay đổi (ví dụ: chuyển dự đoán từ 0 thành 1). Một ví
dụ khác là việc xác định các nguyên mẫu (prototypes) của các lớp (class).
Các phương pháp diễn giải mà trả về điểm dữ liệu mới phải đảm bảo
điểm dữ liệu này là khả diễn giải. Các phương pháp này được dùng cho
dữ liệu hình ảnh và văn bản, và ít hữu ích hơn cho dữ liệu dạng bảng vì
chúng có rất nhiều đặc trưng.

• Mô hình khả diễn giải nội tại (Intrinsically interpretable model):


Ta giải thích các mô hình hộp đen bằng cách xấp xỉ chúng (toàn cục hoặc
cục bộ) với một mô hình khả diễn giải nội tại (cây quyết định hoặc mô
hình tuyến tính). Chúng sau đó được diễn giải bằng cách xem xét các
tham số nội bộ mô hình hoặc thống kê tổng quan đặc trưng.

Mô hình cụ thể (specific) hay mô hình kiểu mẫu (agnostic)?


Phương pháp có thể áp dụng cho mọi loại mô hình học máy hay chỉ một
số loại nhất định? Với phương pháp theo kiểu mô hình cụ thể, ví dụ như việc
giải thích các trọng số hồi quy trong một mô hình tuyến tính là theo kiểu
mô hình cụ thể, vì theo định nghĩa các mô hình khả diễn giải nội tại bản
thân chúng đang tự giải thích chúng rồi. Một ví dụ khác là các công cụ giải
thích mạng nơ-ron. Các công cụ mẫu agnostic có thể dùng trên bất kỳ mô
hình học máy nào và được áp dụng sau khi mô hình đó đã được huấn luyện.
Các phương pháp agnostic hoạt động qua phân tích các cặp giá trị đầu vào
và đầu ra của đặc trưng. Theo định nghĩa, các phương pháp này không được
quyền truy cập vào nội bộ mô hình như trọng số hoặc cấu trúc mạng.

Cục bộ hay toàn cục? Phương pháp diễn giải một dự đoán riêng lẻ hay
toàn bộ hành vi của mô hình hay đâu đó ở giữa đầu vào và đầu ra? Hãy tìm
hiểu phạm vi của tính khả diễn giải trong phần tiếp theo.
2.3 Phạm vi của khả diễn giải
Một thuật toán tạo ra một mô hình đã được huấn luyện cho việc đưa ra
các dự đoán. Mỗi bước trong thuật toán này có thể được sử dụng để đánh
giá tính minh bạch hay khả diễn giải của mô hình.

2.3.1 Tính minh bạch của thuật toán


Cách thuật toán tạo ra mô hình?
Tính minh bạch của thuật toán là cách thuật toán học một mô hình từ
dữ liệu và và các quan hệ nhân quả. Nếu ta sử dụng các mạng thần kinh tích
chập để phân loại hình ảnh, ta có thể thấy rằng thuật toán học các bộ phát
hiện cạnh (edge detectors) và bộ lọc (filters) tại các tầng (layer) thấp nhất.
Đây chỉ là một trong các bước hoạt động của thuật toán. Tính minh bạch
của thuật toán chỉ phân tích thuật toán mà ko quan tâm tới dữ liệu hoặc
mô hình đã học. Tài này tập trung vào tính khả giễn giải thay vì sự minh
bạch của các thuật toán. Các thuật toán như phương pháp bình phương tối
thiểu (lease squares) cho các mô hình tuyến tính từ lâu đã được nghiên cứu
cặn kẽ. Chúng được biết tới bởi tính minh bạch cao. Phương pháp học sâu
(đưa gradient qua mạng với hàng triệu trọng số) vẫn chưa được nghiên cứu
rõ ràng và đang thu hút sự quan tâm lớn lao của giới khoa học và chúng được
coi là thiếu minh bạch, ít nhất cho tới thời điểm này.

2.3.2 Tính khả diễn giải toàn cục, toàn diện


Cách đưa ra dự đoán của một mô hình?
Ta có thể mô tả một mô hình theo cách hiểu của ta nếu ta có thể hiểu
toàn bộ mô hình (Lipton 2016). Để giải thích đầu ra một cách toàn cục, ta
cần huấn luyện mô hình, hiểu thuật toán và dữ liệu. Mức độ này của tính khả
diễn giải là về cách hiểu mô hình đưa ra các quyết định, dựa trên cái nhìn
toàn diện về các đặc trưng quan trọng của mô hình và từng thành phần đã
học như trọng số, các tham số (parameters) khác, các cấu trúc và loại tương
tác giữa các đặc trưng. Tính khả diễn giải toàn cục là rất khó để đạt được
trong thực tế. Bất kì mô hình nào có số lượng trọng số lớn đều không phù
hợp với bộ nhớ ngắn hạn của con người bình thường. Tôi tin rằng ta thực
sự không thể tưởng tượng ra một mô hình tuyến tính với 5 đặc trưng bởi
vì điều đó có nghĩa là tưởng tượng trong không gian 5 chiều. Bất kì không
gian đặc trưng nào có nhiều hơn 3 chiều thì đã quá giới hạn tưởng tượng của
con người rồi. Thông thường, khi ta cố gắng hiểu một mô hình, ta chỉ xem
xét các phần riêng lẻ của nó, chẳng hạn như các trọng số trong các mô hình
tuyến tính.

2.3.3 Tính khả diễn giải toàn cục ở cấp độ mô đun


Cách các thành phần của mô hình ảnh hưởng tới dự đoán?
Một mô hình Naive Bayes với hàng trăm đặc trưng sẽ là quá tải đối với
bộ nhớ của ta. Và ngay cả khi ta cố gắng nhớ tất cả các trọng số, ta cũng
sẽ không thể nhanh chóng đưa ra các dự đoán đối với các điểm dữ liệu mới.
Ngoài ra ta cần có phân phối chung của tất cả các đặc trưng trong đầu để
ước tính tầm quan trọng của mỗi đặc trưng và mức độ các đặc trưng ảnh
hưởng đến các dự đoán. Đây quả là một nhiệm vụ bất khả thi. Nhưng ta có
thể dễ dàng hiểu một trọng số đơn (single weight). Trong khi tính khả diễn
giải toàn cục thường nằm ngoài tầm với thì việc phân tích chúng ở cấp độ
mô đun không phải lựa chọn tồi . Không phải tất cả các mô hình đều có thể
giải thích được ở mức độ tham số hay mô đun. Đối với các mô hình tuyến
tính, những phần có thể giải thích là trọng số. Với cây, ta có thể xem xét
các nhánh (splits) và dự đoán trên nốt lá (leaf-node) . Các mô hình tuyến
tính thoạt nhìn ta có thể giải thích hoàn hảo ở cấp độ mô đun tuy nhiên việc
giải thích một trọng số đơn cần được đồng bộ với tất cả các trọng số khác.
Việc giải thích của một trọng số đơn luôn đi kèm với chú thích rằng các đặc
trưng đầu vào khác vẫn giữ nguyên giá trị, điều này không đúng với nhiều
ứng dụng thực tế. Một mô hình tuyến tính dự đoán giá trị của một ngôi nhà,
có tính đến cả kích thước của ngôi nhà và số lượng các phòng, có thể có một
trọng số âm cho đặc trưng số phòng!!! Điều này hoàn toàn có thể xảy ra bởi
vì đặc trưng diện tích có tương quan rất lớn với đặc trưng số phòng.. Trong
một thị trường mà mọi người thích những căn phòng lớn, một ngôi nhà có
ít phòng có thể có giá trị hơn một ngôi nhà có nhiều phòng nếu cả hai ngôi
nhà có cùng kích thước. Những trọng số chỉ có ý nghĩa trong ngữ cảnh tồn
tại các đặc trưng khác của mô hình. Dù vậy, những trọng số trong một mô
hình tuyến tính vẫn có tính khả diễn giải cao hơn so với trọng số trong mạng
nơ-ron sâu (deep neural networks).
2.3.4 Tính khả diễn giải cục bộ cho một dự đoán đơn
lẻ
Cách mô hình tạo ra một dự đoán nhất định cho một mẫu dữ liệu (in-
stance)?
Ta có thể xem xét với một mẫu dữ liệu và kiểm tra mô hình đưa ra dự
đoán gì với dữ liệu đầu vào này và giải thích tại sao cho dự đoán đó. Nếu ta
nhìn vào một dự đoán riêng lẻ, hành vi của mô hình phức tạp có thể được
đơn giản hóa. Một cách cục bộ, dự đoán có thể chỉ phụ thuộc tuyến tính
hoặc đơn điệu vào một số đặc trưng, thay vì phụ thuộc vào tất cả. Ví dụ,
giá trị của một ngôi nhà có thể phụ thuộc phi tuyến vào kích thước của nó.
Nhưng nếu ta chỉ nhìn vào một ngôi nhà 100 mét vuông cụ thể, có khả năng
đối với tập con dữ liệu có kích thước là 100 mét vuông, dự đoán mô hình của
ta phụ thuộc tuyến tính vào đặc trưng này. Ta có thể tìm ra điều này bằng
cách mô phỏng dự đoán khi ta tăng hoặc giảm 10 mét vuông kích thước. Việc
giải thích cục bộ có thể chính xác hơn việc giải thích toàn cục. Tài liệu này
trình bày các phương pháp làm cho các dự đoán riêng lẻ trở nên khả diễn
giải trong chương 5.

2.3.5 Tính khả diễn giải cục bộ cho một nhóm các dự
đoán
Tại sao các mẫu dữ liệu có các dự đoán khác nhau?
Các dự đoán trên một nhóm mẫu có thể được giải thích bằng các phương
pháp giải thích mô hình toàn cục (ở cấp độ mô đun) hoặc bằng các giải thích
trên từng mẫu riêng lẻ. Các phương pháp toàn cục có thể được áp dụng bằng
cách gom nhóm các trường hợp, xử lí chúng như thể nhóm là bộ dữ liệu hoàn
chỉnh và sử dụng các phương pháp toàn cục với tập con này. Các phương
pháp giải thích riêng lẻ có thể được sử dụng cho từng trường hợp và sau đó
liệt kê hoặc gộp cho toàn bộ nhóm.
2.4 Đánh giá tính khả diễn giải
Trong cộng đồng học máy hiện nay, chưa có sự thống nhất thực sự về định
nghĩa khả diễn giải là gì. Cũng không có 1 sự định lượng rõ ràng. Nhưng có
1 số nghiên cứu sơ khai và cố gắng hình thành vài hướng tiếp cận để đánh
giá độ khả diễn giải, những hướng tiếp cận này sẽ được mô tả chi tiết hơn ở
phần dưới.
Doshi-Velez and Kim (2017) đề xuất 3 tầng chính để đánh giá tính khả
diễn giải:

Đánh giá ở mức độ ứng dụng (Nhiệm vụ chính): đưa giải thích vào
môi trường thực tế và để người dùng kiểm tra, đánh giá giải thích đó. Hãy
tưởng tượng 1 ví dụ: Phần mềm phát hiện gãy xương có bao gồm 1 module
học máy để định vị và đánh dấu các mảnh xương bị vỡ trên phim X-ray. Ở
tầng ứng dụng, bác sĩ X quang sẽ sử dụng phần mềm phát hiện gãy xương
và trực tiếp đánh giá chất lượng của giải thích đến từ mô hình học máy. Việc
đánh giá này đòi hỏi việc cài đặt thí nghiệm phải tốt và bác sĩ có hiểu biết
sâu về bài toán phát hiện gãy xương. Để so sánh, ta có thể dùng giải thích
của con người, sau đó bác sĩ sẽ kiểm tra xem giải thích nào tốt hơn.

Đánh giá ở mức độ con người (Nhiệm vụ đơn giản): là một mức
độ đánh giá ứng dụng đơn giản. Sự khác biệt là thử nghiệm đánh giá không
yêu cầu kiến thức chuyên môn. Điều này giảm chi phí (đặc biệt là kiến thức
chuyên môn về X-quang) và dễ dàng để tìm người kiểm thử. Một ví dụ là
cho một người xem những giải thích khác nhau và để người đó lựa chọn giải
thích tốt nhất.

Đánh giá ở mức độ chức năng (Nhiệm vụ ủy quyền): không yêu cầu
con người. Phương pháp này hoạt động tốt nhất khi vấn đề đã được kiểm
nghiệm trước đó bởi con người. Ví dụ với cây quyết định, cây ngắn hơn sẽ có
tính khả diễn giải tốt hơn (khoa học đã chứng minh trước đó cây ngắn hơn
là khả diễn giải hơn).
Phần tiếp theo tập trung vào việc đánh giá giải thích cho các dự đoán
riêng lẻ ở cấp độ chức năng. Các thuộc tính của giải thích mà ta sẽ xem xét
để đánh giá chúng là gì?
2.5 Thuộc tính của giải thích
Ta muốn giải thích các dự đoán của một mô hình học máy. Để đạt được
điều này, ta dựa vào một số phương pháp, trong đó các thuật toán tạo ra
các giải thích. Một cách giải thích liên hệ giá trị đặc trưng của một
mẫu dữ liệu tới dự đoán theo cách con người có thể hiểu được. Các
cách giải thích khác bao gồm đưa ra một tập các mẫu dữ liệu (ví dụ phương
pháp knn). Ví dụ: ta có thể dự đoán nguy cơ ung thư bằng máy vectơ hỗ
trợ (SVM) và giải thích dự đoán bằng phương pháp đại diện cục bộ (local
surrogate), tạo ra các cây quyết định thay cho giải thích. Hoặc ta có thể sử
dụng mô hình hồi quy tuyến tính thay vì máy vectơ hỗ trợ (SVM) và mô
hình hồi quy tuyến tính đã có phương pháp giải thích (giải thích các trọng
số).
Ta hãy xem xét kỹ hơn các tính chất của các phương pháp giải thích và
giải thích (Robnik-Sikonja và Bohanec, 2018). Các tính chất này có thể được
sử dụng để đánh giá chất lượng của phương pháp giải thích hoặc của giải
thích. Tất nhiên ta không thể đo lường một cách hoàn hảo, do vậy khó nhất
là chuẩn hóa cách để đo lường chất lượng này.

Thuộc tính của các phương pháp giải thích:

• Sức biểu đạt là “ngôn ngữ” hay cấu trúc của các giải thích mà phương
pháp có thể tạo ra. Một phương pháp giải thích có thể tạo ra các quy tắc
IF-THEN, cây quyết định, tổng trọng số, ngôn ngữ tự nhiên hoặc bất kỳ
thứ gì.

• Độ minh bạch mô tả phương pháp giải thích dựa vào mô hình học máy
như thế nào, ví dụ như việc sử dụng các tham số của mô hình. Ví dụ, các
phương pháp giải thích dựa trên các mô hình khả diễn giải nội tại như
mô hình hồi quy tuyến tính có độ minh bạch rất cao. Các phương pháp
chỉ dựa vào đầu vào và đầu ra có độ minh bạch bằng 0. Tùy thuộc vào
từng vấn đề, ta có thể yêu cầu độ minh bạch khác nhau. Khi độ minh
bạch cao, phương pháp có thể dùng nhiều thông tin hơn để tạo ra các
giải thích. Khi độ minh bạch thấp, giải thích sẽ mô phạm và chung chung
hơn.

• Tính linh động mô tả phạm vi của các loại mô hình học máy mà phương
pháp giải thích có thể được áp dụng. Các phương pháp có độ minh bạch
thấp có tính linh động cao hơn vì chúng coi mô hình học máy như một
hộp đen. Các mô hình đại diện (surrogate models) có thể là phương pháp
giải thích với tính linh động cao nhất. Các phương pháp chỉ hoạt động
cho một loại mạng cụ thể (ví dụ: mạng nơ-ron hồi tiếp) có tính di động
thấp.

• Độ phức tạp thuật toán mô tả độ phức tạp tính toán của phương pháp
tạo ra giải thích.Tính chất này rất quan trọng bởi vì tính toán đang là
một vấn đề lớn trong việc tạo ra các giải thích với các phương pháp hiện
nay.

Thuộc tính của các giải thích đơn lẻ:

• Độ chính xác: Nếu sử dụng giải thích, chất lượng của dự đoán đầu ra
cho một mẫu dữ liệu mới là như thế nào? Đặc biệt nếu giải thích được
sử dụng thay vì mô hình học máy, độ chính xác của giải thích là cực kỳ
quan trọng. Tuy vậy, nếu mô hình học máy có độ chính xác thấp, ta cũng
không thể đòi hỏi giải thích mang lại độ chính xác cao, nếu mục đích chỉ
là để giải thích mô hình hộp đen. Trong trường hợp này, sự minh bạch
là quan trọng hơn cả.

• Độ trung thực: Giải thích có thể xấp xỉ dự đoán của mô hình hộp
đen như thế nào? Độ trung thực cao là một trong những tính chất quan
trọng nhất của giải thích, bởi vì giải thích với độ trung thực thấp là vô
ích trong việc giải thích mô hình học máy. Độ chính xác và độ trung thực
có liên quan chặt chẽ. Nếu mô hình hộp đen có độ chính xác cao và giải
thích có độ trung thực cao, thì giải thích cũng có độ chính xác cao. Một
số giải thích chỉ cung cấp độ trung thực cục bộ, nghĩa là giải thích chỉ
gần đúng với dự đoán mô hình cho một tập hợp con của dữ liệu (ví dụ:
mô hình đại diện cục bộ - local surrogate models) hoặc thậm chí chỉ cho
một mẫu dữ liệu riêng lẻ (ví dụ: Giá trị Shapley).

• Tính nhất quán: Các giải thích khác nhau như thế nào giữa các mô
hình đã được huấn luyện cho cùng một nhiệm vụ và tạo ra các dự đoán
tương tự nhau? Ví dụ, ta huấn luyện một máy vectơ hỗ trợ và mô hình
hồi quy tuyến tính trên cùng một nhiệm vụ và cả hai đều tạo ra các dự
đoán rất giống nhau. Ta tạo ra các giải thích bằng một phương pháp đã
chọn và phân tích sự khác biệt giữa các giải thích. Nếu các giải thích
giống nhau, chúng có sự nhất quán. Điều này khá khó xảy ra, vì hai mô
hình có thể sử dụng các đặc trưng khác nhau, nhưng có được các dự đoán
tương tự (còn được gọi là “Hiệu ứng Rashomon”). Trong trường hợp này,
ta không mong đợi tính nhất quán cao vì các giải thích là khác nhau.
Tính nhất quán cao chỉ xuất hiện khi các mô hình sử dụng các đặc trưng
giống nhau.

• Tính ổn định: Các giải thích tương đồng ra sao nếu các mẫu dữ liệu là
tương đồng? Trong khi tính nhất quán so sánh các giải thích giữa các mô
hình, độ ổn định so sánh các giải thích giữa các mẫu tương tự cho một mô
hình cố định. Độ ổn định cao có nghĩa là các thay đổi nhỏ trong các đặc
trưng của một thể hiện không làm thay đổi đáng kể giải thích (trừ khi các
thay đổi nhỏ này cũng thay đổi mạnh mẽ dự đoán). Một phương pháp
giải thích thiếu ổn định có thể do nó có phương sai lớn (high variance).
Nói cách khác, phương pháp giải thích bị ảnh hưởng mạnh mẽ bởi những
thay đổi nhỏ trong các giá trị đặc trưng của dữ liệu được giải thích. Sự
thiếu ổn định cũng có thể được gây ra bởi các thành phần bất định của
phương pháp giải thích, chẳng hạn như bước lấy mẫu dữ liệu, giống như
trong phương pháp đại diện cục bộ. Ta luôn mong muốn độ ổn định cao.

• Tính dễ hiểu: Con người hiểu những giải thích như thế nào? Tính chất
này trông có vẻ tầm thường nhưng kỳ thực lại là một vấn đề cực kỳ to
lớn. Ta rất khó xác định và đo lường tính chất này. Nhiều người đồng ý
rằng tính dễ hiểu phụ thuộc vào người dùng. Các ý tưởng để đo lường
mức độ dễ hiểu bao gồm đo kích thước của giải thích (số đặc trưng có
trọng số khác không trong mô hình tuyến tính, số luật quyết định, ...)
hoặc kiểm tra xem người dùng có thể dự đoán hành vi của mô hình học
máy bằng cách sử dụng giải thích hay không. Tính dễ hiểu của các đặc
trưng được sử dụng trong giải thích cũng cần được cân nhắc kĩ lưỡng.
Các biến đổi phức tạp của các đặc trưng cũng có thể làm giảm tính dễ
hiểu của chúng so với ban đầu.

• Sự chắc chắn: Giải thích có phản ánh sự chắc chắn của mô hình học
máy không? Nhiều mô hình học máy chỉ đưa ra dự đoán mà không đưa
ra thông tin về độ tin cậy. Nếu mô hình dự đoán xác suất ung thư là 4%
cho một bệnh nhân, và cũng 4% cho một bệnh nhân với các giá trị đặc
trưng khác, dự đoán nào là chắc chắn hơn? Giải thích bao hàm sự chắc
chắn của mô hình sẽ rất hữu ích.

• Mức độ quan trọng: Giải thích phản ánh tầm quan trọng của các đặc
trưng hoặc các phần của giải thích như thế nào? Ví dụ: nếu một luật
quyết định được tạo ra như giải thích cho một dự đoán riêng lẻ, thì điều
kiện nào của luật này là quan trọng nhất?

• Tính mới: Giải thích có phản ánh liệu một mẫu dữ liệu đến từ phân
phối khác với phân phối của dữ liệu huấn luyện hay không? Trong trường
hợp này, mô hình có thể hoạt động không chính xác và giải thích có thể
là vô nghĩa. Khái niệm về tính mới có liên quan đến khái niệm về sự chắc
chắn. Tính mới càng cao, càng có nhiều khả năng mô hình sẽ có độ chắc
chắn thấp do thiếu dữ liệu.

• Tính đại diện: Giải thích có thể phủ (cover) bao nhiêu mẫu dữ liệu?
Giải thích có thể bao trùm toàn bộ mô hình (ví dụ: giải thích các trọng
số trong mô hình hồi quy tuyến tính) hoặc chỉ đại diện cho một dự đoán
riêng lẻ (ví dụ: Giá trị Shapley).
2.6 Giải thích thân thiện với con người
Ta cùng đào sâu hơn và khám phá cách mà chúng coi một diễn giải là tốt
và ý nghĩa thực sự của học máy khả diễn giải. Các nghiên cứu bên ngành
nhân văn có thể giúp ta tìm ra câu trả lời. Miller (2017) đã tiến hành một
cuộc khảo sát có quy mô lớn trên các công bố khoa học về sự diễn giải, và
phần này được dựa trên tổng hợp của Miller.
Trong mục này, ta lưu ý một số điểm như sau: Với một diễn giải cho một
sự kiện, con người ưu tiên những diễn giải ngắn (chỉ một hoặc hai nguyên
nhân) tương phản với tình huống hiện tại. Đặc biệt những nguyên nhân bất
thường sẽ mang lại những giải thích tốt. Diễn giải là tương tác xã hội giữa
người giải thích với người được giải thích (người nhận giải thích) và do đó
bối cảnh xã hội có ảnh hưởng to lớn đến nội dung thực tế của diễn giải.
Khi ta cần giải thích sử dụng tất cả đặc trưng cho một dự đoán hay một
hành vi cụ thể, ta không cần giải thích thân thiện, mà chỉ cẩn nó mang tính
nhân quả tuyệt đối. Để có thể gỡ lỗi của mô hình, việc nắm bắt các thành
phần nhân quả là thực sự cần thiết.

2.6.1 Giải thích là gì?

Một lời diễn giải là câu trả lời cho câu hỏi tại sao (Miller 2017)
- Tại sao việc điều trị không hiểu quả trên bệnh nhân?
- Tại sao khoản vay của tôi lại bị từ chối?
- Tại sao ta chưa được liên lạc với người ngoài hành tinh?
Hai câu hỏi đầu tiên có thể được trả lời với giải thích “thông thường”,
trong khi đó câu hỏi thứ ba thuộc danh mục “Câu hỏi hiện tượng khoa học
tổng quát và triết học” hơn. Ta tập trung vào những loại diễn giải “thông
thường”, bởi vì chúng liên quan đến khả năng giải thích của học máy. Các
câu hỏi bắt đầu bằng “như thế nào” có thể thường được chuyển thể sang câu
hỏi “tại sao”: “Làm thế nào mà khoản vay của tôi lại bị từ chối?” có thể trở
thành “Tại sao khoản vay của tôi bị từ chối?”.
Theo đó, thuật ngữ “Diễn giải (Explanation)” đề cập đến quy trình để tạo
ra nhận thức, nhưng cũng là sản phẩm của quá trình đó. Bộ diễn giải có thể
là con người hay máy móc.
2.6.2 Thế nào là giải thích tốt?
Phần này tổng hợp cô đọng các kết quả của Miller về diễn giải “tốt” và
bổ sung ý nghĩa cho học máy khả diễn giải.

Giải thích mang tính tương phản (Explanations are contrastive) (Lip-
ton 1990). Con người thường không hỏi tại sao một dự đoán cụ thể nào đó
được tạo ra, mà thường thắc mắc tại sao lại có dự đoán này mà không phải
một dự đoán nào khác thay thế. Ta thường có xu hướng suy nghĩ về những
trường hợp đối lập. Ví dụ, “dự đoán được đưa ra sẽ như thế nào nếu đưa vào
một đầu vào X khác với trước đó”. Đối với dự đoán giá nhà, người sở hữu
căn nhà có thể quan tâm tại sao giá dự đoán cao hơn so với giá cả mà họ
trông đợi. Nếu đơn vay nợ của tôi bị từ chối, tôi không quan tâm đến tất cả
các yếu tố dẫn đến việc đơn vay bị từ chối . Tôi chỉ quan tâm đến các yếu tố
mà trong đó mà đơn vay của tôi cần thay đổi để nhận được khoản vay. Tôi
muốn biết sự đối lập giữa đơn vay của tôi và đơn đã được chấp thuận. Ta
thấy rằng các giải thích tương phản (contrasting explanations) là một phát
hiện quan trọng cho học máy khả diễn giải. Đối với hầu hết các mô hình
khả diễn giải, ta có thể trích xuất các giải thích tương phản một dự đoán
của một mẫu bằng các mẫu dữ liệu đối kháng. Bác sĩ có thể thắc mắc: “Tại
sao thuốc này lại không hiệu quả trên bệnh nhân của tôi?”. Và họ có thể
muốn giải thích mà có yếu tố tương phản giữa bệnh nhân của họ với một
bệnh nhân mà thuốc đó có hiệu quả và có sự tương đồng đối với những bệnh
nhân không có tác dụng khác. Các giải thích tương phản là dễ dàng để hiểu
hơn các giải thích đầy đủ. Giải thích đầy đủ cho câu hỏi của bác sĩ trước đó
tại sao thuốc lại không hiệu bảo có thể bao gồm: Bệnh nhân đó đã có bệnh
duy trì suốt 10 năm, 11 genes là đã có biểu hiện quá mức, cơ thể bệnh nhân
nhanh chóng phân giải thuốc thành các thành phần hóa học nên không còn
hữu hiệu,... Giải thích tương phản đơn giản hơn nhiều: Đối lập với các bệnh
nhân có phản ứng với thuốc, những bệnh nhân không phản ứng có sự kết
hợp các gene nhất định làm cho thuốc kém hiệu quả đi. Giải thích tốt nhất
là giải thích mà làm nổi bật sự khác nhau giữa đối tượng quan tâm với đối
tượng tham chiếu đến. Điều này có ý nghĩa gì tới học máy khả diễn
giải: Con người không muốn một giải thích đầy đủ cho một dự đoán, nên
tạo ra các giải thích tương phản sẽ phụ thuộc vào ứng dụng vì nó yêu cầu sự
so sánh. Và điều này có thể phụ thuộc vào các điểm dữ liệu được diễn giải,
nhưng cũng phụ thuộc vào người nhận sự giải thích. Một người dùng trên
một trang web dự đoán giá nhà có thể muốn có một sự giải thích cho những
giá nhà đối lập với ngôi nhà họ sở hữu hoặc có thể ngôi ngồi nhà nào khác
trên trang web hoặc có thể với một ngôi nhà phổ thông trong khu vực lân
cận. Giải pháp cho việc tạo tự động các giải thích tương phản có thể cũng
liên quan đến việc tìm các nguyên mẫu hay mẫu đặc trưng trong dữ liệu.

Giải thích mang tính chọn lọc (Explanations are selected). Con
người không mong đợi những giải thích mà bao quát thực tế và nguyên nhân
đầy đủ của một sự kiện. Ta đã từng lựa chọn ra một hoặc hai nguyên nhân
từ một số những nguyên nhân khác nhau rồi tạo ra giải thích. Thực tế, điều
này diễn ra hàng ngày trên các bản tin TV:
- “Sự tụt giảm giá cổ phiếu được cho là có nguyên nhân từ những phản
ứng dữ dội xuất phát từ bản cập nhật phần mềm mới nhất của công ty.”
- “Tsubasa và đội của anh ấy đã thua trận vì yếu kém trong khâu phòng
thủ: họ đã để đối thủ tự do có nhiều chỗ trống để thực hiện chiến thuật của
mình.”
- “Sự không tin tưởng ngày càng gia tăng vào các tổ chức thành lập và
chính phủ của chúng ta là những yếu tố chính mà làm giảm đi tỷ lệ cử tri
bầu cử.”
Việc một sự kiện có thể được giải thích bằng nhiều nguyên nhân khác
nhau được gọi là Hiệu ứng Rashomon. Rashomon là một bộ phim Nhật kể
những câu chuyện tương phản, mâu thuẫn (giải thích) về cái chết của một
Samurai. Đối với các mô hình học máy, điều này thuận lợi nếu một dự đoán
tốt có thể tạo nên từ những đặc trưng khác nhau. Việc kết hợp nhiều mô hình
(ensemble) với các đặc trưng khác nhau (các giải thích khác nhau) thường
hoạt động tốt vì tính trung bình trên các “câu chuyện” đó làm cho các dự
đoán linh hoạt và chính xác hơn. Nhưng nó cũng có nghĩa rằng ta có nhiều
giải thích có chọn lọc hơn với một dự đoán nhất định được đưa ra. Điều này
có ý nghĩa gì đến học máy khả diễn giải: Nó làm cho việc diễn giải ngắn
gọn, chỉ một đến ba lý do, thậm chí nếu ngữ cảnh có phức tạp hơn. Phương
pháp LIME (phần 5.7) vẫn hoạt động tốt.

Những giải thích mang tính xã hội (Explanations are social).


Chúng là một phần trong hội thoại hay tương tác giữa người giải thích và
người nhận sự giải thích đó. Bối cảnh xã hội quyết định nội dung và bản chất
của các giải thích. Nếu tôi muốn giải thích cho một người am hiểu công nghệ
tại sao tiền điện tử lại có giá trị rất lớn, tôi sẽ nói những điều như là: “Các
tính chất phi tập trung (decentralized), phân phối (distributed), sổ cái dựa
trên blockchain, không thể bị quản lý bởi một trung tâm nào, cộng hưởng
với đó là con người có thể bảo mật tài sản của họ, điều này giải thích tại sao
nó có nhu cầu và giá cả cao”. Nhưng để giải thích với bà của tôi thì tôi sẽ nói
rằng: “Bà nghe này: tiền điện tử cũng có chút giống như là đồng tiền vàng
máy tính. Con người thích và trả nhiều thứ bằng vàng, còn giới trẻ thích và
trả nhiều thứ bằng tiền vàng máy tính.” Điều này có ý nghĩa gì đến học
máy khả diễn giải: Hãy chú ý đến môi trường xã hội của ứng dụng học
máy và đối tượng ta hướng đến.

Các giải thích tập trung vào sự bất thường (Explanations focus on
the abnormal). Con người tập trung nhiều hơn vào các nguyên nhân bất
thường để giải thích các sự kiện (Kahnemann and Tversky, 1981). Đây là
những nguyên nhân có xác suất nhỏ nhưng vẫn xảy ra. Việc loại bỏ những
nguyên nhân bất thường này sẽ làm thay đổi rất nhiều kết quả (giải thích
tương phản). Con người xem xét những nguyên nhân “bất thường” và xem
chúng như những giải thích tốt. Một ví dụ từ Štrumbelj và Kononenko (2011)
là: Giả sử ta có một bộ dữ liệu về việc kiểm tra của giáo viên đối với học
sinh. Học sinh tham gia vào một khóa học và vượt qua khóa học ngay sau
khi trình bày thành công một bài thuyết trình. Giáo viên có tùy chọn để hỏi
thêm học sinh các câu hỏi để kiểm tra kiến thức. Những học sinh nào không
trả lời được những câu hỏi đó sẽ trượt khóa học. Các học sinh có thể có các
mức độ chuẩn bị khác nhau, nó chuyển thành các xác suất khác nhau cho
việc trả lời chính xác các câu hỏi của giáo viên (nếu họ quyết định kiểm tra
học sinh đó). Ta muốn dự đoán học sinh nào sẽ qua môn học và giải thích
các dự đoán đó. Cơ hội để vượt qua là 100% nếu giáo viên không có thêm câu
hỏi nào, hoặc hoặc xác suất của việc qua môn học phụ thuộc vào sự chuẩn bị
của học sinh và kết quả xác suất của việc trả lời câu hỏi chính xác. Kịch bản
1: Giáo viên thường hỏi các học sinh các câu hỏi bổ sung (ví dụ 95 trong 100
lần). Một học sinh không học (10% cơ hội để vượt qua phần câu hỏi) không
may bị hỏi và học sinh đó trả lời sai. Tại sao học sinh đó rớt? Ta sẽ cho rằng
vì lỗi của học sinh đó là không học bài. Kịch bản 2: Giáo viên hiếm khi hỏi
thêm các câu hỏi (ví dụ 2 trong 100 lần). Đối với một sinh không học bài, ta
sẽ dự đoán một xác suất cao cho việc đỗ môn học vì khó có khả năng học sinh
đó bị hỏi thêm. Tất nhiên, một trong các học sinh không chuẩn bị cho các
câu hỏi, học sinh đó cũng có 10% cơ hội vượt qua các câu hỏi. Khi học sinh
không may bị hỏi thêm câu hỏi, học sinh đó không trả lời đúng và rớt môn.
Vậy có lý do nào cho việc trượt môn đó? Ta sẽ cho rằng giải thích tốt nhất
đó là “vì giáo viên đó đã kiểm tra học sinh”. Vì nhiều khả năng là giáo viên
không kiểm tra, vậy nên hành động của giáo viên lúc đó là bất thường. Điều
này có ý nghĩa gì đến học máy khả diễn giải: Nếu một trong các đặc
trưng đầu vào cho một dự đoán là bất thường trong bất cứ hoàn cảnh nào
(ví dụ một loại đặc trưng hiếm trong tập các đặc trưng) và các đặc trưng đó
ảnh hưởng đến dự đoán, nó nên xuất hiện trong giải thích, thậm chí nếu các
đặc trưng “bình thường” khác có cùng ảnh hưởng như đặc trưng bất thường.
Một đặc trưng bất thường trong ví dụ dự đoán giá nhà có thể là một ngôi
nhà khá đắt có hai ban công. Thậm chí nếu ta biết hai ban công có mức độ
ảnh hưởng đến giá nhà tương đương với các đặc trưng: diện tích trung bình,
hàng xóm tốt, mới được cải tạo; giá trị đặc trưng bất thường này vẫn sẽ là
giải thích tốt nhất cho việc tại sao giá nhà lại cao như vậy.

Các giải thích mang tính trung thực (Explanations are truthful).
Giải thích tốt cần được chứng minh là đúng trong thực tế (và các tình huống
khác). Nhưng trớ trêu, đây không phải là yếu tố quan trọng nhất cho giải
thích tốt. Ví dụ, tính chọn lọc dường như quan trọng hơn tính trung thực.
Giải thích mà chọn chỉ một hoặc hai nguyên nhân khả thi hiếm khi bao quát
hết danh sách các nguyên nhân có liên quan. Tính chọn lọc bỏ quan một
phần sự thực. Chỉ một hay hai nguyên nhân là không đúng; ví dụ nếu thị
trường chứng khoán sụp đổ, có cả triệu nguyên nhân dẫn đến vấn đề này.
Điều này có ý nghĩa gì đến học máy khả diễn giải: Sự giải thích nên
dự đoán sự kiện một cách trung thực nhất có thể, cũng như trong học máy
đôi khi được gọi là tính trung thực hoặc minh bạch (fidelity). Vậy nên nếu
ta nói rằng hai ban công làm tăng giá nhà, thì điều này cũng nên đúng đối
với các căn nhà khác (hoặc ít nhất các nhà tương đồng). Đối với con người,
tính trung thực (fidelity) của giải thích là không quan trọng bằng tính chọn
lọc, tương phản, và xã hội.

Giải thích tốt mang tính nhất quán với niềm tin trước đó của người
được giải thích (Good explanations are consistent with prior beliefs
of the explainee). Con người có xu hướng bỏ qua các thông tin không
phù hợp với niềm tin có sẵn của họ. Vấn đề này được gọi là sai lệch xác
nhận (confirmation bias) (Nickerson 1998). Con người sẽ có xu hướng đánh
giá thấp hoặc bỏ qua những giải thích không nhất quán với niềm tin của họ.
Các niềm tin này khác nhau với mỗi người, nhưng cũng có những niềm tin
thống nhất như thế giới quan về chính trị. Điều này có ý nghĩa gì đến
học máy khả diễn giải: Các giải thích tốt cần phù hợp với các niềm tin
trước đó của người nhận giải thích. Điều này khó có thể áp dụng lên học máy
và có lẽ sẽ ảnh hưởng lớn tới hiệu suất dự đoán. Niềm tin trước của ta về sự
ảnh hưởng của kích thước căn nhà lên giá nhà là căn nhà càng lớn thì giá
càng cao. Giả sử với một số ngôi nhà, diện tích lớn có tác động tiêu cực tới
giá trị của chúng. Mô hình đã học được điều này trong huấn luyện (do một
số tương tác phức tạp), nhưng điều này mâu thuẫn mạnh mẽ với niềm tin
trước đó của ta.

Giải thích tốt mang tính tổng quan và hiển nhiên (Good expla-
nations are general and probable). Một nguyên nhân có thể được sử
dụng để giải thích cho nhiều sự kiện là rất khái quát tổng thể và có thể
được coi là giải thích tốt. Lưu ý rằng điều này là mâu thuẫn với nhận định
rằng các nguyên nhân bất thường tạo nên các giải thích tốt. Theo tôi nhận
thấy, nguyên nhân bất thường cần được ưu tiên hơn nguyên nhân khái quát.
Nguyên nhân bất thường hiếm khi xuất hiện trong các kịch bản. Trong trường
hợp không có sự tồn tại của sự kiện bất thường, giải thích khái quát là được
xem xét như là giải thích tốt. Cũng nên nhớ rằng con người có xu hướng đánh
giá nhầm xác suất của các sự kiện tham gia vào. (Joe là một người trông coi
thư viện, có khả năng anh ấy là một người nhút nhát hay nhút nhát dẫn đến
thích đọc sách nên muốn làm người trông coi thư viện?) Một ví dụ tốt là
“Căn nhà là đắt đỏ vì nó to”, điều này khá phổ biến khái quát, giải thích tốt
cho câu hỏi tại sao căn nhà lại đắt hoặc rẻ. Điều này có ý nghĩa gì đến
học máy khả diễn giải: Tính khái quát tổng quan có thể dễ dàng được đo
lường bởi các hỗ trợ đặc trưng, tính bằng số các mẫu mà giải thích được áp
dụng chia cho tổng số mẫu.
Chương 3

Các bộ dữ liệu
Xuyên suốt cuốn sách này, tất cả cách mô hình và phương pháp được áp
dụng cho các bộ dữ liệu thực tế đều có sẵn trên mạng. Ta sẽ dùng các tập
dữ liệu khác nhau cho các tác vụ khác nhau: Phân loại, hồi quy, và phân loại
văn bản.

3.1 Thuê xe đạp (Hồi quy)


Tập dữ liệu sau thống kê số lượng xe đạp được thuê mỗi ngày từ công
ty thuê xe đạp Capital-Bikeshare ở Washington D.C, Mỹ, cùng với thông tin
thời tiết và các mùa. Dữ liệu đã được cấp phép sử dụng tự do bởi Capital-
Bikeshare. Nhóm tác giả Fanaee-T and Gama (2013) sau đó đã thêm thông
tin thời tiết và mùa tương ứng. Mục tiêu cho bộ dữ liệu này là dự đoán có
bao nhiêu chiếc xe được thuê dựa trên thông tin cho trước về thời tiết và
mùa. Bộ dữ liệu có thể truy cập tải miễn phí tại đây: UCI Machine Learning
Repository.
Các đặc trưng (features) mới đã được thêm vào bộ dữ liệu nêu trên và
không phải tất cả các đặc trưng có sẵn sẽ được dùng trong các ví dụ trong
sách này. Danh sách các đặc trưng được dùng là:

• Số lượng xe đạp được thuê bởi cả khách hàng thông thường (casual) và
thành viên (registered). Số lượng này sẽ là đầu ra của mô hình hồi quy.

• Thông tin về mùa, xuân, hạ, thu, hoặc đông.

• Ngày nghỉ lễ hoặc không nghỉ lễ.

43
• Năm 2011 hoặc 2012.

• Số lượng ngày tính từ 1/1/2011 (ngày đầu tiên trong bộ dữ liệu). Đặc
trưng này được cân nhắc để theo dõi xu hướng dữ liệu theo thời gian.

• Ngày làm việc hay cuối tuần.

• Tình hình thời tiết ngày đó, ví dụ:

– Trời quang (clear), ít mây (few clouds), hơi mây (partly cloudy), hoặc
nhiều mây (cloudy).
– Sương (mist), sương + mây, sương + mây vụn (broken clouds), sương
+ ít mây.
– Tuyết nhẹ, mưa nhẹ + giông (thunderstorm) + mây rải rác (scattered
clouds), mưa nhẹ + mây rải rác.
– Mưa nặng (heavy rain) + mưa tuyết nhẹ (ice pellets) + giông +
sương, tuyết + sương.

• Nhiệt độ theo độ Celsius.

• Độ ẩm tương đối theo phần trăm (0% - 100%).

• Tốc độ gió theo km/giờ.

Bộ dữ liệu trong sách đã được xử lý tương đối (slightly processing). Bạn đọc
có thể tìm mã R trong trang Github cùng với tệp final RData file.

3.2 Bình luận rác trên Youtube (Phân loại


văn bản)
Dữ liệu được dùng là tập dữ liệu về phân loại bình luận rác (Alberto,
Lochter, và Almeida (2015)).
Các bình luận này được thu thập thông qua Youtube API từ 5 trong số
10 video được xem nhiều nhất trên YouTube vào nửa đầu năm 2015. Cả 5
đều là video âm nhạc. Một trong số đó là ”Gangnam Style“ của PSY. Các
nghệ sĩ khác là Katy Perry, LMFAO, Eminem và Shakira.
Bảng 3.1:
CONTENT CLASS
Huh, anyway check out this you[tube] channel: kobyoshi02 1
Hey guys check out my new channel and our first vid
THIS IS US THE MONKEYS!!! I’m the monkey in the white shirt, 1
please leave a like comment and please subscribe!!!!
just for test I have to say murdev.com 1
me shaking my sexy ass on my channel enjoy ^_^ 1
watch?v=vtaRGgvGtWQ Check this out . 1
Hey, check out my new website!! This site is about kids
1
stuff. kidsmediausa . com
Subscribe to my channel 1
i turned it on mute as soon is i came on i just wanted to check the views... 0
You should check my channel for Funny VIDEOS!! 1
and u should.d check my channel and tell me what I should do next! 1

Nhìn qua một số bình luận, ta thấy các bình luận được gắn nhãn thủ
công là “rác” hoặc “có ý nghĩa”. Bình luận “rác” được mã hóa bằng “1” và “có
ý nghĩa” bằng “0".
Bạn cũng có thể truy cập YouTube và xem phần bình luận. Nhưng làm
ơn đừng bị cuốn vào địa ngục YouTube và cuối cùng xem video những con
khỉ ăn cắp và uống cocktail từ khách du lịch trên bãi biển. Trình phát hiện
bình luận rác Google Spam có lẽ cũng đã thay đổi rất nhiều kể từ năm 2015.
Xem qua video phá vỡ kỷ lục số lượt xem ”Gangnam Style“ tại đây.
Nếu bạn muốn thao tác với dữ liệu, bạn có thể dùng file RData cùng với
tập lệnh R với một số hàm trong Github của cuốn sách.

3.3 Các nguy cơ gây ung thư cổ tử cung


(Phân loại)
Bộ dữ liệu ung thư cổ tử cung bao gồm các chỉ số và nguy cơ để dự đoán
liệu một người phụ nữ sẽ bị ung thư cổ tử cung hay không. Các tính năng
bao gồm thống kê dân số (như tuổi), lối sống, và lịch sử y tế. Dữ liệu có thể
được tải xuống từ kho lưu trữ của UCI Machine Learning và được mô tả bởi
Fernandes, Cardoso và Fernandes (2017).
Một số đặc trưng (features) được sử dụng trong các ví dụ của sách là:

• Tuổi hiện tại

• Số lượng bạn tình

• Tuổi lần đầu quan hệ tình dục

• Số lần mang thai

• Có dùng thuốc lá hay không?

• Số năm đã dùng thuốc lá

• Có dùng thuốc tránh thai ảnh hưởng nội tiết tố?

• Số năm đã dùng thuốc tránh thai ảnh hưởng nội tiết tố

• Có dùng vòng tránh thai hay không?

• Số năm đã dùng vòng tránh thai

• Bệnh nhân có từng mắc bệnh lây qua đường tình dục hay không?

• Số lượng bệnh truyền nhiễm qua đường tình dục đã được chẩn đoán

• Thời gian kể từ khi chẩn đoán bệnh (STD) đầu tiên

• Thời gian kể từ lần chẩn đoán bệnh (STD) cuối cùng

• Kết quả sinh thiết ”khoẻ mạnh“ hay ”ung thư” (mục tiêu/kết quả)

Kết quả sinh thiết đóng vai trò như là tiêu chuẩn vàng để chẩn đoán ung
thư cổ tử cung. Đối với các ví dụ trong cuốn sách này, kết quả sinh thiết đã
được sử dụng làm nhãn. Các giá trị bị thiếu trong mỗi cột được thay thế bởi
giá trị xuất hiện nhiều nhất, đây là một giải pháp chưa tốt, vì giá trị có thể
tương quan với xác suất mà giá trị bị thiếu. Rất có thể sẽ co sai lệch bởi vì
các câu hỏi mang tính riêng tư rất cao. Nhưng đây không phải là một cuốn
sách về việc xử lí việc thiếu dữ liệu, nên giải phá này được tạm chấp nhận.
Để mô phỏng lại các ví dụ của cuốn sách với bộ dữ liệu này, hãy tìm tập
lệnh R tiền xử lý (preprocessing R-script) và tệp final RData trong Github
của cuốn sách.
Chương 4

Các mô hình khả diễn giải


Cách đơn giản nhất để làm chủ tính khả diễn giải đó là ta chỉ sử dụng
một tập nhỏ các thuật toán để tạo ra các mô hình khả diễn giải. Các mô
hình như hồi quy tuyến tính, hồi quy logistic và cây quyết định đều có tính
khả diễn giải cao.
Trong các mục tới đây, ta sẽ thảo luận về các mô hình này. Tôi không đi
sâu vào chi tiết mà chỉ một cách cơ bản, bởi vì đã có rất nhiều tài liệu và sách
báo tập trung vào các vấn đề này. Ta sẽ tập trung vào câu hỏi Làm sao để
diễn giải một mô hình?. Chương này ta thảo luận sâu về tính khả diễn giải
của các mô hình hồi quy tuyến tính, hồi quy logistic, các dạng mở rộng của
hồi quy tuyến tính, cây quyết định, luật quyết định và thuật toán RuleFit.
Cuối cùng, ta cũng sẽ nhắc sơ qua tới một vài mô hình khả diễn giải khác.
Tất cả các mô hình khả diễn giải trong cuốn sách này được đề cập ở mức
độ mô đun, ngoại trừ thuật toán k hàng xóm gần nhất (K-Nearest Neighbors).
Bảng dưới đây trình bày một cách tổng quan về các loại mô hình khả diễn
giải và các đặc tính của chúng. Một mô hình là tuyến tính nếu mối quan hệ
giữa đặc trưng (features) và mục tiêu (target) được mô hình một cách tuyến
tính. Một mô hình với tính đơn điệu (monotonicity) luôn đảm bảo rằng mối
quan hệ giữa một đặc trưng và kết quả đầu ra luôn luôn đồng biến trên toàn
bộ miền đặc trưng: Nếu ta tăng giá trị của một giá trị đặc trưng thì giá trị
đầu ra có thể tăng hoặc giảm một cách tương ứng. Tính đơn điệu trở nên
hữu ích cho việc diễn giải một mô hình vì các mối quan hệ sẽ dễ dàng được
giải thích. Một số mô hình có thể tự động bao gồm các mối tương tác giữa
các đặc trưng để dự đoán kết quả. Ta có thể gộp các tương tác giữa các đặc
trưng này bằng cách tạo ra các đặc trưng tương tác (interaction features)

47
một cách thủ công - các đặc trưng thể hiện sự tương tác giữa các đặc trưng.
Tương tác có thể giúp cải thiện chất lượng của một mô hình, tuy nhiên việc
có quá nhiều tương tác hay các tương tác quá phức tạp sẽ làm giảm tính khả
diễn giải. Một vài mô hình giải quyết bài toán hồi quy, số khác giải quyết bài
toán phân loại, đôi khi giải quyết cả hai.
Từ bảng 4.1, ta có thể chọn một mô hình khả diễn giải hợp lý cho bài
toán của chúng ta, có thể là hồi quy (regr) hoặc phân loại (class):

Algorithm Linear Monotone Interaction Task


Linear regression Yes Yes No regr
Logistic regression No Yes No class
Decision trees No Some Yes class,regr
RuleFit Yes No Yes class,regr
Naive Bayes No Yes No class
k-nearest neighbors No No No class,regr

Bảng 4.1: Các mô hình và đặc tính của chúng.

4.1 Hồi quy tuyến tính


Một mô hình hồi quy tuyến tính dự đoán mục tiêu dựa trên tổng trọng
số của các đặc trưng đầu vào. Sự tuyến tính của các mối quan hệ giữa đặc
trưng và đầu ra của mô hình khiến cho sự diễn giải trở nên đơn giản. Kiểu
mô hình này được sử dụng rộng rãi trong thống kê và khoa học máy tính
cũng như các ngành khác khi ta muốn giải quyết các vấn đề mang tính định
lượng.
Phương pháp này có thể được sử dụng để mô hình sự phụ thuộc của một
mục tiêu hồi quy y vào một số đặc trưng x. Mối quan hệ sau quá trình học
là tuyến tính và có thể được biểu diễn như sau:

y “ β0 ` β1 x1 ` . . . ` βp xp ` 

Đáp ứng của mô hình đối với một đầu vào là tổng trọng số của p đặc
trưng. Các giá trị beta βj biểu diễn các trọng số tương ứng với các đặc trưng
hay còn gọi là hệ số (coefficients). Trọng số đầu tiên β0 được gọi là hệ số chặn
(intercept) và không được nhân với đặc trưng. Giá trị epsilon  là sai số, ví
dụ sự khác nhau giữa dự đoán và giá trị thực tế. Lượng sai số này được giả
định tuân theo phân phối Gaussian, nghĩa là ta tạo ra sai số theo cả 2 chiều
âm dương và có nhiều sai số nhỏ bên cạnh rất ít sai số có giá trị lớn (tuân
theo phân bố dạng hình chuông của Gaussian).
Các phương pháp dùng để ước tính giá trị trọng số tối ưu rất đa dạng.
Một phương pháp đơn giản nhất đó là phương pháp sai số bình phương tối
thiểu thường được dùng để tìm ra tập trọng số tối ưu dựa trên sai lệch bình
phương giữa giá trị thực tế và dự đoán.
˜ ˜ p
¸¸2
ÿn ÿ piq
β̂ “ arg min y piq ´ β0 ` βj xj
β0 ,...,βp
i“1 j“1

Ta sẽ không thảo luận chi tiết cách để tìm ra các trọng số tối ưu này,
tuy nhên, nếu bạn muốn có thể đọc chương 3.2 trong cuốn "The Elements
of Statistical Learning" hoặc các bài giảng online về mô hình hồi quy tuyến
tính.
Lợi thế lớn nhất của các mô hình hồi quy tuyến tính đó chính là tính
tuyến tính: Nó làm cho việc ước lượng kết quả trở nên đơn giản, và quan
trọng hơn cả, các phương trình tuyến tính này tạo nên việc diễn giải dễ dàng
ở mức mô đun (các trọng số). Đây là một trong những lý do chính tại sao mô
hình tuyến tính và các mô hình tương tự được ưa chuộng trong các ngành
khoa học như y học, xã hội học, tâm lý học, và rất nhiều các ngành nghiên
cứu định lượng khác. Ví dụ, trong y học, ta không chỉ quan tâm đến kết quả
dự đoán trên một bệnh nhân mà còn phải định lượng tác động của thuốc dựa
trên độ tuổi, giới tính và các đặc trưng khác nhằm hướng tới tính khả giải
thích.
Các trọng số được ước lượng tồn tại trong các khoảng tin cậy (confidence
intervals). Một khoảng tin cậy là một dải trọng số bao gồm trọng số “chính
xác” với một độ tin cậy nhất định. Ví dụ, một khoảng tin cậy tới 95% của
một trọng số có giá trị là 2 có thể rơi vào từ 1 đến 3. Khoảng này có thể
được diễn đạt như sau: Nếu ta ước lượng lặp đi lặp lại 100 lần với các mẫu
dữ liệu mới, khoảng tin cậy có thể bao gồm giá trị chính xác trong 95/100
trường hợp, giả sử rằng mô hình ta đang có hoạt động chính xác trên tập dữ
liệu cho trước.
Để đánh giá liệu một mô hình có hoạt động chính xác trên tập dữ liệu
hay không sẽ phụ thuộc vào liệu mối quan hệ trong dữ liệu có thỏa mãn
một số tiêu chí cụ thể: tính tuyến tính (linearity), tính chuẩn (normality),
hiệp phương sai đồng nhất (homoscedasticity), tính độc lập (independence),
các đặc trưng cố định (fixed features), và sự bất tương quan (absence of
multicollinearity).

Tính tuyến tính Mô hình hồi quy tuyến tính có đầu ra là một tổ hợp
tuyến tính của các đặc trưng, điều này vừa là điểm mạnh cũng vừa là hạn
chế lớn nhất của loại mô hình này. Tính tuyến tính giúp mô hình khả diễn
giải. Các kết quả tuyến tính có thể dễ dàng được định lượng và mô tả. Vì
chúng được xây dựng trên phép lấy tổng, ta có thể dễ dàng tách bạch kết
quả. Nếu ta nghi ngờ sự tương tác giữa các đặc trưng hoặc quan hệ phi tuyến
của một đặc trưng với kết quả cuối cùng, ta có thể thêm các thành phần
tuyến tính khác hoặc sử dụng các hàm hồi quy.

Tính chuẩn Khi biết trước các đặc trưng, ta giả thiết rằng giá trị đầu ra
của mô hình sẽ tuân theo phân phối chuẩn (hay phân phối Gaussian). Nếu
giả thiết này không chính xác, khoảng tin cậy mà ta ước lượng của các trọng
số cũng sẽ không chính xác.

Hiệp phương sai đồng nhất (phương sai bất biến) Trước tiên hãy giải
thích phương sai (variance): Đó là sự sai lệch giữa các lần dự đoán trong
khi đó độ chệch (bias) là sự sai lệch giữa các lần dự đoán với giá trị thực
tế (ground-truth). Phương sai của các thành phần sai số được giả thiết là
bất biến trên cả không gian đặc trưng. Giả sử ta muốn dự đoán giá của một
ngôi nhà dựa vào diện tích được đo đạc bởi mét vuông (m2 ), ta dùng một
mô hình tuyến tính và giả thiết rằng, với mọi giá trị diện tích, sai số của các
dự đoán sẽ có cùng phương sai. Giả thiết này thường không đúng trong thực
tế. Trong ví dụ trên, một căn nhà lớn sẽ có phương sai lớn, bởi vì giá nhà sẽ
lớn và thường số phòng của ngôi nhà cũng sẽ ảnh hưởng tới giá trị của nó.
Nếu cho rằng sai số trung bình (sự chênh lệch giữa giá trị thực tế và giá trị
dự đoán) trong mô hình tuyến tính ta đang có là 50,000 Euros, khi mô hình
có tính chất hiệp phương sai đồng nhất, sai số 50,000 này sẽ không đổi với
ngôi nhà giá 1 triệu và ngôi nhà giá chỉ 40,000. Điều này là phi lý bởi vì có
thể tồn tại giá trị âm cho ngôi nhà.
Tính độc lập Ta giả sử rằng các mẫu dữ liệu đầu vào là độc lập với nhau.
Nếu ta thực hiện đo đạc lặp đi lặp lại, ví dụ như thử máu nhiều lần trên một
bệnh nhân, các mẫu dữ liệu sẽ không độc lập. Với các dữ liệu phụ thuộc, ta
cần một mô hình hồi quy tuyến tính đặc biệt, ví dụ như các mô hình hỗn
hợp hoặc phương trình ước lượng tổng quát (GEE - generalized estimating
equation). Nếu ta chỉ sử dụng mô hình hồi quy tuyến tính thông thường, ta
có thể thu được kết quả sai từ mô hình.

Đặc trưng cố định Các đặc trưng đầu vào được coi là cố định. “Cố định”
ở đây có nghĩa là chúng được coi như các hằng số chứ không phải là các biến
số thống kê. Điều này có nghĩa là chúng không ảnh hưởng đến sai số của các
phép đo. Giả thiết này cũng không thực tế. Tuy vậy nếu không có giả thiết
này, ta sẽ phải điều chỉnh mô hình rất phức tạp khi mà ta phải tính toán sai
số của các đặc trưng đầu vào, và thường ta sẽ không muốn làm vậy.

Sự bất tương quan Ta không muốn các đặc trưng tương quan mật thiết
với nhau, bởi vì điều này sẽ gây khó khăn trong việc tìm ra trọng số tối ưu
cho mô hình. Nếu hai đặc trưng tương quan chặt chẽ với nhau, bởi vì giá trị
đầu ra là tổng các trọng số của các đặc trưng, ta sẽ không thể biết được đặc
trưng nào (1 trong 2) ảnh hưởng đến giá trị dự đoán.

4.1.1 Sự diễn giải


Sự diễn giải của một mô hình hồi quy tuyến tính phụ thuộc vào loại đặc
trưng mà nó học:

1. Đặc trưng dạng số: Việc tăng giá trị của một đặc trưng làm thay đổi giá
trị đầu ra bởi các trọng số của nó. Một đặc trưng ví dụ đó là diện tích
của một ngôi nhà.
2. Đặc trưng dạng nhị phân: Đặc trưng chỉ mang 1 trong 2 giá trị cho trước,
1 ví dụ đó là đặc trưng “Nhà có vườn không?” trong ví dụ giá nhà ở trên.
1 trong 2 giá trị được coi là giá trị tham chiếu (trong một số ngôn ngữ
lập trình sẽ có giá trị là 0), ví dụ như “Không có vườn”. Việc thay đổi
giá trị từ giá trị tham chiếu thành giá trị còn lại sẽ ảnh hưởng tới đầu ra
của mô hình.
3. Đặc trưng dạng hạng mục: Trong loại này, một đặc trưng sẽ có thể rơi
vào 1 số giá trị nhất định. Ví dụ như đặc trưng “loại sàn” có thể có các
giá trị như “thảm”, “gỗ ép” và “gỗ”. Một cách để giải quyết loại dữ liệu
này đó là sử dụng biểu diễn one-hot (one-hot encoding). Với 1 đặc trưng
hạng mục có L giá trị khả dĩ, ta sẽ chỉ cần L ´ 1 cột, bởi vì cột thứ L
sẽ bao gồm thông tin không cần thiết (ví dụ khi cột từ 1 đến L ´ 1 có
tất cả các giá trị là 0, ta sẽ biết rằng giá trị còn lại sẽ phải là 1). Sự diễn
giải cho từng mục sẽ giống với sự diễn giải đối với đặc trưng nhị phân.
Trong nhiều ngôn ngữ lập trình, ví dụ như R, ta được phép mã hóa các
đặc trưng hạng mục theo rất nhiều cách khác nhau, sẽ được thảo luận kĩ
hơn trong mục 4.1.5.
4. Hệ số chặn β0 : Hệ số chặn là một trọng số của một đặc trưng bất biến
(giá trị của đặc trưng luôn là 1 với mọi điểm dữ liệu đầu vào). Hầu hết
các gói phần mềm đều tự động thêm đặc trưng bất biến này để ước lượng
giá trị của hệ số chặn. Khi đó, sự diễn giải sẽ là như sau: Với một đầu
vào có tất cả các đặc trưng dạng số có giá trị bằng 0 và biến hạng mục có
giá trị tại giá trị tham chiếu, dự đoán của mô hình sẽ chính là giá trị của
hệ số chặn. Sự diễn giải của hệ số chặn sẽ không mang nhiều ý nghĩa bởi
các điểm dữ liệu đầu vào có giá trị đặc trưng là 0 thường không mang
thông tin. Việc diễn giải chỉ có ý nghĩa khi mà các đặc trưng được chuẩn
hóa (trung bình tại 0 và độ lệch chuẩn là 1). Khi này, hệ số chặn phản
ánh giá trị được dự đoán ứng với một điểm dữ liệu đầu vào khi mà tất
cả các đặc trưng đều nằm ở giá trị trung bình của chúng.

Việc diễn giải đối với các đặc trưng trong mô hình hồi quy tuyến tính có
thể rơi vào một trong các trường hợp sau.

Diễn giải một đặc trưng dạng số Khi ta tăng giá trị của đặc trưng xk
một đơn vị, giá trị đầu ra y cũng sẽ tăng 1 lượng βk khi tất cả giá trị của các
đặc trưng còn lại được giữ nguyên.

Diễn giải một đặc trưng dạng hạng mục Việc thay đổi đặc trưng xk
từ hạng mục tham chiếu sang một hạng mục khác sẽ làm tăng giá trị đầu ra
y dựa trên βk khi các đặc trưng khác được giữ nguyên.
Một phép đo đạc quan trọng khác cho các mô hình tuyến tính được gọi
là phép đo bình phương R (R-squared measurement). Bình phương R hay
R-squared cho ta biết được lượng phương sai có thể được giải thích bởi mô
hình. Giá trị bình phương R càng lớn, mô hình càng giải thích dữ liệu một
cách tốt hơn. Công thức để tính toán bình phương R như sau:

R2 “ 1 ´ SSE{SST

Trong đó SSE là tổng bình phương của các thành phần lỗi (error terms):
n
ÿ
SSE “ py piq ´ ŷ piq q2
i“1

SST là tổng bình phương của phương sai:


n
ÿ
SST “ py piq ´ ȳq2
i“1

Giá trị SSE cho ta biết lượng phương sai còn lại sau khi khớp một mô
hình tuyến tính, và giá trị này được tính toán dựa trên bình phương sai khác
giữa giá trị sinh ra bởi mô hình và giá trị thực tế. Trong khi đó SST là tổng
phương sai của các giá trị sinh ra bởi mô hình. Ví dụ, mô hình đưa ra 100 dự
đoán, khi đó đầu tiên ta tính mean của 100 dự đoán này, sau đó ta tính tổng
phương sai. Bình phương R cho ta biết lượng phương sai có thể được giải
thích bởi mô hình tuyến tính. Giá trị bình phương R chạy từ 0 (trong trường
hợp mô hình không thể giải thích dữ liệu) tới 1 (khi mô hình giải thích được
tất cả phương sai trong dữ liệu).
Tuy vậy, bởi vì giá trị bình phương R tăng tỉ lệ với số lượng đặc trưng
trong mô hình, thậm chí cả khi chúng không hàm chứa bất kỳ thông tin nào
về dự đoán ta nhận được, ta cần sử dụng một công thức bình phương R khác
gọi là bình phương R điều chỉnh (adjusted R-squared) để giải quyết vấn đề
này, công thức bình phương R mới như sau:

n´1
R̄2 “ 1 ´ p1 ´ R2 q
n´p´1
trong đó p là số lượng đặc trưng và n là số mẫu của dữ liệu đầu vào cho việc
huấn luyện.
Khi giá trị bình phương R nhỏ, việc diễn giải một mô hình thường không
có nhiều ý nghĩa bởi vì những mô hình này về cơ bản không giải thích phương
sai nhiều. Bất cứ sự diễn giải nào trên các trọng số sẽ trở nên vô nghĩa.
Độ quan trọng của đặc trưng Độ quan trọng của một đặc trưng trong
một mô hình hồi quy tuyến tính có thể được đo đạc bởi giá trị tuyệt đối từ
thống kê t (t-statistics) của nó. Thống kê t là giá trị trọng số ước lượng tỉ lê
với độ lệch chuẩn (standard error).

β̂j
tβ̂j “
SEpβ̂j q

Hãy phân tích xem công thức này nói với ta những gì? Ở tử số, độ quan
trọng của một đặc trưng tăng theo giá trị của trọng số. Và ở mẫu số, nếu
một trọng số có phương sai càng lớn (đồng nghĩa với sự chắc chắn của giá trị
trọng số càng nhỏ), đặc trưng càng ít quan trọng.

4.1.2 Ví dụ

Weight SE |t|
(Intercept) 2399.4 238.3 10.1
seasonSUMMER 899.3 122.3 7.4
seasonFALL 138.2 161.7 0.9
seasonWINTER 425.6 110.8 3.8
holidayHOLIDAY -686.1 203.3 3.4
workingdayWORKING DAY 124.9 73.3 1.7
weathersitMISTY -379.4 87.6 4.3
weathersitRAIN/SNOW/STORM -1901.5 223.6 8.5
temp 110.7 7.0 15.7
hum -17.4 3.2 5.5
windspeed -42.5 6.9 6.2
days_since_2011 4.9 0.2 28.5

Bảng 4.2: Giá trị trọng số, độ lệch chuẩn và thống kê t của các đặc trưng.

Trong ví dụ này, ta sẽ sử dụng mô hình hồi quy tuyến tính để dự đoán


số lượng xe đạp được thuê trong một ngày nhất định, cho trước điều kiện
thời tiết và thông tin về ngày đó trên lịch vạn niên. Khi nói về diễn giải, ta
phân tích các trọng số. Các đặc trưng bao gồm cả dạng số và dạng hạng mục.
Với mỗi đặc trưng, bảng 4.2 cho ta thấy giá trị trọng số được ước lượng, độ
lệch của của phép ước lượng (standard error hay SE), và giá trị tuyệt đối của
thống kê t (|t|).
Sự diễn giải đối với một đặc trưng dạng số (ví dụ như nhiệt độ): Khi giá
trị nhiệt độ tăng 1 độ, số lượng xe đạp được dự đoán được thuê sẽ tăng 110.7
xe với điều kiện tất cả các đặc trưng còn lại được giữ nguyên.
Sự diễn giải của một đặc trưng hạng mục (weathersit): Số xe sẽ giảm đi
1901.5 nếu trời mưa, tuyết rơi hoặc bão, so với điều kiện thời tiết tốt (vẫn
trong điều kiện là các đặc trưng còn lại được giữ nguyên). Khi thời tiết nhiều
sương mù, số lượng xe được dự đoán sẽ nhỏ hơn 379.4 xe so với trong điều
kiện thời tiết tốt, giả sử tất cả các đặc trưng còn lại không đổi.
Mọi sự diễn giải luôn cần điều kiện đó là “các đặc trưng còn lại được giữ
nguyên”. Điều kiện này cần được đảm bảo vì đây là bản chất của các mô hình
hồi quy tuyến tính. Giá trị được dự đoán là một tổ hợp tuyến tính của các
trọng số và đặc trưng. Công thức tuyến tính này biểu diễn một siêu phẳng
(hyperplane) trong không gian đặc trưng (nếu chỉ có một đặc trưng nó sẽ là
1 đường). Các trọng số này sẽ xác định gradient của siêu phẳng theo từng
hướng khác nhau. Ưu điểm đó là các phép cộng sẽ cho phép ta phân tách sự
diễn giải của một đặc trưng với các đặc trưng còn lại bởi vì giá trị cuối cùng
là một tổng dựa trên các trọng số và các giá trị đặc trưng. Tuy nhiên, nhược
điểm của việc này đó là việc diễn giải sẽ bỏ qua mối liên hệ giữa các đặc
trưng. Khi ta tăng giá trị của một đặc trưng, nhưng giữ nguyên đặc trưng
còn lại, giá trị đầu vào có thể rơi vào vùng dị thường hoặc giá trị này biến
thành giá trị ngoại lai. Ví dụ, khi ta tăng số phòng, diện tích của căn nhà
cũng nên được cân nhắc để được tăng theo.

4.1.3 Diễn giải trực quan


Ta có rất đa dạng các phương pháp trực quan hóa để giúp diễn giải một
mô hình hồi quy tuyến tính.

Phác họa trọng số

Từ thông tin ta có trong bảng trọng số 4.2 (giá trị của trọng số và phương
sai) có thể được biểu diễn như trong hình duới đây:
Việc phác họa trọng số cho ta thấy điều kiện thời tiết (mưa/tuyết rơi/có
bão) sẽ có tác động tiêu cực lớn tới số lượng xe được thuê. Trong khi đó, giá
trị trọng số của đặc trưng “the working day” gần với 0 và 0 được bao gồm
trong cả khoảng 95%, nghĩa là ảnh hưởng của đặc trưng này không lớn về
mặt thống kê. Một số khoảng tin cậy có giá trị rất nhỏ và các ước lượng gần
với giá trị 0, tuy nhiên các ảnh hưởng đặc trưng lại mang nhiều ý nghĩa về
mặt thống kê. Nhiệt độ là một ví dụ nổi bật. Vấn đề của việc phác họa trọng
số đó là các đặc trưng được đo đạc ở các dải giá trị khác nhau. Với thời tiết
thì các trọng số biểu thị sự khác nhau giữa thời tiết tốt và thời tiết xấu,
trong khi với nhiệt độ thì chỉ phản ánh sự thay đổi khi nhiệt độ tăng lên 1 độ
C. Ta có thể làm cho các trọng số dễ dàng hơn để so sánh bằng cách chuẩn
hóa tỉ lệ giữa các đặc trưng (trung bình ở 0 và độ lệch chuẩn là 1) trước khi
khớp một mô hình tuyến tính.

Hình 4.1: Giá trị các trọng số được hiển thị tương ứng với các điểm và khoảng
tin cậy 95% tương ứng với các đường.
Phác họa ảnh hưởng

Các giá trị trọng số của mô hình hồi quy tuyến tính có thể được phân
tích chính xác hơn khi chúng được nhân với các giá trị đặc trưng thực tế.
Các trọng số phụ thuộc vào dải của các đặc trưng và trở nên khác nhau (ví
dụ khi ta thay đổi phép đo chiều cao của một người từ mét sang centimet).
Mặc dù các giá trị trọng số thay đổi, ảnh hưởng thực tế trong dữ liệu của ta
vẫn sẽ dữ nguyên. Phân phối của dữ liệu cũng đáng được lưu tâm bởi vì nếu
phương sai là rất nhỏ, nghĩa là hầu hết các điểm dữ liệu mà ta có sẽ có ảnh
hưởng gần như là bằng nhau trong việc ước lượng các trọng số. Việc phác
họa ảnh hưởng có thể giúp ta hiểu được một tổ hợp giữa trọng số và đặc
trưng sẽ có ảnh hưởng như thế nào đến dự đoán. Ta bắt đầu với việc tính
toán ảnh hưởng, bằng cách nhân giá trị trọng số với giá trị đặc trưng của 1
điểm dữ liệu:

piq piq
effectj “ wj xj

Hình 4.2: Phác họa ảnh hưởng của các đặc trưng chỉ ra phân phối của các
ảnh hưởng (là tích của giá trị đặc trưng và trọng số của đặc trưng) trong dữ
liệu.
Các giá trị được biểu diễn bằng các phác họa hình hộp (boxplots). Một
hộp trong một phác họa hình hộp chứa các giá trị ảnh hưởng cho một nửa
dữ liệu ta đang có (tại các phân vị thứ 25 và 75). Đường kẻ dọc qua một hộp
là giá trị ảnh hưởng trung vị (median effect). Ví dụ 50% các điểm dữ liệu
đầu vào có ảnh hưởng nhỏ hơn và 50% còn lại có ảnh hưởng lớn hơn lên dự
?
đoán. Các đường kẻ ngang trải tới ˘1.5IQR{ n, với IQR là dải liên tứ phân
vị (inter quartile range) (phân vị 75% - phân vị 25%). Các dấu chấm là các
điểm ngoại lai. Tác động của các đặc trưng hạng mục có thể được khái quát
trong một phác họa hình hộp duy nhất, khi so với phác họa trọng số, nơi mà
từng hạng mục đều có hàng riêng.

Feature Value
season SPRING
yr 2011
mnth JAN
holiday NO HOLIDAY
weekday THU
workingday WORKING DAY
weathersit GOOD
temp 1.604356
hum 51.8261
windspeed 6.000868
cnt 1606
days_since_2011 5

Bảng 4.3: Các đặc trưng và giá trị tương ứng của một điểm dữ liệu.

Đặc trưng ảnh hưởng mạnh nhất tới số lượng xe được thuê đó là “temp”
và “days_since_2011” (thể hiện xu hướng thuê xe theo thời gian). Tác động
của giá trị nhiệt độ lên kết quả cuối cùng nằm trong một dải rộng. Xu hướng
theo thời gian đi từ 0 cho tới vô cùng lớn, bởi vì vào ngày đầu tiên của dữ
liệu (01.01.2011), xu thế quan sát được là rất hữu hạn và giá trị trọng số
được ước lượng là 4.93. Điều này có nghĩa là ảnh hưởng tăng từng ngày và
đạt đỉnh trong ngày cuối cùng của tập dữ liệu (31.12.2912). Lưu ý rằng với
ảnh hưởng của một trọng số có giá trị âm, một điểm dữ liệu có độ ảnh hưởng
dương sẽ có giá trị đặc trưng âm (âm nhân âm bằng dương). Ví dụ, những
ngày có tốc độ gió lớn sẽ có độ ảnh hưởng âm tới dự đoán.
4.1.4 Giải thích các dự đoán riêng rẽ
Ta tự hỏi mỗi đặc trưng của một điểm dữ liệu sẽ ảnh hưởng ra sao đến
dự đoán? Điều này có thể được trả lời bằng cách tính toán độ ảnh hưởng
ứng với điểm dữ liệu này. Việc diễn giải độ ảnh hưởng của một điểm dữ liệu
chỉ có ý nghĩa khi ta so sánh phân bố của ảnh hưởng cho từng đặc trưng.
Ta muốn giải thích dự đoán của mô hình tuyến tính cho điểm dữ liệu thứ
6 trong tập dữ liệu về xe đạp, trong đó điểm dữ liệu này bao gồm các đặc
trưng có giá trị như trong bảng 4.3:
Để tính toán ảnh hưởng của các đặc trưng cho điểm dữ liệu này, ta phải
nhân từng giá trị đặc trưng với trọng số tương ứng từ mô hình hồi quy
tuyến tính. Với giá trị “WORKING DAY” của đặc trưng “workingday”, độ
ảnh hưởng là 124.9. Với nhiệt độ là 1.6 độ C, độ ảnh hưởng là 177.6. Ta thêm
các ảnh hưởng khác là các đường chéo qua phác họa ảnh hưởng, sẽ chỉ ra
phân bố của các ảnh hưởng trong dữ liệu. Điều này cho phép ta so sánh các
ảnh hưởng đơn lẻ với cả phân bố ảnh hưởng trong dữ liệu.

Hình 4.3: Việc phác họa ảnh hưởng trên một điểm dữ liệu chỉ ra phân bố ảnh
hưởng và làm nổi bật những ảnh hưởng đáng lưu ý.

Nếu ta lấy trung bình của các dự đoán cho các mẫu dữ liệu đầu vào, giá
trị thu được sẽ là 4504. Khi so sánh với dự đoán cho mẫu thứ 6, giá trị này
chỉ là 1571. Việc phác họa ảnh hưởng cho ta biết câu trả lời. Các phác họa
hình hộp chỉ ra phân phối của ảnh hưởng trên toàn tập dữ liệu, các dấu chéo
chỉ ra các ảnh hưởng đặc biệt trên mẫu thứ 6. Ví dụ, mẫu này có ảnh hưởng
nhiệt độ thấp bởi vì ngày này nhiệt độ là 2 độ C, thấp hơn với hầu hết các
ngày còn lại (nhớ rằng trọng số đối với đặc trưng nhiệt độ là dương). Cùng
với đó, ảnh hưởng của đặc trưng “days_since_2011” cũng được coi là nhỏ so
với các mẫu dữ liệu khác bởi vì mẫu này được thu thập vào thời gian đầu,
và đặc trưng này cũng có trọng số dương.

4.1.5 Mã hóa đặc trưng hạng mục

Ta có một vài cách để mã hóa một biến dạng hạng mục, và cách mã hóa
sẽ ảnh hưởng đến các mà ta diễn giải các trọng số. Một tiêu chuẩn về việc mã
hóa trong các mô hình hồi quy tuyến tính gọi là mã hóa đối xử (treatment
coding), và cách mã hóa này phù hợp trong hầu hết các trường hợp. Sử dụng
các phương pháp mã hóa khác nhau giúp việc mã hóa trở nên dễ dàng hơn.
Trong chương này, ta sẽ đề cập tới ba loại mã hóa khác nhau trong rất nhiều
loại mã hóa. Ví dụ được đưa ra sẽ gồm 6 mẫu dữ liệu và mỗi dữ liệu sẽ có
một đặc trưng kiểu hạng mục bao gồm ba giá trị. Với hai mẫu đầu, đặc trưng
hạng mục có giá trị là A; hai mẫu thứ 3 và 4 có giá trị B và 2 mẫu cuối có
giá trị là C.

Mã hóa đối xử - Treatment coding

Trong mã hóa đối xử, trọng số của đặc trưng hạng mục là sự khác nhau
trong dự đoán giữa giá trị của đặc trưng và giá trị tham chiếu. Hệ số chặn
của một mô hình tuyến tính là giá trị trung bình của giá trị tham chiếu (khi
các đặc trưng còn lại không đổi). Cột đầu tiên của ma trận là hệ số chặn và
luôn bằng 1. Cột thứ hai biểu thị liệu đặc trưng hạng mục của mẫu dữ liệu
có giá trị B hay không, và cột thứ 3 thể hiện liệu đặc trưng hạng mục của
mẫu dữ liệu có giá trị C hay không. Ta không cần cột cho giá trị A bởi vì
nếu làm vậy hàm truyền đạt (equation) của mô hình tuyến tính sẽ bị quá xác
định (overspecified). Chỉ cần biết về giá trị B và C có thể cho ta biết được
liệu đặc trưng có rơi vào giá trị A hay không.
Ma trận đặc trưng:
¨ ˛
1 0 0
˚1 0 0‹
˚ ‹
˚1 1 0‹
˚ ‹
˚ ‹
˚1 1 0‹
˚ ‹
˝1 0 1‚
1 0 1

Mã hóa ảnh hưởng - Effect coding

Giá trị trọng số của từng hạng mục của 1 biến hạng mục là giá trị y-sai-
khác (y-difference) của từng giá trị đó với giá trị trung bình (cho rằng tất cả
các đặc trưng là 0 hoặc là giá trị tham chiếu). Cột đầu tiên được sử dụng để
ước lượng hệ số chặn. Giá trị trọng số β0 kết hợp với hệ số chặn để biểu diễn
giá trị trung bình. β1 là trọng số trong cột thứ hai, được tính toán bằng sự
sai khác giữa giá trị trung bình và hạng mục B. Tổng ảnh hưởng của hạng
mục B là β0 ` β1 . Sự diễn giải cho hạng mục C tương tự. Với hạng mục tham
chiếu A, ´pβ1 ` β2 q là sự sai khác giữa giá trị trung bình và β0 ´ pβ1 ` β2 q
tổng ảnh hưởng.
Ma trận đặc trưng:
¨ ˛
1 0 0
˚1 0 0‹
˚ ‹
˚1 1 0‹
˚ ‹
˚ ‹
˚1 1 0‹
˚ ‹
˝1 0 1‚
1 0 1

Mã hóa dummy

Giá trị β của mỗi hạng mục là giá trị trung bình của y cho từng hạng
mục (giả sử tất cả các đặc trưng còn lại là 0 hoặc là giá trị hạng mục tham
chiếu). Lưu ý rằng hệ số chặn có thể được bỏ để giúp ta tìm được tập trọng
số tối ưu duy nhất cho một mô hình tuyến tính.
¨ ˛
1 0 0
˚1 0 0‹
˚ ‹
˚0 1 0‹
˚ ‹
˚ ‹
˚0 1 0‹
˚ ‹
˝0 0 1‚
0 0 1

Nếu muốn tìm hiểu thêm về các loại mã hóa khác nhau cho đặc trưng
kiểu hạng mục, có thể tìm hiểu thêm ở trang web này hoặc blog này.

4.1.6 Mô hình tuyến tính có tạo ra các giải thích tốt?


Với các tiêu chí về giải thích tốt được đề cập trong mục 2.6.2, các mô
hình tuyến tính không thể tạo ra các giải thích tốt nhất. Việc ta giả sử các
điểm dữ liệu coi là tham chiếu có các giá trị đặc trưng dạng số là 0 và các
đặc trưng hạng mục có giá trị tham chiếu là không thực tế. Trừ khi, nếu tất
cả các đặc trưng dạng số được tỉ lệ hóa ở giá trị trung bình (ta trừ đặc trưng
cho giá trị trung bình) và tất cả các biến hạng mục được mã hóa theo kiểu
mã hóa ảnh hưởng (effect encoding), lúc này điểm dữ liệu tham chiếu sẽ là
điểm dữ liệu ở đó tất cả các đặc trưng sẽ nằm ở giá trị trung bình. Điểm này
có thể không tồn tại, tuy nhiên ít nhất cũng sẽ hợp lý hơn trường hợp đầu
tiên ta đề cập. Khi này, giá trị trọng số nhân với giá trị đặc trưng sẽ giải
thích sự tác động tới dự đoán cuối cùng (tương phản với điểm tham chiếu).
Một tiêu chí khác của giải thích tốt đó là tính chọn lọc, và tiêu chí này có thể
đạt được bằng cách sử dụng ít đặc trưng hoặc huấn luyện với một mô hình
tuyến tính thưa (sparse linear model). Nhưng mặc định, các mô hình tuyến
tính không tạo ra các giải thích mang tính chọn lọc, mà chúng tạo ra các giải
thích trung thực. Miễn là hàm truyền đạt có thể mô hình chính xác mối quan
hệ giữa các đặc trưng và dự đoán đầu ra. Nếu một mô hình có càng nhiều
sự phi tuyến (non-linearity) và tương tác (interaction) giữa các đặc trưng,
sự giải thích của mô hình sẽ càng giảm đi sự trung thực, nghĩa là phản ánh
đúng mối quan hệ đầu ra - đầu vào. Sự tuyến tính làm cho việc giải thích trở
nên khái quát hóa và đơn giản. Tác giả tin rằng, tính tuyến tính vốn có của
mô hình tuyến tính là nhân tố chính giải thích tại sao nhiều người sử dụng
các mô hình tuyến tính để giải thích quan hệ nhân quả.
4.1.7 Mô hình tuyến tính thưa
Các ví dụ về mô hình tuyến tính mà tác giải đã chọn đều khá rõ ràng
và đơn giản, liệu chúng có thực sự như thế? Trong thực tế, ta không chỉ có
vài mà có hàng trăm, hàng ngàn đặc trưng. Liệu mô hình tuyến tính của ta
đủ khả năng? Lúc này tính khả diễn giải sẽ bị giảm sút. Thậm chí có trường
hợp số đặc trưng còn nhiều hơn số lượng dữ liệu để huấn luyện mà ta có, và
ta không thể khớp một mô hình tuyến tính thông thường. May mắn thay, ta
có một số cách để làm thưa mô hình (ít đặc trưng hơn) mà vẫn đảm bảo sự
tuyến tính.

Lasso

Lasso là một phương pháp thuận tiện cho phép ta tự động làm thưa các
mô hình hồi quy tuyến tính. Lasso là viết tắt của “least absolute shrinkage
and selection operator” hay Thuật toán lựa chọn và rút gọn tối ưu LASSO,
được áp dụng trong các mô hình hồi quy tuyến tính để ta có thực hiện việc
chọn lựa đặc trưng và điều chuẩn (regularization ) các trọng số tương ứng
với các đặc trưng. Công thức tối ưu để tìm tập trọng số tối ưu như sau:
˜ ¸
n
1 ÿ piq
minβ py ´ xTi βq2
n i“1

Với LASSO, ta thêm một thành phần điều chuẩn vào công thức trên ta được:
˜ ¸
n
1 ÿ piq
minβ py ´ xTi βq2 ` λ||β||1
n i“1

Giá trị ||β||1 là chuẩn L1 (L1-norm) của vector đặc trưng, thành phần
mới này sẽ trừng phạt (penalize) các trọng số mang giá trị lớn. Khi chuẩn L1
được sử dụng, rất nhiều các trọng số sẽ nhận giá trị 0 trong khi các giá trị
còn lại bị thu nhỏ lại. Tham số lambda (λ) sẽ điều chỉnh tác động của thành
phần chuẩn L1 và giá trị này thường được chọn trong quá trình kiểm định
chéo (cross-validation). Đặc biệt, khi giá trị lambda lớn, rất nhiều trọng số
sẽ trở về 0. Các trọng số gắn với các đặc trưng có thể được biểu diễn bằng 1
hàm của tham số lambda. Mỗi trọng số của đặc trưng được biểu diễn bởi 1
đường trong hình dưới đây.
Hình 4.4: Khi tăng lượng phạt (penalty) lên các trọng số, số lượng các trọng
số có giá trị khác 0 sẽ giảm dần. Các đường trên còn được gọi là các đường
điều chuẩn. Các số trên cùng (12, 12, 12 ...) là số các trọng số khác 0 ở một
giá trị lambda cho trước. Ví dụ ở log lambda = 1, ta có 12 trọng số khác 0,
ở lambda = 6, chỉ còn 4 trọng số.

Vậy ta chọn hệ số lambda như thế nào? Nếu ta coi thành phần lượng phạt
như là một tham số cần được điều chỉnh thì ta có thể tìm tham số lambda
bằng cách tối thiểu hóa độ chệch của dự đoán và giá trị thực tế trong quá
trình kiểm định chéo. Ta cũng có thể coi lambda là một tham số điểu khiển
độ khả diễn giải của một mô hình. Khi lượng phạt càng lớn, mô hình sẽ bao
gồm càng ít đặc trưng hơn (bởi vì trọng số của chúng là 0) và mô hình càng
dễ diễn giải.

Ví dụ với Lasso

Ta sẽ dự đoán số lượng xe thuê bằng Lasso. Ta đặt số đặc trưng mong


muốn trước. Giờ ta sẽ đặt giá trị trọng số cho hai đặc trưng như trong bảng
4.4.
Hai đặc trưng có trọng số không âm trong đường Lasso (Lasso path) đó
Weight
seasonSPRING 0.00
seasonSUMMER 0.00
seasonFALL 0.00
seasonWINTER 0.00
holidayHOLIDAY 0.00
workingdayWORKING DAY 0.00
weathersitMISTY 0.00
weathersitRAIN/SNOW/STORM 0.00
temp 52.33
hum 0.00
windspeed 0.00
days_since_2011 2.15

Bảng 4.4: Giá trị các trọng số đặc trưng của một điểm dữ liệu với 2 đặc trưng
khác giá trị tham chiếu.

là nhiệt độ (“temp”) và xu hướng (“days_since_2011”). Giờ ta sẽ đặt 5 đặc


trưng có trọng số khác 0 như trong bảng 4.5.
Lưu ý rằng các trọng số cho nhiệt độ và xu hướng đã tăng so với bảng
trước. Lí do là vì khi ta giảm giá trị lambda, các đặc trưng trong mô hình
đang có sẽ bị trừng phạt ít đi và ta thu được các trọng số lớn hơn. Sự diễn
giải của các trọng số Lasso tương ứng với sự diễn giải của hệ số trong mô
hình hồi quy tuyến tính. Ta chỉ cần quan tâm đến liệu các đặc trưng đã được
chuẩn hóa hay chưa, bởi vì điều này làm ảnh hưởng tới các trọng số. Trong
ví dụ này, các đặc trưng được chuẩn hóa bởi phần mềm, tuy nhiên trọng số
đã được biến đổi một cách tự động cho ta để phù hợp với dải đặc trưng gốc.

Các phương pháp làm thưa khác trong mô hình tuyến tính

Các phương pháp giảm số lượng đặc trưng trong một mô hình tuyến tính
rất đa dạng.
Tiền xử lý: - Lựa chọn đặc trưng thủ công: Ta có thể luôn luôn dùng kinh
nghiệm để lựa chọn hoặc loại bỏ đặc trưng. Vấn đề lớn nhất của việc làm
này đó là ta không thể tự động hóa quy trình cũng như sẽ bị giới hạn bởi sự
hiểu biết về dữ liệu. - Lựa chọn đặc trưng đơn lẻ (univariate selection): Một
Weight
seasonSPRING -389.99
seasonSUMMER 0.00
seasonFALL 0.00
seasonWINTER 0.00
holidayHOLIDAY 0.00
workingdayWORKING DAY 0.00
weathersitMISTY 0.00
weathersitRAIN/SNOW/STORM -862.27
temp 85.58
hum -3.04
windspeed 0.00
days_since_2011 3.82

Bảng 4.5: Giá trị các trọng số đặc trưng của một điểm dữ liệu với 5 đặc trưng
khác giá trị tham chiếu

ví dụ đó là hệ số tương quan. Chỉ những đặc trưng có giá trị tương quan với
mục tiêu đầu ra vượt quá một ngưỡng cho phép được chọn. Tuy nhiên, nhược
điểm của việc này đó là ta phải cân nhắc từng đặc trưng một cách độc lập.
Một số đặc trưng khi được xét riêng rẽ như vậy sẽ không thể hiện được sự
tương quan trừ khi có mặt của các đặc trưng khác.
Trong từng bước:
- Lựa chọn tiến (forward selection): Khớp mô hình với chỉ một đặc trưng.
Làm vậy với từng đặc trưng. Ta chọn mô hình làm việc tốt nhât (ví dụ có
giá trị R bình phương cao nhất). Với các đặc trưng còn lại, ta khớp các mô
hình khác nhau bằng cách thêm từng đặc trưng vào mô hình tốt nhất hiện
tại. Ta chọn mô hình làm việc tốt nhất. Tiếp tục cho đến khi mô hình thỏa
mãn một số tiêu chí được đề ra ban đầu, ví dụ như số lượng đặc trưng cực
đại.
- Lựa chọn lùi (backward selection): Tương tự với lựa chọn tiến. Nhưng
thay vì thêm từng đặc trưng, ta bắt đầu với một mô hình bao gồm tất cả các
đặc trưng có thể và cố gắng tìm ra đặc trưng nào mà khi ta bỏ đi sẽ đem lại
kết quả tốt nhất. Lặp lại cho tới khi thỏa mãn một số tiêu chí ban đầu.
Tôi nghĩ Lasso là một phương pháp rất tốt, bởi vì nó tự động, làm việc
trên toàn đặc trưng một cách đồng thời, và có thể hiệu chỉnh thông qua
lambda. Phương pháp này cũng làm việc tốt trên mô hình hồi quy logistic
cho bài toán phân loại.

4.1.8 Lợi điểm


Việc mô hình các dự đoán thành tổng trọng số giúp ta hiểu rõ tại sao dự
đoán được tạo ra. Và cùng với Lasso, ta có thể đảm bảo rằng số lượng đặc
trưng được sử dụng là nhỏ.
Rất nhiều người sử dụng mô hình hồi quy tuyến tính. Điều này có nghĩa
rằng trong rất nhiều trường hợp, dạng mô hình này vẫn đủ khả năng làm
việc tốt. Trong các tài liệu về việc dạy về các mô hình hồi quy tuyến tính,
chúng được viết bởi R, Python, Java, Julia, Scala, Javascript, ...
Về mặt toán học, việc ước lượng các trọng số rất rõ ràng và dễ hiểu và ta
luôn đảm bảo được việc tìm ra được một tập trọng số tối ưu cho bài toán.
Cùng với các trọng số, ta có thể tạo ra khoảng tin cậy, các phép thử, và
các lý thuyết xác suất. Ngoài ra có rất nhiều mở rộng của mô hình hồi quy
tuyến tính (trong chương GLM, và GAM ...).

4.1.9 Nhược điểm


Các mô hình tuyến tính chỉ có thể biểu diễn các mối quan hệ tuyến tính,
ví dụ như tổng trọng số của các đặc trưng đầu vào. Mỗi sự phi tuyến hay sự
tương tác giữa các đặc trưng phải được xử lý thủ công.
Các mô hình tuyến tính thường không đem lại kết quả dự đoán tốt, bởi
vì các đặc trưng và tương tác được học bởi mô hình bị giới hạn và việc mô
hình hóa dữ liệu trở nên quá đơn giản so với thực tế.
Sự diễn giải của một trọng số có thể trở nên không trực quan bởi vì nó
có thể phụ thuộc vào tất cả các đặc trưng khác. Khi một đặc trưng A có hệ
số tương quan cao với cả đầu ra y và một đặc trưng B, đặc trưng A này có
thể có trọng số âm trong mô hình tuyến tính. Các đặc trưng có tương quan
mạnh thậm chí làm mô hình tuyến tính không thể hội tụ. Ví dụ: Ta có một
mô hình dự đoán giá nhà và các đặc trưng như số phòng, diện tích. Diện tích
và số phòng có mối tương quan rất lớn: nếu nhà càng lớn, số phòng sẽ nhiều
hơn. Nếu ta lấy cả hai đặc trưng đưa vào mô hình tuyến tính, điều có thể
xảy ra đó là diện tích của ngôi nhà sẽ giúp việc dự đoán trở nên tốt hơn và
có trọng số dương lớn. Số phòng có thể có trọng số âm bởi vì cùng với một
diện tích, việc tăng số phòng có thể làm giá giảm đi hoặc hàm truyền đạt
tuyến tính mất ổn định, khi sự tương quan là quá lớn.

4.2 Hồi quy Logistic


Hồi quy logistic cho các bài toán phân loại với hai khả năng (2 lớp) là
một mở rộng của mô hình hồi quy tuyến tính.

4.2.1 Tại sao không áp dụng hồi quy tuyến tính cho
phân loại?
Mô hình hồi quy tuyến tính có thể làm việc tốt với bài toán hồi quy, nhưng
không thể với bài toán phân loại. Tại sao vậy? Nếu ta có 2 lớp (classes), ta
có thể gắn nhãn một trong hai lớp là 0 và lớp còn lại là 1 và sử dụng hồi quy
tuyến tính. Về mặt kỹ thuật, mô hình có thể hoạt động, tuy nhiên, có một
số vấn đề với cách tiếp cận này:
Mô hình tuyến tính không cho ta biết xác suất mà chỉ tính toán đầu ra
ứng với các giá trị 0 và 1 để tìm ra một siêu phẳng mà khớp các điểm dữ
liệu cho trước một cách tốt nhất. Công đoạn này được thực hiện bởi phép
nội suy giữa các điểm và ta không thể diễn giải dưới dạng xác suất.
Ngoài ra, giá trị đầu ra của một mô hình tuyến tính có thể nhỏ hơn 0
hoặc lớn hơn 1. Điều này cho phép ta tiếp cận bài toán phân loạt một cách
dễ dàng hơn một chút.
Tuy nhiên, vì giá trị đầu ra không phải là các giá trị xác suất mà là một
phép nội suy tuyến tính giữa các điểm, ta khó có căn cứ để phân loại một
lớp với các lớp còn lại. Vấn đề này được thảo luận kĩ trên Stackoverflow tại
đây.
Khi ta có nhiều hơn 2 lớp, ta sẽ phải gắn nhãn các lớp tiếp theo với các
nhãn là 2, 3, ... Mặc dù các lớp không có tương quan gì về mặt thứ tự, nhưng
việc ta gắn nhãn như vậy sẽ làm mô hình hiểu nhầm và mối quan hệ về mặt
thứ tự sẽ được học trong quá trình huấn luyện. Hai lớp có thể có giá trị mong
muốn gần như giống nhau, nhưng về bản chất giữa chúng không tồn tại quan
hệ gần gũi nào cả.
Hình 4.5: Một mô hình tuyến tính phân loại u ác tính là 1 và u lành tính là
0 khi cho trước độ lớn của u. Các đường phía trên cho ta biết dự đoán của
các mô hình tuyến tính. Với dữ liệu bên trái, ta có thể thấy ngưỡng 0.5 sẽ
làm việc tốt trong việc phân loại (chỉ có 2 điểm bị dự đoán sai thành lành
tính). Sau đó, ta thêm vài trường hợp u ác tính, lúc này đường hồi quy sẽ
dịch chuyển và ngưỡng 0.5 sẽ không thể phân tách các lớp. Các điểm dữ liệu
trong hình bên phải đã được thay đổi vị trí 1 chút để giảm việc quá phác họa
(over-plotting).

4.2.2 Lý thuyết cơ sở
Một hướng giải quyết bài toán phân loại là hồi quy logistic. Thay vì tìm
ra một đường thẳng hoặc một siêu phẳng, một mô hình hồi quy logistic sử
dụng hàm logistic để sinh ra giá trị giữa 0 và 1. Hàm logistic được định nghĩa
như sau:

1
logisticpηq “
1 ` expp´ηq

Việc biến đổi từ hồi quy tuyến tính sang hồi quy logistic khá minh bạch
và đơn giản. Trong hồi quy tuyến tính, ta mô hình đặc trưng và đầu ra với
Hình 4.6: Hàm logistic sinh ra các giá trị giữa 0 và 1. Khi đầu vào là 0, giá
trị đầu ra là 0.5.

1 hàm tuyến tính:

piq
ŷ piq “ β0 ` β1 x1 ` . . . ` βp xpiq
p

Với bài toán phân loại, do ta mong muốn các giá trị xác suất, ta đưa vế
phải của phương trình trên vào hàm logistic. Ta có:

1
P py piq “ 1q “ piq piq
1 ` expp´pβ0 ` β1 x1 ` . . . ` βp xp qq

Ta hãy quay lại bài toán phân loại u ác tính/lành tính bên trên, nhưng
lần này ta sử dụng mô hình hồi quy logistic:
Bài toán phân loại có thể được giải quyết tốt hơn với hồi quy logistic và
ta có thể dùng ngưỡng 0.5.
Việc thêm một số điểm dữ liệu không thực sự ảnh hưởng tới đường ranh
giới mà ta tìm ra trước đó như trong hình dưới đây.
Hình 4.7: Mô hình hồi quy logistic tìm ra được một đường ranh giới quyết
định giữa u lành và u ác dựa trên kích thước của u. Đường logistic bị dịch
và khớp với dữ liệu.

4.2.3 Sự diễn giải


Việc diễn giải các trọng số trong mô hình hồi quy logistic khác với trong
mô hình hồi quy tuyến tính do giá trị đầu ra là các giá trị xác suất giữa 0 và
1. Các trọng số không ảnh hưởng đến giá trị xác suất ta thu được một cách
tuyến tính như trong mô hình hồi quy tuyến tính. Tổng trọng số được biến
đổi bởi hàm logistic thành một giá trị xác suất. Do đó, ta cần xây dựng lại
công thức cho việc diễn giải. Từ công thức của hàm logistic ta có:

ˆ ˙ ˆ ˙
P py “ 1q P py “ 1q
log “ log “ β0 ` β1 x1 ` . . . ` βp xp
1 ´ P py “ 1q P py “ 0q

Ta gọi thành phần nằm trong hàm log là “kì dị” (odds - xác suất của sự
kiện xảy ra chia cho xác suất sự kiện không xảy ra) và cả hàm log là log kì
dị.
Công thức này chỉ ra rằng mô hình hồi quy logistic là một mô hình tuyến
tính với log kì dị. Tuyệt vời! Nhưng có vẻ không giúp gì được nhiều cho lắm!
Khi ta biến đổi một chút, ta có thể thấy được các dự đoán thay đổi như thế
nào khi một trong các đặc trưng xj thay đổi 1 đơn vị. Để làm điều này, đầu
tiên ta áp dụng hàm exp() cho cả 2 phía của phương trình. Ta được.

P py “ 1q
“ odds “ exp pβ0 ` β1 x1 ` . . . ` βp xp q
1 ´ P py “ 1q
Sau đó ta so sánh sự tác động khi ta tăng giá trị của một đặc trưng lên
1 đơn vị. Rồi sau đó, ta tính tỉ số giữa hai giá trị trước và sau khi tăng:

oddsxj `1 exp pβ0 ` β1 x1 ` . . . ` βj pxj ` 1q ` . . . ` βp xp q



odds exp pβ0 ` β1 x1 ` . . . ` βj xj ` . . . ` βp xp q
Rồi ta áp dụng công thức sau:

exppaq
“ exppa ´ bq
exppbq
Cuối cùng ta thu được:

oddsxj `1
“ exp pβj pxj ` 1q ´ βj xj q “ exp pβj q
odds
Giá trị cuối cùng ta thu được là exp() của trọng số trên đặc trưng đó. Khi
thay đổi một đặc trưng 1 đơn vị, tỉ lệ kì dị (odds ratio) sẽ bị thay đổi theo
một tỉ lệ exppβj q. Ta có thể diễn giải như sau: Khi tăng xj 1 đơn vị, tỉ lệ kì
dị thay đổi một lượng là giá trị trọng số ứng với xj . Hầu hết chúng ta diễn
giải trên tỉ lệ kì dị bởi vì sử dụng công thức gốc (có hàm log) sẽ khó tưởng
tượng hơn. Việc diễn giải tỉ lệ kì dị cũng cần một vài yêu cầu cho trước. Ví
dụ, khi ta có giá trị kì dị:

P py “ 1q
“2
1 ´ P py “ 1q
nghĩa là xác suất để y=1 gấp đôi xác suất y=0. Nếu ta có một trọng số là
0.7, thì việc tăng đặc trưng tương ứng lên một đơn vị cũng đồng nghĩa với
việc nhân tỉ lệ kì dị với expp0.7q (xấp xỉ 2) và giá trị kì dị:

P py “ 1q
“4
1 ´ P py “ 1q
Tuy nhiên ta luôn luôn ta không thể diễn giải dự trên tỉ lệ kì dị. Bởi vì
việc tính toán giá trị kì dị đòi hỏi ta phải đặt giá trị cho từng các đặc trưng,
và điều này chỉ có ý nghĩa khi ta đang quan sát duy nhất một điểm dữ liệu.
Ta có một vài cách diễn giải cho các mô hình hồi quy logistic với các loại
đặc trưng khác nhau:
- Đặc trưng dạng số: Khi ta tăng giá trị xj lên 1, giá trị kì dị sẽ được tăng
lên exppβj q lần.
- Đặc trưng nhị phân: Một trong hai giá trị của đặc trưng là giá hạng
mục tham chiếu (thường được mã hóa là 0). Việc thay đổi đặc trưng xj từ
giá trị tham chiếu sang giá trị còn lại cũng làm giá trị kì dị tăng lên exppβj q
lần.
- Đặc trưng hạng mục có nhiều hơn 2 hạng mục: Ta có thể dụng mã hóa
one-hot, mỗi hạng mục có cột riêng. Khi này ta chỉ cần L ´ 1 cột cho L hạng
mục. Hạng mục thứ L là hạng mục tham chiếu. Sự diễn giải của từng hạng
mục cũng giống như với đặc trưng dạng nhị phân.
- Hệ số chặn β0 : Khi tất cả các đặc trưng dạng số là 0 và các đặc trưng
hạng mục ở giá trị tham chiếu, giá trị kì dị là exppβ0 q. Sự diễn giải trọng số
của hệ số chặn thường không cần thiết.

4.2.4 Ví dụ
Ta sử dụng một mô hình hồi quy logistic để dự đoán bệnh ung thư cổ tử
cung dựa trên một số đặc trưng. Bảng dưới đây cho ta thấy các giá trị trọng
số ứng với các đặc trưng, giá trị kì dị tương ứng, và độ lệch chuẩn của phép
ước lượng.
Sự diễn giải của một đặc trưng số “(Num. of diagnosed STDs)”: Một sự
tăng của “(Num. of diagnosed STDs)” sẽ làm tăng kì dị (ung thư vs không
ung thư) 2.26 lần, khi các đặc trưng còn lại được giữ nguyên. Ta nên nhớ
rằng việc tương quan này không hàm chứa quan hệ nhân quả.
Sự diễn giải của một đặc trưng hạng mục “(Hormonal contraceptives y/n)”:
Với phụ nữ sử dụng các biện pháp tránh thai dựa vào điều chỉnh nội tiết tố
(hormonal contraceptives), giá trị kì dị cho việc mắc ung thư và không ung
thư sẽ giảm còn 0.89 lần so với phụ nữ không sử dụng, khi các đặc trưng còn
lại được giữ nguyên.
Giống trong mô hình tuyến tính, sự diễn giải luôn đi kèm với điều kiện
Bảng 4.6: Kết quả sau khi khớp một mô hình hồi quy logistic trên tập dữ
liệu ung thư cổ tử cung. Dưới đây là các đặc trưng của mô hình, giá trị trọng
số và kì dị cũng như độ lệch chuẩn của các trọng số.
Weight Odds ratio Std. Error
Intercept -2.91 0.05 0.32
Hormonal contraceptives y/n -0.12 0.89 0.30
Smokes y/n 0.26 1.29 0.37
Num. of pregnancies 0.04 1.04 0.10
Num. of diagnosed STDs 0.82 2.26 0.33
Intrauterine device y/n 0.62 1.85 0.40

“các đặc trưng còn lại được giữ nguyên”.

4.2.5 Ưu và nhược điểm


Rất nhiều ưu và nhược điểm của mô hình hồi quy tuyến tính cũng xuất
hiện trong mô hình hồi quy logistic. Hồi quy logistic được sử dụng rộng rãi
nhưng nhưng chúng khá hạn chế bởi vì các tương tác giữa đặc trưng cần
được thêm một cách thủ công. Thêm vào đó, các mô hình khác có thể cho
hiệu quả tốt hơn.
Một hạn chế khác đó là việc diễn giải trở nên phức tạp hơn nhiều bởi vì
các trọng số sử dụng phép nhân chứ không phải phép cộng.
Hồi quy logistic còn bị một vấn đề gọi là phân tách hoàn toàn (complete
separation). Nếu ta có một đặc trưng có thể giúp phân biệt hai lớp một cách
rõ ràng, mô hình hồi quy logistic sẽ không thể được huấn luyện. Lý do là
trọng số cho đặc trưng này không thể hội tụ vì nó sẽ nhận giá trị vô cùng.
Bạn có thể tham khảo thêm ở đây. Thật không may rằng đặc trưng này sẽ
rất hữu ích trong bài toán của ta. Nhưng ta sẽ không cần học máy nếu ta có
một luật cơ bản để phân tách hai lớp. Vấn đề của phân tách hoàn toàn có
thể được giải quyết bằng cách thêm một lượng phạt vào các trọng số hoặc
định nghĩa trước một phân bố xác suất cho các trọng số.
Mặt khác, hồi quy logistic không chỉ là một mô hình phân loại, nó còn
cho ta biết xác suất. Việc một bức ảnh được dự đoán là mèo với xác suất
99% rất khác với 51%.
Hồi quy logistic có thể được mở rộng từ phân loại nhị phân thành phân
loại đa lớp (multi-class classification). Khi đó ta gọi là hồi quy đa thức.

4.2.6 Phần mềm


Tôi sử dụng hàm “glm” trong R cho mọi ví dụ được đề cập. Bạn có thể
thấy hàm logistic được triển khai trong hầu hết các ngôn ngữ cho việc phân
tích dữ liệu như Python, Java, Stata, và Matlab.

4.3 GLM, GAM và các mở rộng


Điểm mạnh nhất cũng là điểm yếu nhất của mô hình hồi quy tuyến tính
đó là dự đoán được mô hình bằng các tổng trọng số của các đặc trưng. Ngoài
ra, mô hình tuyến tính được xây dựng trên rất nhiều giả thiết mà chúng
thường không tồn tại trong thực tế. Ví dụ, đầu ra của một mô hình thường
không tuân theo phân phối Gaussian, các đặc trưng sẽ liên hệ mật thiết với
nhau, hoặc các quan hệ giữa đặc trưng và đầu ra là phi tuyến. May mắn
thay rằng ta có rất nhiều các mở rộng từ mô hình hồi quy tuyến tính để biến
chúng từ những cây kiếm đơn sơ thành các cây dao tinh xảo kiểu Thụy Điển.
Chương này sẽ không đi vào việc hướng dẫn cách để mở rộng các mô hình
tuyến tính mà sẽ cung cấp cho độc giả một cái nhìn tổng quan về các mở rộng
ví dụ như mô hình tuyến tính tổng quát (Generalized Linear Models - GLMs)
và mô hình bổ sung tổng quát (Generalized Additive Models - GAMs). Sau
chương này, ta sẽ có một cái nhìn rõ ràng về cách mở rộng các mô hình tuyến
tính. Hãy cùng nhắc lại công thức của một mô hình hồi quy tuyến tính:

y “ β0 ` β1 x1 ` . . . ` βp xp ` 
Mô hình hồi quy tuyến tính giả sử rằng đầu ra y ứng với một đầu vào
có thể được biểu diễn bởi một tổng trọng số của p đặc trưng với một giá trị
lỗi đơn lẻ  (tuân theo phân phối chuẩn). Bằng cách khớp mô hình với công
thức này, ta có thể đạt được tính diễn giải. Các ảnh hưởng được sinh ra bởi
phép cộng, nghĩa là không bao gồm sự tương tác giữa các đặc trưng, và các
mối quan hệ là tuyến tính, nghĩa là khi ta tăng giá trị của một đặc trưng
thì giá trị của đầu ra cũng sẽ tăng hoặc giảm một cách tương ứng. Mô hình
tuyến tính cho phép ta mô hình mối quan hệ giữa một đặc trưng và đầu ra
thành một số duy nhất, gọi là trọng số.
Tuy nhiên một tổng trọng số đơn giản sẽ trở nên rất hạn chế cho rất nhiều
bài toán trong cuộc sống. Trong chương này, ta sẽ tìm hiểu về ba vấn đề của
mô hình hồi quy tuyến tính cổ điển và làm sao để giải quyết chúng. Ngoài
ra còn rất nhiều vấn đề khác nhưng ta sẽ chỉ tập trung vào ba vấn đề trong
hình vẽ dưới đây.

Hình 4.8: Ba giả thiết của mô hình tuyến tính nằm ở bên phải bao gồm: Đầu
ra của mô hình tuân theo phân phối Gaussian, các đặc trưng không tương
tác lẫn nhau, và mối quan hệ tuyến tính giữa đặc trưng và đầu ra. Các giả
thiết này thường không được chấp nhận trong thực tế. Trong thực tế: Giá
trị đầu ra không tuân theo phân phối Gaussian, các đặc trưng có thể tương
tác lẫn nhau, và mối quan hệ giữa đầu ra và đặc trưng là phi tuyến.

Ta có giải pháp cho tất cả các vấn đề trên: Vấn đề: Đầu ra y không tuân
theo phân phối Gaussian
Ví dụ: Giả sử ta muốn dự đoán sẽ mất bao nhiêu phút để lái xe trong
một ngày cho trước. Các đặc trưng mà ta có là loại ngày, thời tiết, ... Nếu
ta sử dụng mô hình tuyến tính, nó có thể dự đoán ra số phút âm bởi vì ta
đang giả thiết với phân phối Gaussian. Tương tự nếu ta muốn dự đoán xác
suất với một mô hình tuyến tính, ta có thể nhận giá trị xác suất nhỏ hơn 0
hoặc lớn hơn 1.
Giải pháp: 4.3.1 Mô hình tuyến tính tổng quát
Vấn đề: Các đặc trưng tương tác với nhau
Ví dụ: Thông thường, mưa nhẹ sẽ có ảnh hưởng tiêu cực nhẹ đến ý định
đạp xe hay không. Tuy nhiên vào mùa hè trong giờ cao điểm, mưa sẽ tốt bởi
vì khi đó đa phần sẽ ở nhà và việc đạp xe sẽ thoải mái hơn rất nhiều. Đây
là một mối tương tác giữa hai đặc trưng thời gian và thời tiết, và mối tương
tác này không thể được học bởi mô hình tuyến tính.
Giải pháp: 4.3.2 Thêm các tương tác một cách thủ công
Vấn đề: Đầu ra và đặc trưng có mối quan hệ phi tuyến
Ví dụ: Khi nhiệt độ nằm giữa 0 và 25 độ, sự ảnh hưởng của nhiệt độ
lên mong muốn đạp xe có thể là tuyến tính, nghĩa là khi ta tăng từ 0 lên 1
độ đồng nghĩa với việc tăng độ mong muốn đi đạp xe từ 20 lên 21. Nhưng
ở nhiệt độ cao, việc tăng nhiệt độ không làm tăng mong muốn mà thậm chí
còn làm giảm vì ít người muốn ra ngoài khi trời quá nóng.
Giải pháp: 4.3.3 Mô hình bổ sung tổng quát; biến đổi đặc trưng
Các giải pháp cho 3 vấn đề trên sẽ được trình bày trong chương này. Có
rất nhiều các mở rộng khác của mô hình tuyến tính sẽ không được đề cập do
nếu tôi gộp tất cả ở đây, chương này sẽ trở thành một cuốn sách trong cuốn
sách về một vấn đề đã được thảo luận trong rất nhiều cuốn khác. Nhưng vì
bạn đã đọc tới đây, tôi đã tạo ra một số vấn đề và giải pháp cho các mở rộng
ở cuối chương này. Tên của các giải pháp được sử dụng như một điểm bắt
đầu khi bạn muốn đi sâu vào nghiên cứu từng lĩnh vực.

4.3.1 Đầu ra không tuân theo phân phối Gaussian -


Mô hình tuyến tính tổng quát
Hồi quy tuyến tính giả sử rằng giá trị đầu ra sẽ tuân theo phân phối
Gaussian. Tuy nhiên giải thiết này bỏ qua rất nhiều trường hợp: Đầu ra có
thể có dạng hạng mục (ung thư vs khỏe mạnh), một biến đếm (số trẻ em),
thời gian để một sự kiện xảy ra (thời điểm một máy hoạt động lỗi), hoặc đầu
ra rất lệch với chỉ một số ít các giá trị là cực kì cao (thu nhập của các hộ gia
đình). Hồi quy tuyến tính có thể được mở rộng để mô hình tất cả các loại
đầu ra trên. Loại mở rộng này gọi là Mô hình tuyến tính tổng quát hay viết
tắt GLM. Xuyến suốt chương này, tôi sẽ sử dụng cái tên GLM chung chung
và cho cả khi nhắc đến một mô hình cụ thể. Ý tưởng chính của bất cứ GLM
nào đó là: Giữ tổng trọng số của các đặc trưng nhưng cho phép đầu ra không
tuân theo phân phối Gaussian và liên kết giá trị trung bình của phân phối
này và tổng trọng số thông qua một hàm phi tuyến. Ví dụ, mô hình hồi quy
logistic giả sử đầu ra tuân theo phân phối Bernouli và liên kết giá trị trung
bình này và tổng trọng số dùng hàm logstic.
Về mặt toán học, GLM liên kết tổng trọng số của các đặc trưng với giá
trị trung bình của phân phối đó thông qua hàm liên kết (link function) g, và
g có thể được chọn linh hoạt dựa trên loại đầu ra mà ta có:

gpEY py|xqq “ β0 ` β1 x1 ` . . . βp xp

GLM bao gồm ba thành phần. Hàm liên kết g, tổng trọng số X T β (đôi
khi được gọi là bộ dự đoán tuyến tính), và một phân bố xác suất có dạng
mũ (EY .)
Các phân phối có dạng hàm mũ có thể được viết một cách tổng quát bao
gồm phần mũ (exponent), giá trị trung bình (mean), và phương sai của phân
phối đó, ngoài ra còn một số tham số khác. Bạn có thể tìm hiểu về các phân
phối có dạng hàm mũ ở link này. Bất cứ phân phối nào cũng có thể được sử
dụng cho GLM. Dựa trên loại đầu ra ta muốn dự đoán, ta có thể chọn phân
phối phù hợp. Nếu đầu ra có dạng số đếm (ví dụ như số trẻ em trong một
hộ gia đình), ta có thể dùng phân phối Poisson. Nếu đầu ra luôn dương (thời
gian giữa hai sự kiện), ta có thể dùng phân phối mũ.
Ta hãy xem xét mô hình tuyến tính cổ điển như là một trường hợp đặc
biệt của GLM. Hàm liên kết cho phân phối Gaussian là hàm nhận dạng
(identity function - f pxq “ x). Phân phối Gaussian được tham số hóa bởi giá
trị trung bình và phương sai. Trong mô hình tuyến tính, hàm liên kết giúp
tổng trọng số và giá trị trung bình liên hệ với nhau.
Về GLM nói chung, định nghĩa này được phổ quát cho bất cứ phân phối
nào (có dạng hàm mũ) và một hàm liên kết bất kì. Nếu y là biến đếm, ví dụ
như số cốc cà phê một người uống trong một ngày cho trước, ta có thể mô
hình với phân phối Poisson và hàm log tự nhiên là hàm liên kết:

lnpEY py|xqq “ xT β

Mô hình hồi quy logistic cũng thuộc dạng GLM với giả thiết rằng tuân
theo phân phối Bernouli và hàm liên kết là hàm logit.
Hàm logit có dạng:
ˆ ˙
p
logitppq “ log
1´p

Giá trị trung bình của phân phối nhị phân được sử dụng trong hồi quy
logistic là xác suất để y “ 1.
ˆ ˙ ˆ ˙
EY py|xq P py “ 1|xq
xT β “ ln “ ln
1 ´ EY py|xq 1 ´ P py “ 1|xq

Ta có:

1
P py “ 1q “
1 ` expp´xT βq

Mỗi phân phối có dạng mũ có một hàm liên kết kèm theo kinh điển
(canonical) và có thể suy ra một cách toán học từ phân phối đó. GLM có thể
giúp ta chọn hàm liên kết độc lập với phân phối mà ta chọn. Vậy làm sao
để chọn hàm liên kết chính xác? Thực ra ta không có một công thức chuẩn
cho việc này. Ngoài sử dụng kinh nghiệm thực tiễn ta cũng cần tính toán
lý thuyết hợp lí để cho mô hình ta khớp với dữ liệu nhất. Với một số phân
phối, hàm liên kết kinh điển có thể trả về các giá trị sai với phân phối tương
ứng. Trong trường hợp các phân phối dạng mũ, hàm liên kết kinh điển là
nghịch đảo âm. Điều này có thể trả về các dự đoán mang giá trị âm và nằm
ngoài phân phối mà ta chọn. Do ta có thể chọn bất cứ hàm liên kết nào, một
phương pháp đơn giản đó là ta chọn một hàm có quan hệ gần gũi với phân
phối ta đang dùng.

Ví dụ Ta có một tập dữ liệu về thói quen uống cà phê ở đây để mô tả hoạt


động của GLM. Giả sử rằng ta thu thập dữ liệu về thói quen uống cà phê
hàng ngày. Ngoài số lượng cốc cà phê, ta cũng có thông tin về mức độ stress
hiện tại của một người được đo đạc trong từ khoảng 1 đến 10, mức độ ngủ
ngon xếp hạng từ 1 đến 10, và thông tin liệu người đó có phải làm việc ngày
đó hay không. Mục đích của ta là dự đoán số lượng gốc cà phê được tiêu
thụ trong 1 ngày cho trước với các đặc trưng đã nêu. Dữ liệu được thu thập
trong 200 ngày. Mức độ stress và ngủ ngon trong khoảng 1 đến 10, có làm
việc hay không là có/không. Với mỗi ngày, số cốc cà phê sẽ tuân theo phân
bố Poisson, mô hình cường độ (intensity) λ (cũng là giá trị kì vọng của phân
phối Poisson) như một hàm của các đặc trưng giấc ngủ, stress, và công việc.
Ta hãy nhìn vào phân phối của thí nghiệm này, số cốc cà phê trong 1
ngày:

Hình 4.9: Phân phối của thí nghiệm số lượng cốc cà phê trong 200 ngày.

76 trên tổng số 200 ngày, không có cốc cà phê nào được tiêu thụ và rất
ít ngày người đó tiêu thụ cả thảy 7 cốc cà phê. Đầu tiên ta hãy sử dụng mô
hình tuyến tính để dự đoán số lượng cốc cà phê sử dụng các đặc trưng đã
nêu. Nếu ta giả sử đầu ra tuân theo phân phối Gaussian thì sao? Giả thiết
sai có thể dẫn đến các phép tính toán và ước lượng sai, đặc biệt là khoảng
tin cậy của các trọng số. Một vấn đề rõ ràng khác đó là dự đoán của ta có
thể không khớp với khoảng giá trị hợp lí. Ví dụ như nếu dùng mô hình tuyến
tính, số cốc cà phê có thể là âm!!!
Việc dự đoán các giá trị âm chỉ ra rằng mô hình tuyến tính đang làm việc
không tốt trong bài toán này. Thay vào đó, ta có thể dùng GLM để xử lý vấn
đề. Ta có thể thay đổi hàm liên kết và chọn phân phối khác. Một lựa chọn
khác là ta vẫn có thể dùng phân phối Gaussian và sử dụng hàm liên kết luôn
trả về giá trị dự đoán dương ví dụ như hàm log-link (nghịch đảo của hàm
Hình 4.10: Số cốc cà phê phụ thuộc vào stress, giấc ngủ và công việc. Mô
hình tuyến tính dự đoán các giá trị âm.

mũ tự nhiên) thay vì hàm nhận dạng. Thậm chí để tốt hơn ta có thể chọn
phân phối tương ứng với các giá trị thu thập được trước đó và một hàm liên
kết phù hợp. Do đầu ra là biến đếm, phân phối Poisson là một lựa chọn hợp
lí bên cạnh hàm log đóng vai trò là hàm liên kết. Trong trường hợp này, dữ
liệu cốc cà phê giống với phân phối Poisson, do đó phân phối này này là sự
lựa chọn hoàn hảo. Khi này, phân phối của đầu ra được biểu diễn như hình
trên.

Sự diễn giải của các trọng số trong GLM Phân phối mà ta chọn cũng
như hàm liên kết sẽ quyết định việc các trọng số của GLM được diễn giải
như thế nào. Trong ví dụ trên, ta dùng GLM với phân phối Poisson và hàm
log-link, do đó giữa đặc trưng và đầu ra của mô hình có quan hệ sau:

lnpEpcoffees|stress, sleep, workqq “ β0 ` βstress xstress ` βsleep xsleep ` βwork xwork

Để diễn giải các trọng số, ta đảo hàm liên kết để ta có thể diễn giải ảnh
hưởng của các đặc trưng lên đầu ra của mô hình:
Hình 4.11: Số cốc cà phê phụ thuộc vào stress, giấc ngủ và công việc. GLM
với giả thiết phân phối Poisson và hàm liên kết log-link là lựa chọn hợp lí cho
tập dữ liệu này.

Epcoffees|stress, sleep, workq “ exppβ0 ` βstress xstress ` βsleep xsleep ` βwork xwork q

Do tất cả các trọng số đều nằm trong phần mũ, nên việc diễn giải phụ
thuộc vào phép nhân, bởi vì exp(a + b) bằng exp(a) nhân exp(b). Cuối cùng
ta xem xét các giá trị trọng số với một ví dụ đơn giản. Bảng sau liệt kê các
trọng số của các đặc trưng với khoảng tin cậy 95%.

weight exp(weight) [2.5%, 97.5%]


(Intercept) -0.16 0.85 [0.54, 1.32]
stress 0.12 1.12 [1.07, 1.18]
sleep -0.15 0.86 [0.82, 0.90]
workYES 0.80 2.23 [1.72, 2.93]

Việc tăng mức độ stress lên 1 sẽ nhân số lượng cà phê lên 1.12 lần (e0.12 ).
Tương tự, nếu chất lượng giấc ngủ được tăng lên 1 đơn vị sẽ làm số cốc cà
phê giảm chỉ còn 86%. Số cốc cà phê trong ngày làm việc gấp xấp xỉ 2.23
lần số cốc cà phê trong ngày nghỉ. Nói chung, nếu một người gặp càng nhiều
stress, ngủ càng ít, và nhiều công việc, số lượng cốc cà phê sẽ càng tăng.
Trong chương này, ta đã tìm hiểu một chút về mô hình tuyến tính tổng
quát (GLM) và ta thấy rằng chúng rất hữu ích khi đầu ra mong muốn của
mô hình không tuân theo phân phối Gaussian. Tiếp theo, ta sẽ tìm hiểu cách
để thêm các tương tác giữa các đặc trưng vào trong mô hình hồi quy tuyến
tính.

4.3.2 Thêm các tương tác một cách thủ công


Mô hình hồi quy tuyến tính giả sử rằng ảnh hưởng của một đặc trưng là
không đổi và độc lập với các đặc trưng khác (không tương tác). Tuy nhiên,
các đặc trưng thường tương tác với nhau. Để dự đoán số lượng xe đạp được
thuê, ta cần cân nhắc sự tương quan giữa nhiệt độ và ngày ta đang xét. Khi
ngày đang xét không phải là ngày nghỉ, nhiệt độ sẽ không ảnh hưởng nhiều
đến số lượng xe đạp được thuê. Tuy nhiên nếu đang là ngày nghỉ, rất nhiều
người sẽ thuê xe để đạp đi chơi, tuy nhiên chỉ khi trời đủ ấm. Trong bài toán
dự đoán số xe đạp, ta cần cân nhắc mối tương tác giữa hai đặc trưng này.
Vậy làm sao để giúp mô hình tuyến tính sử dụng tương tác này? Trước
khi ta huấn luyện, hãy thêm một cột vào trong ma trận đặc trưng để biểu
diễn mối tương tác giữa các đặc trưng. Cách tiếp cận này không đòi hỏi ta
thay đổi mô hình tuyến tính mà chỉ thêm các cột vào trong dữ liệu sẵn có.
Trong ví dụ trên, ta sẽ thêm một đặc trưng mới có giá trị 0 vào những ngày
nghỉ, ngoài ra nó sẽ mang giá trị nhiệt độ, giả sử rằng ngày làm việc sẽ là
hạng mục tham chiếu. Dữ liệu ta có như sau:

work temp
Y 25
N 12
N 30
Y 5

Ma trận của dữ liệu được dùng trong mô hình tuyến tính sẽ hơi khác một
chút. Bảng sau là trong trường hợp nếu ta không sử dụng bất kì tương tác
nào. Bình thường, sự việc biến đổi này sẽ được thực hiện một cách tự động
bởi các phần mềm thống kê.
Intercept workY temp
1 1 25
1 0 12
1 0 30
1 1 5

Cột đầu tiên là hệ số chăn. Cột thứ hai mã hóa đặc trưng hạng mục, 0 là
giá trị tham chiếu, và 1 là giá trị còn lại. Cột thứ ba là thông tin về nhiệt độ.
Nếu ta muốn mô hình tuyến tính học tương tác giữa nhiệt độ và đặc trưng
loại ngày (ngày nghỉ/ngày thường) trong quá trình huấn luyện, ta cần thêm
một cột cho tương tác này.
Intercept workY temp workY.temp
1 1 25 25
1 0 12 0
1 0 30 0
1 1 5 5

Cột mới “workY.temp” lưu thông tin về tương tác giữa đặc trưng loại
ngày và nhiệt độ. Cột đặc trưng mới này mang giá trị 0 nếu là ngày nghỉ và
giá trị nhiệt độ vào những ngày thường. Với các mã hóa này, mô hình tuyến
tính có thể học một đặc trưng khác của nhiệt độ cho cả hai loại ngày.
Ở trên là sự tương tác giữa một đặc trưng dạng số và một đặc trưng hạng
mục. Sự tương tác giữa hai đặc trưng hạng mục cũng tương tự. Ta tạo ra các
đặc trưng mới để biểu diễn các tổ hợp của các đặc trưng. Ví dụ ta có hai đặc
trưng hạng mục loại ngày và thời tiết (wthr):

work wthr
Y 2
N 0
N 1
Y 2

Tiếp theo, ta thêm thành phần tương tác vào:


Cột đầu vẫn biểu diễn hệ số chặn. Cột thứ hai biểu thị đặc trưng loại
ngày. Cột thứ ba và thứ tư là đặc trưng thời tiết, gồm hai cột bởi vì ta cần
Intercept workY wthr1 wthr2 workY.wthr1 workY.wthr2
1 1 0 1 0 1
1 0 0 0 0 0
1 0 1 0 0 0
1 1 0 1 0 1

hai trọng số để biểu diễn đặc trưng này (do đặc trưng thời tiết có 3 hạng
mục: 00, 01, và 10). Các cột còn lại biểu diễn các tương tác, giá trị bằng 1
nếu cả 2 đặc trưng đều nhận giá trị 1 và 0 trong các trường hợp còn lại.
Với hai đặc trưng số, tương tác thậm chí còn dễ dàng để biểu diễn hơn
khi ta chỉ cần nhân hai giá trị số này với nhau.
Ngoài ra còn nhiều cách tiếp cận khác để phát hiện và thêm các tương tác
một cách tự động. Một trong số chúng có thể tìm trong chương về RuleFit
(4.6). Thuật toán RuleFit trước nhất sẽ tìm kiếm tương tác rồi sau đó sẽ ước
lượng một mô hình hồi quy tuyến tính bao gồm các tương tác đó.

Ví dụ Hãy trở lại với ví dụ dự đoán thuê xe. Lần này, ta sẽ cân nhắc tương
tác giữa nhiệt độ và loại ngày. Việc này dẫn đến các trọng số được ước lượng
và khoảng tin cậy sau đây:

Weight Std. Error 2.5% 97.5%


(Intercept) 2185.8 250.2 1694.6 2677.1
seasonSUMMER 893.8 121.8 654.7 1132.9
seasonFALL 137.1 161.0 -179.0 453.2
seasonWINTER 426.5 110.3 209.9 643.2
holidayHOLIDAY -674.4 202.5 -1071.9 -276.9
workingdayWORKING DAY 451.9 141.7 173.7 730.1
weathersitMISTY -382.1 87.2 -553.3 -211.0
weathersitRAIN/... -1898.2 222.7 -2335.4 -1461.0
temp 125.4 8.9 108.0 142.9
hum -17.5 3.2 -23.7 -11.3
windspeed -42.1 6.9 -55.5 -28.6
days_since_2011 4.9 0.2 4.6 5.3
workingdayWORKING DAY:temp -21.8 8.1 -37.7 -5.9

Tương tác mới có ảnh hưởng âm (-21.8) và khác 0 (khoảng tin cậy 95%
không bao gồm giá trị 0). Ngoài ra, dữ liệu không có tính chất phân phối
độc lập tương đồng (iid - independent and identically distributed), vì các
ngày gần nhau sẽ phụ thuộc lẫn nhau. Khoảng tin cậy có thể bị sai. Sự
tương tác thay đổi cách diễn giải của các trọng số liên quan đến một đặc
trưng. Liệu nhiệt độ có một ảnh hưởng tiêu cực tới đầu ra nếu ngày đang
xét là một ngày bình thường (a working day)? Câu trả lời là không, thậm
chí cả nếu điều đó được thể hiện trên bảng. Ta không thể diễn giải đặc trưng
“workingdayWORKING DAY:temp” một cách riêng rẽ chỉ bằng trọng số của
nó do điều kiện của việc diễn giải trong mô hình tuyến tính là: “Tất cả các
đặc trưng còn lại không đổi”. Giả sử rằng ta đang có một ngày làm việc và ta
muốn biết liệu điều gì sẽ xảy ra nếu nhiệt độ tăng thêm 1. Khi đó ta cần tính
tổng của cả trọng số cho hai đặc trưng “temp” và “workingdayWORKING
DAY:temp” để ước lượng sự thay đổi.
Việc hiểu các mối tương tác bằng trực quan sẽ dễ dàng hơn. Với việc thêm
một tương tác mới giữa một đặc trưng hạng mục và một đặc trưng số, ta sẽ
có hai đường để biểu diễn ảnh hưởng của nhiệt độ thay vì một. Đường ảnh
hưởng của nhiệt độ cho ngày nghỉ có thể được đọc trực tiếp từ bảng (125.4).
Ảnh hưởng cho ngày làm việc là tổng của cả hai trọng số nhiệt độ (125.4 -
21.8 = 103.6). Hệ số chặn tại nhiệt độ bằng 0 với ngày nghỉ được quyết định
bởi hệ số chặn của mô hình tuyến tính (2185.8). Hê số chặn với ngày làm
việc tại nhiệt độ bằng 0 là 2185.8 + 451.9 = 2637.7.

4.3.3 Các ảnh hưởng phi tuyến - Mô hình bổ sung tổng


quát (GAM)
Thế giới phi tuyến Sự tuyến tính trong các mô hình tuyến tính hàm ý
rằng dù cho với dữ liệu đầu vào như thế nào, khi ta tăng một giá trị lên một
đơn vị thì ta sẽ luôn chứng kiến một ảnh hưởng nhất định đến đầu ra. Thực
ra việc này là hợp lý trong ví dụ thuê xe khi ta tăng 1 độ từ 10 độ C sẽ có
tác động tương đương khi ta đang ở 40 độ C. Một cách trực giác, ta có thể
hi vọng rằng khi ta tăng nhiệt độ từ 10 lên 11 độ, ta sẽ nhận được một tác
hưởng tích cực lên số lượng xe được thuê; và tăng 40 lên 41 độ sẽ có ảnh
hưởng tiêu cực. Giá trị nhiệt độ là tuyến tính, tác động tích cực lên số lượng
xe được thuê, nhưng ở một số điểm số lượng xe sẽ bão hòa và thậm chí có
tác động tiêu cực ở nhiệt độ cao. Mô hình tuyến tính không quan tâm đến
Hình 4.12: Ảnh hưởng của nhiệt độ (đã bao gồm tương tác) và loại ngày lên
số lượng xe được thuê trong mô hình tuyến tính. Ta có hai đường, mỗi đường
cho mỗi loại ngày.

việc này mà nó sẽ chỉ quan tâm đến siêu phẳng cuối cùng sau huấn luyện.
Ta có thể mô hình các mối quan hệ phi tuyến bằng cách sử dụng một trong
các kỹ thuật sau:
- Biến đổi đặc trưng một cách đơn giản (ví dụ dùng hàm log).
- Hạng mục hóa các đặc trưng.
- Mô hình tuyến tính bổ sung tổng quát.
Trước khi đi sâu vào từng phương pháp, ta hãy bắt đầu với một ví dụ để
mô tả chúng. Ta có tập dữ liệu thuê xe và huấn luyện một mô hình tuyến
tính chi với đặc trưng duy nhất là nhiệt độ để dự đoán số xe. Hình dưới đây
chỉ ra đường ước lượng với các trường hợp: mô hình tuyến tính thông thường,
mô hình tuyến tính với nhiệt độ được biến đổi bằng hàm log, mô hình tuyến
tính với nhiệt độ được thay đổi về dạng hạng mục, và cuối cùng là GAM.

Biến đổi đặc trưng Hàm logarit thường được sử dụng để biến đổi các đặc
trưng. Khi sử dụng hàm này, cứ mỗi khi nhiệt độ tăng 10 lần, độ ảnh hưởng
Hình 4.13: Dự đoán số lượng xe chỉ dùng đặc trưng duy nhất là nhiệt độ. Mô
hình tuyến tính (góc trên bên trái) không thể khớp dữ liệu. Một giải pháp
khác đó là biến đổi đặc trưng ví dụ sử dụng hàm mũ (góc trên bên phải),
hạng mục hóa đặc trưng (góc dưới bên trái), tuy nhiên cũng không thể hoạt
động tốt. GAM có thể tìm ra một đường khớp dữ liệu một cách tự động với
đặc trưng nhiệt độ.

là giống nhau (ví dụ khi tăng từ 1 lên 10 độ và tăng 0.1 lên 1 độ). Các ví dụ
khác của hàm biến đổi đặc trưng là hàm căn bậc 2, hàm mũ hai và các loại
hàm dạng mũ. Việc sử dụng biến đổi đặc trưng đồng nghĩa với việc ta thay
đổi đặc trưng trong các cột thành các hàm của giá trị đó, ví dụ như hàm log,
và sau đó khớp với mô hình như thông thường. Một số phần mềm thống kê
cũng cho phép ta xác định loại biến đổi trong việc sử dụng mô hình tuyến
tính và ta có thể mặc nhiên sáng tạo trong việc biến đổi các đặc trưng. Sự
diễn giải của các đặc trưng thay đổi tùy theo phương pháp biến đổi ta sử
dụng. Nếu ta sử dụng hàm log, việc diễn giải trong một mô hình tuyến tính
trở thành: “Nếu hàm log của một đặc trưng được tăng lên 1 nghĩa là đầu ra
tăng lên số lần chính bằng giá trị trọng số của đặc trưng đó”. Sử ta sử dụng
GLM với một hàm liên kết khác hàm nhận dạng, việc diễn giải trở nên phức
tạp hơn bởi vì ta phải cân nhắc cả việc biến đổi vào trong quá trình diễn giải
(trừ khi chúng triệt tiêu lẫn nhau như hàm log và hàm exp).

Hạng mục hóa đặc trưng Một phương pháp khác để có thể nắm bắt
được các ảnh hưởng phi tuyến đó là rời rạc hóa đặc trưng; nghĩa là biến
chúng thành các đặc trưng dạng hạng mục. Ví dụ, ta có thể chia nhiệt độ ra
thành 20 khoảng với các dải khác nhau [-10, -5), [-5, 0), ... Khi ta sử dụng
các giá trị nhiệt độ được hạng mục hóa thay vì các giá trị liên tục, mô hình
tuyến tính sẽ ước lượng dựa trên một hàm bước (step function) bởi vì mỗi
khoảng sẽ có những ước lượng riêng (trọng số riêng). Tuy nhiên vấn đề của
phương pháp này đó là ta cần nhiều dữ liệu hơn, và do đó ta dễ bị quá khớp
và việc rời rạc hóa đặc trưng một cách có ý nghĩa trở nên không rõ ràng
(ta nên chia thành khoảng bằng nhau hay chia theo phân vị? Cần bao nhiêu
khoảng?). Ta chỉ nên sử dụng tính rời rạc nếu nếu thực sự cần thiết.

Mô hình bổ sung tổng quát - GAM Tại sao ta không dùng mô hình
tuyến tính tổng quán để giải quyết vấn đề về phi tuyến. GAM được xây dựng
dựa trên ý tưởng này. GAM không yêu cầu mối quan hệ giữa đặc trưng và
đầu ra phải là tổng trọng số, thay vào đó, phương pháp này giả định rằng
đầu ra có thể được mô hình bằng tổng của các hàm bất kỳ cho từng đặc
trưng. Về mặt toán học, mối quan hệ trong GAM sẽ như sau:

gpEY py|xqq “ β0 ` f1 px1 q ` f2 px2 q ` . . . ` fp pxp q

Công thức này tương đồng với GLM tuy nhiên điểm khác biệt đó là các
thành phần tuyến tính βj xj được thay bằng các hàm fj pxj q. Ý tưởng chính
của GAM vẫn là một tổng của các ảnh hưởng từ các đặc trưng, nhưng ta có
thể tùy chọn tính phi tuyến trong mối quan hệ giữa đầu ra và các đăc trưng.
Các ảnh hưởng tuyến tính cũng có thể được sử dụng trong GAM bằng cách
biến fj pxj q về dạng βj xj .
Một câu hỏi lớn là làm sao để ta học được các hàm phi tuyến. Câu trả
lời đó là “splines” hay “các hàm spline”, đó là các hàm có thể được gộp lại với
nhau để xấp xỉ một số hàm bất kỳ. Chúng hoạt động giống như việc chồng
các viên gạch Lego lên nhau để xây nên những kiến trúc phức tạp. Tuy nhiên,
các phương pháp dùng để định nghĩa các hàm spline vẫn chưa rõ ràng ở thời
điểm hiện tại, do đó tôi mong bạn sẽ may mắn nếu bạn quyết định đào sâu
vào hướng này. Ở đây sẽ không nhắc đến chi tiết mà mục đích cốt yếu chỉ để
xây dựng một cái nhìn tổng quan về chúng. Để hiểu rõ ràng nhất về các hàm
spline, ta cần trực quan hóa từng hàm spline riêng biệt và xem xét ma trận
dữ liệu sẽ bị thay đổi như thế nào với từng hàm spline. Ví dụ, để mô hình
giá trị nhiệt độ với các hàm spline, ta bỏ đi đặc trưng nhiệt độ trong dữ liệu
và thay thế chúng. Ví dụ, bằng 4 cột, với mỗi cột thể hiện một hàm spline
khác nhau. Thường thường, số hàm spline sẽ lớn hơn, tuy nhiên để đơn giản
ta chỉ giả sử với 4 hàm trong ví dụ này. Giá trị của từng hàm spline phụ
thuộc vào giá trị nhiệt độ của từng điểm dữ liệu ta đang có. Bên cạnh các
ảnh hưởng tuyến tính, GAM cũng sẽ ước lượng trọng số cho các hàm spline
này và GAM sẽ áp dụng lượng phạt lên các trọng số để giữ chúng luôn có giá
trị gần 0. Việc này làm giảm sự linh hoạt của GAM nhưng cũng đồng thời
giúp mô hình tránh hiện tượng quá khớp một cách hiệu quả. Trong GAM,
ta có một tham số làm mượt (smoothness parameter) sẽ được lựa chọn trong
quá trình kiểm định chéo, thường được dùng để điều khiển độ linh hoạt của
đường dự đoán (prediction curve). Với việc loại bỏ thành phần lượng phạt
(penalty term), việc mô hình phi tuyến bằng các hàm splines là một phương
pháp thiết kế đặc trưng (feature engineering) tuyệt vời.
Trong ví dụ dự đoán số xe đạp với mô hình GAM chỉ dùng đặc trưng duy
nhất là nhiệt độ, ma trận được trưng của mô hình sẽ như sau:

(Intercept) s(temp).1 s(temp).2 s(temp).3 s(temp).4


1 0.93 -0.14 0.21 -0.83
1 0.83 -0.27 0.27 -0.72
1 1.32 0.71 -0.39 -1.63
1 1.32 0.70 -0.38 -1.61
1 1.29 0.58 -0.26 -1.47
1 1.32 0.68 -0.36 -1.59

Mỗi hàng là một điểm dữ liệu riêng biệt từ dữ liệu (mỗi hàng là một
ngày). Mỗi cột chứa giá trị của hàm spline tại các giá trị nhiệt độ khác nhau.
Hình dưới đây mô tả các hàm spline:

Hình 4.14: Để mô hình độ ảnh hưởng của giá trị nhiệt độ một cách mượt mà,
ta dùng 4 hàm spline. Mỗi nhiệt độ được tính toán cả trên 4 hàm spline. Nếu
một điểm dữ liệu có nhiệt độ là 30 độ C, giá trị cho các spline tương ứng là
-1, 0.7, -0.8, và 1.7.

GAM gán các trọng số cho từng spline như sau:

weight
(Intercept) 4504.35
s(temp).1 -989.34
s(temp).2 740.08
s(temp).3 2309.84
s(temp).4 558.27

Và cuối cùng, đường dự đoán thực tế được xây dựng từ tổng trọng số của
các hàm spline và giá trị của chúng sẽ như sau:
Sự diễn giải của các ảnh hưởng khi này đòi hỏi ta phải kiểm tra bằng mắt
thường xem đường dự đoán đã khớp được dữ liệu hay chưa. Splines thường
tập trung xung quanh giá trị dự đoán trung bình, do vậy, một điểm trên
Hình 4.15: Các ảnh hưởng đặc trưng của nhiệt độ lên số xe được thuê dựa
vào mô hình GAM.

đường dự đoán chính là giá trị sai khác với giá trị dự đoán trung bình. Ví
dụ, ở 0 độ C, số xe được dự đoán sẽ thấp hơn 3000 xe so với dự đoán trung
bình.

4.3.4 Ưu điểm
Tất cả các mở rộng của mô hình tuyến tính đều rất rộng lớn. Với bất kỳ
vấn đề nào mà bạn gặp phải với mô hình tuyến tính, bạn chắc chắn sẽ tìm
được một mở rộng để giải quyết vấn đề đó.
Hầu hết các phương pháp đã được sử dụng xuyên suốt hàng thế kỉ. Ví dụ,
GAM đã gần 30 năm tuổi cho tới nay. Rất nhiều nhà nghiên cứu và người đi
làm đã rất có kinh nghiệm với các mô hình tuyến tính và các phương pháp
được chấp nhận như một tiêu chuẩn trong việc xây dựng mô hình.
Bên cạnh việc tạo ra các dự đoán, bạn có thể sử dụng các mô hình cho
việc suy luận, rút ra kết luận từ dữ liệu khi cho trước các giả định phù hợp.
Bạn cũng có thể lấy được khoảng tin cậy cho các trọng số, các bài kiểm tra
ý nghĩa, khoảng dự đoán và nhiều hơn nữa.
Các phần mềm thống kê thường có các giao diện cho việc sử dụng GLM
và GAM và các mô hình tuyến tính đặc biệt khác.
Sự không minh bạch của rất nhiều mô hình học máy đến từ: 1) quá nhiều
đặc trưng được sử dụng do đó mô hình không còn đủ thưa để trở nên dễ
hiểu, 2) đặc trưng được sử dụng trong các mối quan hệ phi tuyến do đó ta
cần nhiều hơn một trọng số để mô tả các ảnh hưởng, và 3) việc mô hình các
tương tác giữa các đặc trưng. Giả sử rằng mô hình tuyến tính có tính diễn
giải rất cao nhưng thường bị dưới khớp (underfit), các mở rộng được mô tả
trong chương này giúp các mô hình trở nên linh động hơn trong khi vẫn giữ
được tính khả diễn giải vốn có của các mô hình tuyến tính.

4.3.5 Nhược điểm


Ở phần ưu điểm ta đã nói rằng các mở rộng của mô hình tuyến tính đều
rất rộng lớn và có cực kỳ nhiều cách để mở rộng các mô hình tuyến tính.
Trong thực tế, các mô mở rộng này được sử dụng rộng rãi trong các lĩnh vực
khác nhau nhưng do thiếu nhất quán trong cách gọi tên mặc dù chúng giống
hoặc chỉ khác nhau rất ít, nhầm lẫn đôi khi vẫn hay xảy ra.
Hầu hết các mở rộng đều làm giảm tính khả diễn giải. Bất cứ hàm liên kết
nào trong GLM ngoại trừ hàm nhận dạng đều làm sự diễn giải trở nên phức
tạp hơn; các tương tác cũng làm phức tạp sự diễn giải; và các ảnh hưởng phi
tuyến cũng vậy (như biến đổi đặc trưng sang dạng log) hoặc ta không còn có
thể diễn giải dựa trên một số duy nhất nữa (hàm spline).
GLM, GAM và các mô hình cũng phụ thuộc vào các giả thiết về phân
phối của dữ liệu. Nếu các giả thiết bị vi phạm, việc diễn giải trên các trọng
số cũng sẽ trở nên vô nghĩa.
Các mô hình hợp dạng cây như rừng ngẫu nhiên (random forest) hoặc cây
tăng tốc gradient (gradient boosting tree) hoạt động tốt hơn rất nhiều so với
các mô hình tuyến tính phức tạp trong rất nhiều trường hợp. Điều này được
quan sát từ kinh nghiệm thực tiễn của tác giả và từ các mô hình đã giành
chiến thằng trên kaggle.com.
4.3.6 Phần mềm
Tất cả các ví dụ trong chương này được viết bởi mã R. Với GAM, gói
phần mềm “gam” được sử dụng, tuy nhiên cũng có rất nhiều cách khác. R
có một số lượng gói phần mềm tuyệt vời cho việc mở rộng mô hình hồi quy
tuyến tính. Đây là một ngôn ngữ phân tích mạnh và là nền tảng cho rất nhiều
mở rộng. Bạn có thể tìm hiểu thêm về các triển khai của GAM trong python
(ví dụ như pyGAM), tuy nhiên các triển khai này vẫn đang trong quá trình
hoàn thiện.

4.3.7 Các mở rộng khác


Như đã đề cập ở đầu, dưới đây là danh sách các vấn đề hiện này của các
mô hình tuyến tính.
- Dữ liệu vi phạm giả thiết rằng dữ liệu là có tính chất phân phối độc
lập tương đồng - iid. Ví dụ, có các phép đo lặp lại trên cùng một bệnh
nhân. Trong trường hợp này, từ khóa là “mixed models” hoặc “generalized
estimating equations”.
- Mô hình có những lỗi dị thể (heteroscedastic error). Ví dụ khi dự đoán
giá nhà, mô hình thường có độ chệch lớn với những ngôi nhà sang trọng, điều
này vi phạm tính đồng đẳng của mô hình tuyến tính. Từ khóa là “robust
regression”.
- Trong dữ liệu có các điểm ngoại lai gây ảnh hưởng lớn đến mô hình. Từ
khóa là “robust regression”.
- Tôi muốn dự đoán thời gian cho tới khi một sự kiện diễn ra. Dữ liệu
dạng time-to-event luôn được thu thập trong các phép đo có kiểm định, nghĩa
là sẽ có những mẫu dữ liệu mà ta không đủ thời gian để chứng kiến sự kiện.
Ví dụ, một công ty muốn dự đoán thời điểm lỗi của một máy làm đá, tuy
nhiên họ chỉ có dữ liệu trong vòng 2 năm. Một số máy vẫn nguyên trạng sau
2 năm, nhưng có thể sẽ bị lỗi sau đó. Từ khóa là “parametric survival models,
cox regression, survival analysis”.
- Đầu ra mong muốn là các giá trị hạng mục. Nếu đầu ra có 2 hạng
mục, ta có thể sử dụng hồi quy logistic để mô hình xác suất cho các hạng
mục này. Nếu ta có nhiều hơn, từ khóa là hồi quy đa thức hay ‘multinomial
regression‘”. Hồi quy logistic và hồi quy đa thức đều là GLM.
- Tôi muốn dự đoán các hạng mục được đánh thứ tự. Ví dụ như điểm thi.
Từ khóa là “proportional odds model”.
- Đầu ra là 1 biến đếm (ví dụ số trẻ em trong một hộ gia đình). Từ khóa
là “Poisson regression”. Mô hình Poisson cũng thuộc GLM. Ta có thể gặp vấn
đề khi biến đếm thường nhận giá trị là 0. Trong trường hợp này từ khóa là
“zero-inflated Poisson regression, hurdle model”.
- Tôi không chắc tôi nên dùng đặc trưng nào để xây dựng mô hình để đưa
ra kết luận nhân quả đúng đắn. Ví dụ, ta muốn biết ảnh hưởng của thuốc
lên huyết áp. Thuốc có ảnh hưởng trực tiếp lên một số thông số của máu và
các giá trị này ảnh hưởng tới đầu ra. Liệu tôi có nên đưa các thông số này
vào mô hình hồi quy? Từ khóa là “causal inference, mediation analysis”.
- Dữ liệu bị khuyết. Từ khóa là “multiple imputation”.
- Tôi muốn tích hợp kiến thức tiêm nghiệm (prior knowledge) vào mô
hình. Từ khóa là “Bayesian inference”.
- Tôi bị xuống tinh thần? Hãy tìm “Amazon Alexa Gone Wild!!! Full
version from beginning to end”.

4.4 Cây quyết định


Các mô hình hồi quy tuyến tính và logistic làm việc không được tốt trong
các trường hợp mà mối quan hệ giữa đặc trưng và đầu ra là phi tuyến hoặc
khi các đặc trưng tương tác với nhau. Đây là lúc mà cây quyết định chứng
minh tính ưu việt của mình. Các mô hình dạng cây chia dữ liệu ra thành rất
nhiều lần quyết định dựa trên các giá trị cắt (cutoff value) của các đặc trưng.
Thông qua việc chia nhiều lần này, các tập nhỏ khác nhau của dữ liệu được
tạo nên, với mỗi điểm dữ liệu sẽ thuộc về một tập con. Các tập con cuối cùng
được gọi là điểm cuối (terminal) hay nốt lá (leaf node) và các tập con trung
gian được gọi là nốt nội bộ hoặc nốt rẽ nhánh. Để dự đoán đầu ra của một
nốt lá, giá trị đầu ra trung bình của các điểm dữ liệu trên nốt này được sử
dụng. Các mô hình dạng cây đều có thể dùng trong bài toán phân loại hoặc
hồi quy.
Có rất nhiều thuật toán để xây dựng các mô hình cây. Chúng tạo nên các
cấu trúc khác nhau (ví dụ như số lượng nhánh khi chẻ nốt), tiêu chí để tìm
ra các điểm chẻ (splits), khi nào nên dừng chẻ và các ước lượng các mô hình
đơn giản với các nốt lá. Các cây vừa phân loại vừa hồi quy (classification and
regression trees - CART) là mô hình phổ biến nhất trong dạng mô hình này.
Ta sẽ tập trung vào CART, tuy nhiên sự diễn giải là tương đương với các loại
cây khác. Tôi đề xuất cuốn ’The Elements of Statistical Learning’ (Friedman,
Hastie and Tibshirani 2009) nếu bạn muốn tìm hiểu sâu về CART.

Hình 4.16: Cây quyết định với các dữ liệu mẫu đơn giản. Các điểm dữ liệu
với giá trị đặc trưng 1 lớn hơn 3 sẽ đi vào nốt thứ 5. Các điểm dữ liệu khác
được gán vào nốt thứ 3 và thứ 4, phụ thuộc vào liệu giá trị của đặc trưng 2
lớn hơn 1 hay không.

Công thức dưới đây mô tả mối quan hệ giữa đầu ra y và các đặc trưng x.

M
ÿ
ŷ “ fˆpxq “ cm Itx P Rm u
m“1

Mỗi điểm dữ liệu rơi vào một nốt lá duy nhất (tập con Rm ). ItxPRm u là
hàm nhận dạng sẽ trả về 1 nếu x thuộc về tập con Rm và 0 trong trường hợp
còn lại. Nếu một điểm dữ liệu rơi vào nốt lá Rl , đầu ra sẽ là ŷ “ cl trong đó
cl là giá trị trung bình của tất cả các điểm dữ liệu huấn luyện thuộc nốt lá
Rl .
Vậy thì các tập con ở đâu ra? Điều này khá đơn giản: CART sử dụng
các đặc trưng và ra quyết định điểm cắt nào (cut-off point) sẽ tối ưu phương
sai của đầu ra y trong bài toán hồi quy hoặc chỉ số Gini của các phân bố
cho các lớp được dự đoán trong bài toán phân loại. Giá trị phương sai cho
ta biết giá trị đầu ra y trong một nốt thay đổi như thế nào xung quanh giá
trị trung bình của nó. Chỉ số Gini cho ta biết độ “thuần khiết” (pure) của
một nốt. Ví dụ trên nốt đó, đầu ra cho một điểm dữ liệu được phân bố bằng
nhau với các lớp, node sẽ là không thuần khiết (impure), và nếu chỉ một lớp
được dự đoán trên nốt đó, nốt này sẽ có độ thuần khiết cực đại. Phương sai
và chỉ số Gini được tối ưu trong khi các điểm dữ liệu trong các nốt có giá trị
đầu ra gần như tương đồng. Do đó, điểm cắt sẽ tạo ra hai tập con khác nhau
nhất có thể tương ứng với đầu ra mong muốn của hai tập này. Với các đặc
trưng kiểu hạng mục, thuật toán này sẽ tạo ra các tập con bằng cách gộp
các hạng mục lại với nhau. Sau khi điểm cắt tối ưu cho mỗi đặc trưng được
quyết định, thuật toán sẽ lựa chọn đặc trưng tốt nhất cho việc phân nhánh
để tối ưu phương sai hoặc chỉ số Gini và thêm nhánh này vào cây. Tiếp theo,
thuật toán thực hiện tìm-và-chia một cách đệ quy trên cả các nốt mới cho
tới khi đạt được một số tiêu chí. Một số tiêu chí có thể kể tên như: Số lượng
điểm dữ liệu nhỏ nhất trong một nốt trước một nhánh, hoặc số điểm dữ liệu
nhỏ nhất trong một nốt cuối.

4.4.1 Sự diễn giải


Việc diễn giải rất đơn giản. Bắt đầu từ nốt gốc (root node), ta đi tới các
nốt tiếp theo và các cung (edge) sẽ cho ta biết ta đang tập trung vào tập con
nào. Khi đã tìm đến được nốt lá, nốt này cho ta biết giá trị đầu ra mong
muốn. Tất cả các cung được kết nối bởi toán tử “AND”.
Mẫu: Nếu đặc trưng x [nhỏ hơn/lớn hơn] một ngưỡng c AND ... thì giá
trị đầu ra sẽ là giá trị trung bình y của các điểm dữ liệu trên nốt đó.

Ảnh hưởng đặc trưng Độ ảnh hưởng của một đặc trưng trong một cây
quyết định có thể được tính toàn như sau: Duyệt qua tất cả các nhánh mà
đặc trưng đó được dùng và tính toán nốt đó giúp làm giảm bao nhiêu phương
sai hoặc chỉ số Gini so với nốt cha. Tổng của tất cả các ảnh hưởng được thu
về thang 100. Điều này có nghĩa là mỗi ảnh hưởng có thể được diễn giải bằng
1 phần của ảnh hưởng tổng thể trên mô hình
Phân tích cây Mỗi dự đoán của một mô hình cây quyết định đều có thể
được giải thích bằng cách phân tích các đường quyết định (decision path)
thành các thành phần tương ứng với đặc trưng. Ta có thể lần dấu một quyết
định thông qua cây và giải thích quyết định đó bằng các ảnh hưởng ở mỗi
nốt quyết định (decision node).
Nốt gốc trong cây quyết định là điểm xuất phát. Nếu ta sử dụng gốc để
tạo ra dự đoán, giá trị dự đoán sẽ là giá trị trung bình của đầu ra trên dữ
liệu huấn luyện. Với nhánh tiếp theo, ta thêm hoặc bớt một lượng vào tổng
này, phụ thuộc vào nốt tiếp theo trên đường. Để đi đến dự đoán cuối cùng,
ta phải đi theo đường mà diểm dữ liệu đã qua và tiếp tục việc thêm hay bớt
vào công thức sau:

D
ÿ p
ÿ
fˆpxq “ ȳ ` split.contrib(d,x) “ ȳ ` feat.contrib(j,x)
d“1 j“1

Dự đoán trên một điểm dữ liệu là giá trị trung bình của đầu ra cộng với
tổng ảnh hưởng của D nhánh giữ nốt gốc và nốt cuối. Trong khi ta không
quan tâm đến ảnh hưởng của các nhánh, ta quan tâm tới ảnh hưởng của các
đặc trưng. Một đặc trưng có thể được sử dụng nhiều trên nhiều hơn một
nhánh hoặc thậm chí là không được sử dụng. Ta có thể thêm ảnh hưởng cho
từng đặc trưng trong số p đặc trưng và xem xét mỗi đặc trưng ảnh hưởng ra
sao đến một đự đoán.

4.4.2 Ví dụ
Ta hãy xem xét một ví dụ thuê xe khác. Ta muốn dự đoán số lượng xe
trong một ngày nhất định với cây quyết định. Cây sau quá trình học sẽ như
sau:
Nhánh đầu tiên và một trong các nhánh thứ hai sử dụng đặc trưng xu
hướng (số ngày từ khi dữ liệu được thu thập và tổng quát hóa xu hướng thuê
xe theo thời gian). Trước khi đến ngày thứ 105, giá trị đầu ra được dự đoán
quanh quanh 1800 xe, giữa ngày 106 và ngày thứ 430, lượng xe là khoảng
3900. Với những ngày sau ngày thứ 430, số xe rơi vào khoảng 4600 khi nhiệt
độ thấp hơn 12 độ C và 6600 nếu nhiệt độ cao hơn. Ảnh hưởng của đặc trưng
cho ta biết một đặc trưng ảnh hưởng đến độ thuần khiết của các nốt như thế
nào. Với ví dụ này, ta xem xét phương sai vì đây là bài toán hồi quy.
Hình 4.17: Cây hồi quy được khớp với dữ liệu cho thuê xe. Giá trị độ sâu cực
đại của cây được đặt là 2. Đặc trưng xu hướng (days_since_2011) và đặc
trưng nhiệt độ được lựa chọn trong các nhánh. Các phác họa hình hộp cho
ta thấy phân phối của số xe được dự đoán ở nốt cuối.

Cây được trực quan hóa chỉ ra rằng cả nhiệt độ và xu hướng đều được
sử dụng ở các nhánh, nhưng không chỉ ra một cách định lượng đặc trưng
nào quan trọng hơn. Phép đo dưới đây cho ta thấy xu hướng quan trọng hơn
nhiệt độ nhiều.

4.4.3 Ưu điểm
Cây rất lí tưởng khi ta có các tương tác giữa các đặc trưng trong dữ liệu.
Các điểm dữ liệu sẽ đi vào các nhóm khác nhau và điều này giúp ta dễ hiểu
hơn là việc quan sát chúng trên các siêu phẳng đa chiều như trong hồi quy
tuyến tính. Sự diễn giải được coi là khá đơn giản.
Cấu trúc này cũng có tính trực quan hóa tự nhiên (natural visualization)
với các nốt và các cung.
Cây làm việc diễn giải trở nên tốt hơn và phù hợp các tiêu chuẩn được
nêu ra trong chương 2.6. Cấu trúc này cũng gợi mở cho ta để suy luận về giá
Hình 4.18: Độ quan trọng của các đặc trưng chỉ ra chúng ảnh hưởng ra sao
đến độ thuần khiết trên một nốt.

trị đầu ra cho một điểm dữ liệu: “Nếu đặc trưng lớn hơn ở một nhánh, giá trị
đầu ra nên là y1 thay vì y2”. Việc diễn giải có tính tương phản vì ta có thể
so sánh dự đoán của một điểm dữ liệu với câu hỏi “Điều gì xảy ra nếu”. Nếu
cây thấp, ví dụ độ sâu chỉ là 3, việc giải thích có thể được chọn lọc. Một cây
có độ sâu là 3 cần nhiều nhất 3 đặc trưng và điểm nhánh để ta có thể diễn
giải hoạt động của nó. Sự đáng tin cậy của các dự đoán phụ thuộc vào hiệu
năng làm việc của cây. Dự đoán cho các cây thấp rất đơn giản và tổng quát,
bởi vì với mỗi nhánh, điểm dữ liệu sẽ rơi vào một trong các nốt lá, và việc
này khiến chúng trở nên rất dễ hiểu.
Ta không cần biến đổi đặc trưng. Trong mô hình tuyến tính, đôi lúc ta
cần dùng hàm log để biến đổi đặc trưng. Cây quyết định làm việc tốt với mọi
phép biến đổi đặc trưng.

4.4.4 Nhược điểm


Cây không thể làm việc với các quan hệ tuyến tính. Bất cứ mối
quan hệ tuyến tính nào giữa đặc trưng và đầu ra phải được xấp xỉ bởi các
nhánh, do đó sẽ tạo nên một hàm bước. Điều này không hiệu quả.
Do đó, dạng mô hình này cũng thiếu tính mượt mà (smoothness). Việc
thay đổi nhẹ ở đặc trưng có thể dẫn tới những thay đổi lớn ở đầu ra, và việc
này thường không được mong đợi. Thử tưởng tượng một cây dự đoán giá trị
của một ngôi nhà và cây đó sử dụng diện tích trong một nhánh. Nhánh này
làm việc ở giá trị 100.5 mét vuông. Nếu ta sử dụng mô hình: Đầu tiên tính
toán rằng ngôi nhà có diện tích 99 mét vuông và đầu ra là 200.000 Euro. Sau
đó ta nhận ra ta đã quên mất rằng ta có 2 phòng chứa đồ nhỏ có diện tích
2 mét vuông. Các phòng này có tường chéo, do đó không chắc liệu chúng có
nên được tính vào tổng diện tích căn nhà hay chỉ nên tính một nửa diện tích
của chúng. Khi này ta sẽ có hai giá trị 100 và 101 mét vuông. Kết quả là:
200.000 Euro và 205.000 Euro, nhưng ta thấy chẳng có gì thay đổi về giá khi
tăng từ 99 mét vuông lên 100 mét vuông (vẫn là 200.000 Euro).
Cây khá thiếu ổn định. Khi ta thay đổi tập dữ liệu huấn luyện một chút
có thể tạo ra một cây hoàn toàn khác. Điều này là bởi vì mỗi nhánh sẽ phụ
thuộc vào nhánh cha. Và nếu chỉ một đặc trưng bị thay đổi ở nhánh đầu, cấu
trúc của cây sẽ hoàn toàn bị thay đổi. Điều này làm ta thiếu tự tin khi sử
dụng mô hình khi cấu trúc của chúng quá dễ thay đổi.
Các cây quyết định có tính khả diễn giải rất cao - trong trường hợp cây
thấp. Số lượng nốt cuối tăng rất nhanh với độ sâu. Ta càng có nhiều nốt cuối,
độ sâu càng lớn, và cây càng trở nên khó diễn giải. Độ sâu 1 nghĩa là ta có
2 nốt cuối. Độ sâu 2 nghĩa là ta có 4 nốt cuối. Độ sâu 3 nghĩa là ta có 8 nốt
cuối. Số nốt cuối cực đại của một cây là 2depth .

4.4.5 Các phần mềm


Với ví dụ ở chương 1, tôi sử dụng gói “rpart”, gói này có chứa CART
được viết bởi R. CART được triển khai trên rất nhiều ngôn ngữ bao gồm
Python. CART khá cũ và là một thuật toán được coi là lỗi thời và có rất
nhiều thuật toán mới để khớp các mô hình dạng cây. Bạn có thể tìm hiểu
tổng quan về các gói phần mềm được viết bằng R về các cây quyết định
trong cuốn Machine Learning and Statistical Learning CRAN Task View ở
mục “Recursive Partitioning”.
4.5 Luật quyết định
Một luật quyết định là một câu lệnh IF-THEN đơn giản bao gồm một
điều kiện (hay gọi là tiền đề) và một dự đoán. Ví dụ: IF trời đang mưa và
nếu hôm nay là tháng 4 (điều kiện), THEN trời sẽ mưa ngày mai (dự đoán).
Một luật quyết định hay một tổ hợp các luật có thể được dùng để tạo ra dự
đoán.
Các luật quyết định tuân theo một số cấu trúc cơ bản: IF một số điều
kiện thỏa mãn THEN tạo ra một dự đoán nhất định. Các luật quyết định
được coi là mô hình có tính khả diễn giải tốt nhất. Cấu trúc IF-THEN của
chúng gần về mặt ngữ nghĩa với ngôn ngữ tự nhiên và cách suy nghĩ của con
người, khi các điều kiện được xây dựng từ các đặc trưng phù hợp. Độ dài của
điều kiện là ngắn (số đặc trưng kết nốt với toán tử AND ít) và không quá
có quá nhiều luật. Trong lập trình, việc viết các câu lệnh IF-THEN là rất tự
nhiên. Điều mới mẻ trong học máy đó là các luật quyết định được học thông
qua một thuật toán.
Tưởng tượng rằng ta sử dụng một thuật toán để học các luật quyết định
cho việc dự đoán giá trị của một ngôi nhà (thấp, trung bình, cao). Một luật
quyết định được học bởi mô hình này có thể là: Nếu ngôi nhà lớn hơn 100
mét vuông và có vườn, thì giá trị sẽ cao. Chính xác hơn, điều này được biểu
diễn là IF “size>100 AND garden=1” THEN “value=high”.
Ta hãy thử phân tích luật này:
- “size>100” là điều kiện thứ nhất trong phần IF.
- “garden=1” là điều kiện thứ hai.
- Hai điều kiện trên được liên kết bởi toán tử AND để tạo ra một điều
kiện mới. Cả hai điều kiện phải được đảm bảo thì luật mới được áp dụng.
- Đầu ra (phần THEN) là “value=high”.
Một luật quyết định phải sử dụng ít nhất một “feature=value” trong phần
điều kiện, nhưng không giới hạn số lượng điều kiện được thêm cùng với AND.
Một ngoại lệ đó là luật mặc định, luật này không có phần IF và được áp dụng
khi không có luật nào được sử dụng.
Lợi điểm của một luật quyết định được khái quát bởi 2 từ: Hỗ trợ và
chính xác.
Độ hỗ trợ hay độ phủ của một luật Tỉ lệ điểm dữ liệu thỏa mãn một
điều kiện trong một luật được gọi là độ hỗ trợ. Ví dụ với luật “size=big AND
location=good THEN value=high” cho ví dụ giá nhà. Giả sử 100 trong tổng
số 1000 căn nhà có diện tích lớn và có vị trí tốt, khi đó độ hỗ trợ của luật sẽ
là 10%. Dự đoán (phần THEN) không quan trọng khi ta xét độ phủ.
Độ chính xác hay tự tin của một luật Độ chính xác của một luật được
tính toán thông qua câu hỏi: Luật chính xác bao nhiêu trong việc dự đoán
các điểm dữ liệu mà các điều kiện của luật đó được sử dụng. Ví dụ: Ta có 100
căn nhà, và luật là “size=big AND location=good THEN value=high” được
áp dụng. Trong đó, 85 căn có giá trị “value=high”, 14 căn có “value=medium”
và chỉ 1 có “value=low”, khi đó độ chính xác của luật là 85%.
Thường thì sẽ có một sự đánh đổi giữa độ phủ và độ chính xác. Khi ta
thêm càng nhiều đặc trưng vào trong phần điều kiện, ta có thể đạt được độ
chính xác cao, tuy nhiên ta sẽ làm giảm độ phủ.
Để tạo ra một bộ phân loại tốt cho việc dự đoán giá nhà ta cần phải học
rất nhiều luật, hoặc có lẽ 10 hay 20. Vấn đề sẽ trở nên rối rắm và ta có thể
gặp một trong các vấn đề sau:
- Các luật bị chồng lên nhau: Điều gì sẽ xảy ra nếu ta muốn dự đoán giá
nhà và ta có hai luật hoặc nhiều hơn nhưng chúng cho ta các dự đoán đối
lập.
- Không có luật nào được áp dụng: Điều gì xảy ra nếu ta dự đoán giá nhà
và không có luật nào được sử dụng với mẫu dữ liệu của ta.
Có hai cách chính để gộp các luật lại với nhau: Danh sách quyết định (có
thứ tự) và tập quyết định (không có thứ tự). Hai hướng sẽ dẫn đến hai cách
khác nhau trong việc giải quyết vấn đề chồng lấp của các luật.
Một danh sách quyết định sẽ tạo ra một thứ tự đối với các luật quyết
định. Nếu điều kiện của luật thứ nhất thỏa mãn cho dữ liệu, ta sẽ dùng dự
đoán của luật thứ nhất. Nếu không ta sẽ đi tới luật tiếp theo và áp dụng
tương tự. Danh sách quyết định giải quyết vấn đề chồng lấp bằng cách trả về
giá trị đầu ra của khi một luật thỏa mãn ngay lập tức mà không quan tâm
tới các luật khác.
Một tập quyết định sẽ gộp chung các luật lại với nhau, trừ việc một số
luật sẽ có độ ưu tiên lớn hơn. Trong một tập, các luật là loại trừ lẫn nhau
(mutually exclusive), hoặc có cách để giải quyết xung đột, ví dụ như bỏ phiếu
đa số (majority voting), có thể được thực hiện dựa theo độ chính xác của các
luật hoặc một số tiêu chí khác. Tính khả diễn giải có thể bị ảnh hưởng khi
một số luật được áp dụng.
Cả hai phương pháp này đều có một vấn đề đó là không giải quyết được
khi không có luật nào được sử dụng. Việc này có thể được giải quyết bằng
cách thêm một luật mặc định. Dự đoán của luật mặc định thường là lớp xuất
hiện nhiều nhất trong tập dữ liệu và không có mặt trong các luật còn lại.
Nếu một tập hay một danh sách các luật bao hàm của không gian đặc trưng,
ta gọi đó là tập hay danh sách toàn diện. Với việc thêm luật nhất định, một
tập hoặc một danh sách có thể tự động trở nên toàn diện.
Có rất nhiều cách để học các luật từ dữ liệu và trong cuốn sách này sẽ
không đề cập sâu. Chương này sẽ nói tới 3 phương pháp. Các thuật toán
được chọn sẽ tập trung vào một dải rộng các ý tưởng cho việc học các luật,
do đó ba thuật toán này rất khác nhau.
- OneR học các luật từ một đặc trưng đơn lẻ. OneR được biết đến bởi
sự đơn giản, khả diễn giải và nó được coi như là một tiêu chuẩn trong việc
so sánh.
- Bao hàm tuần tự (sequential covering) là một phương pháp mà
việc học các luật được thực hiện một cách lặp lại và loại bỏ các điểm dữ liệu
được phủ bởi luật mới. Phương pháp này được sử dụng trong rất nhiều thuật
toán học các luật.
- Danh sách luật Bayesian bao hàm các đặc trưng đã biết trước vào
trong một danh sách quyết định sử dụng thống kê Baysian. Việc sử dụng các
đặc trưng biết trước này là một phương pháp phổ biến trong rất nhiều thuật
toán học các luật.
Ta hãy bắt đầu bằng phương pháp đơn giản nhất: Sử dụng đặc trưng tốt
nhất để học các luật.

4.5.1 Học các luật từ một đăng trưng (OneR)


Thuật toán OneR ra đời bởi Holte vào năm 1993 là một trong những
thuật toán học luật đơn giản nhất (simplest rule induction algorithm). Từ
tất cả các đặc trưng, OneR lựa chọn đặc trưng mang nhiều thông tin về đầu
ra nhất và tạo ra các luật quyết định từ đặc trưng này.
Mặc dù tên là OneR, viết tắt của One Rule, thuật toán này lại tạo ra
nhiều hơn một luật: Thuật toán tạo nên một luật trên mỗi một giá trị đặc
trưng duy nhất của đặc trưng tốt nhất được chọn lựa trước đó. Một cái tên
chính xác hơn đó là OneFeatureRules.
Thuật toán này rất đơn giản và có thể thực hiện một cách nhanh chóng:
1. Rời rạc hóa các đặc trưng liên tục bằng cách chọn các khoảng giá trị
phù hợp.
2. Với mỗi đặc trưng:
- Tạo ra một bảng tham chiếu giữa giá trị của đặc trưng và giá trị đầu ra
kiểu hạng mục.
- Với mỗi giá trị của đặc trưng, tạo ra một luật mà có dự đoán là lớp xuất
hiện thường xuyên nhất với các điểm dữ liệu có một giá trị nhất định (có thể
được đọc từ bảng tham chiếu).
- Tính toán tổng lỗi của các luật cho đặc trưng này
3. Lựa chọn đặc trưng mang ít lỗi nhất.
Thuật toán OneR luôn phủ tất cả các điểm dữ liệu trong tập dữ liệu do
nó dùng tất cả các cấp của một đặc trưng. Các giá trị bị khuyết có thể được
coi như các giá trị đặc trưng bổ sung hoặc có thể được thêm vào trước khi
huấn luyện.
Một mô hình OneR là một cây quyết định với chỉ một nhánh. Nhánh này
không cần thiết phải là nhị phân như trong CART mà sẽ phụ thuộc vào số
lượng giá trị của đặc trưng được chọn.
Ta hãy xem xét một ví dụ để xem đặc trưng tốt nhất được chọn bởi OneR
như thế nào? Bảng sau chỉ cho ta một tập dữ liệu về các ngôi nhà với các
thông tin như giá trị của nó, vị trí, diện tích và liệu thú cưng có được phép
hay không. Ta quan tâm vào việc học các mô hình đơn giản để dự đoán giá
trị của một ngôi nhà.

location size pets value


good small yes high
good big no high
good big no high
bad medium no medium
good medium only cats medium
good small only cats medium
bad medium yes medium
bad small yes low
bad medium yes low
bad small no low
OneR tạo ra bảng tham chiếu cho mỗi đặc trưng và đầu ra.

value=low value=medium value=high


location=bad 3 2 0
location=good 0 2 3

value=low value=medium value=high


size=big 0 0 2
size=medium 1 3 0
size=small 2 1 1

value=low value=medium value=high


pets=no 1 1 2
pets=only cats 0 2 0
pets=yes 2 1 1

Với mỗi đặc trưng, ta xem xét bảng theo từng hàng. Mỗi giá trị của đặc
trưng là phần IF của một luật, lớp xuất hiện nhiều nhất với giá trị đặc trưng
này là dự đoán (phần THEN) của luật. Ví dụ, với đặc trưng diện tích (size)
của ngồi nhà, ta có ba giá trị là small, medium và big; chúng sẽ tạo nên ba
luật. Với mỗi đặc trưng, ta tính toán tổng lỗi của các luật được sinh ra. Đặc
trưng vị trí có các giá trị bad và good. Giá trị xuất hiện nhiều nhất với giá
trị bad đó là low và khi ta sử dụng low là dự đoán, ta sẽ gặp hai lỗi, bởi vì
có hai căn nhà có giá trị medium. Giá trị dự đoán của các căn nhà với vị trí
tốt là high và ta lại gặp hai lỗi, bởi vì có hai căn có giá trị medium. Lượng
lỗi ta tạo ra bằng cách sử dụng đặc trưng location là 4/10, với size là 3/10
và với pet là 4/10. Do đó, đặc trưng size sẽ trả về ít lỗi nhất và nó sẽ được
sử dụng trong mô hình OneR cuối cùng.
IF size=small THEN value=small
IF size=medium THEN value=medium
IF size=big THEN value=high
OneR ưu tiên các đặc trưng có nhiều giá trị bởi vì các đặc trưng này có
thể quá khớp đầu ra dễ dàng hơn. Tưởng tượng rằng một tập dữ liệu chỉ bao
gồm nhiễu mà không có tín hiệu, nghĩa là tất cả các đặc trưng đều có giá trị
mặc định và không thể tạo ra dự đoán từ chúng. Một số đặc trưng có nhiều
giá trị hơn các đặc trưng khác. Các đặc trưng có nhiều giá trị hơn có thể
dễ dàng quá khớp. Một đăng trưng có các giá trị riêng biệt cho từng điểm
dữ liệu sẽ giúp việc dự đoán trở nên cực kì dễ dàng. Một giải pháp cho ta
đó là chia dữ liệu thành tập huấn luyện và tập kiểm định, học các luật trên
tập huấn luyện và kiểm chứng tổng lỗi cho các đặc trưng được chọn trên tập
kiểm định.
Một vấn đề khác gọi là Ties khi mà hai đặc trưng cho ta lượng lỗi bằng
nhau. OneR giải quyết bằng cách lấy đặc trưng thứ nhất với lượng lỗi nhỏ
nhất hoặc đặc trưng có giá trị p của bình phương chi (chi-squared) nhỏ nhất.

Ví dụ Ta hãy thử OneR với dữ liệu thực tế. Ta dùng bái toán phân loại
ung thư cổ tử cung để kiểm định thuật toán này. Tất cả các đặc trưng liên
tục được rời rạc hóa thành 5 khoảng. Các luật sau đây sẽ được tạo ra.

Age prediction
(12.9,27.2] Healthy
(27.2,41.4] Healthy
(41.4,55.6] Healthy
(55.6,69.8] Healthy
(69.8,84.1] Healthy

Đặc trưng tuổi được chọn bởi thuật toán OneR. Do ung thư hiếm khi xảy
ra, với mỗi luật, lớp xuất hiện nhiều nhất luôn là Healthy, và điều này không
hiệu quả trong trường hợp dữ liệu ta không cân bằng. Bảng tham chiếu giữa
các khoảng tuổi và Cancer/Healthy với tỉ lệ phụ nữ mắc ung thư sẽ chứa
nhiều thông tin hơn.

# Cancer # Healthy P(Cancer)


Age=(12.9,27.2] 26 477 0.05
Age=(27.2,41.4] 25 290 0.08
Age=(41.4,55.6] 4 31 0.11
Age=(55.6,69.8] 0 1 0.00
Age=(69.8,84.1] 0 4 0.00

Trước khi ta bắt đầu diễn giải bất cứ thứ gì: Do dự đoán cho tất cả các
đặc trưng và giá trị đều là Healthy, tổng lỗi là tương đương với các đặc trưng.
Vấn đề này được giải quyết bằng cách sử dụng đặc trưng đầu tiên có tỉ lệ lỗi
thấp nhất (ở đây mọi đặc trưng có tỉ lệ lỗi 55/858), với đặc trưng Age.
OneR không hỗ trợ các bài toán hồi quy, nhưng ta có thể biến bài toán
hồi quy thành bài toán phân loại bằng cách cắt các khoảng liên tục thành
các đoạn. Ta đã sử dụng cách này để dự đoán số lượng xe được thuê (các
khoảng 0-25%, 25-50%, 50-75%, và 75-100%). Bảng dưới đây cho ta thông
tin về các đặc trưng được chọn sau quá trình khớp với mô hình OneR.

mnth prediction
JAN [22,3152]
FEB [22,3152]
MAR [22,3152]
APR (3152,4548]
MAY (5956,8714]
JUN (4548,5956]
JUL (5956,8714]
AUG (5956,8714]
SEP (5956,8714]
OKT (5956,8714]
NOV (3152,4548]
DEZ [22,3152]

Đặc trưng được chọn là month có 12 giá trị. Do đó ta sẽ có thể bị quá


khớp. Nhìn một cách lạc quan, đặc trưng này có thể có thông tin về xu thế
theo mùa (ít xe được thuê hơn trong mùa đông).
Tiếp theo ta chuyển tới một phương pháp phức tạp hơn sử dụng các luật
với các điều kiện phức tạp hơn bao gồm một số đặc trưng: Bao hàm tuần tự.

4.5.2 Bao hàm tuần tự (sequential covering)


Đây là một phương pháp tổng quát để học một luật một cách lặp đi lặp
lại để tạo ra một danh sách (hoặc tập) quyết định phủ toàn bộ tập dữ liệu bởi
từng luật. Rất nhiều các thuật toán học luật được sinh ra từ thuật toán bao
hàm tuần tự. Chương này giới thiệu công thức chung và sử dụng RIPPER,
một biến thể của thuật toán bao hàm tuần tự để đưa ra ví dụ.
Ý tưởng rất đơn giản: Đầu tiên, ta tìm một luật được áp dụng lên một
số điểm dữ liệu. Sau đó loại bỏ tất cả các điểm dữu liệu này. Một điểm dữ
liệu được loại bỏ phải thỏa mãn rằng điểm đó sử dụng các điều kiện mặc cho
điểm đó được phân loại chính xác hay không. Ta lặp lại việc học luật và loại
bỏ các điểm dữ liệu cho đến khi không còn điểm dữ liệu nào nữa. Kết quả là
một danh sách quyết định. Phương pháp này được gọi là chia-để-trị.
Giả sử rằng ta có một thuật toán để tạo ra một luật đơn lẻ mà bao phủ
một phần của dữ liệu. Thuật toán bao hàm tuần tự cho hai lớp (dương và
âm) sẽ làm việc như sau:
- Bắt đầu với một danh sách rỗng.
- Học một luật r.
- Khi danh sách luật có chất lượng thấp hơn 1 ngưỡng (hoặc một số điểm
dữ liệu mang kết quả dương chưa được phủ): 1) Thêm luật r vào danh sách.
2) Loại bỏ các điểm dữ liệu được phủ bởi r. 3) Học một luật mới trên dữ liệu
còn lại.
- Trả về danh sách quyết định.

Hình 4.19: Thuật toán bao hàm tuần tự lần lượt phủ không gian đặc trưng
với các luật và loại bỏ các điểm dữ liệu được phủ bởi các luật được tìm ra.
Để trực quan, đặc trưng x1 và x2 là liên tục, tuy nhiên hầu hết các thuật
toán học luật đòi hỏi các đặc trưng hạng mục.
Ví dụ: Ta có một bài toán và một tập dữ liệu dự đoán giá nhà từ diện
tích, vị trí và việc thú nuôi được cho phép hay không. Ta học luật đầu tiên:
nếu size=big và location=good then value=high. Sau đó ta loại bỏ tất cả các
ngôi nhà lớn có vị trí thuận lợi từ tập dữ liệu. Ta học luật tiếp theo: Nếu
location=good thì value=medium.
Khi bài toán có nhiều lớp, thuật toán có thể được sửa đổi. Đầu tiên,
các lớp được sắp xếp theo thứ tự tăng dần về sự phổ biến. Thuật toán bắt
đầu với lớp ít xuất hiện nhất, học luật và loại bỏ các điểm dữ liệu, sau đó
chuyển tới lớp tiếp theo và tiếp tục như thế. Lớp hiện tại luôn được coi là lớp
dương và các lớp còn lại coi là lớp âm. Lớp cuối cùng được giải quyết bằng
một luật mặc định. Cách làm này còn được biết đến với cái tên 1-với-tất-cả
(one-versus-all) trong bài toán phân loại.
Vậy ta học luật như thế nào? Thuật toán OneR sẽ không có tác dụng
trong trường hợp này vì nó luôn phủ tất cả không gian đặc trưng. Ta có rất
nhiều cách giải quyết. Một trong số đó là ta học từng luật từ một cây quyết
định sử dụng tìm kiếm chùm (beam search).
- Học một cây quyết định (bằng CART hoặc một thuật toán học máy
dạng cây khác)
- Bắt đầu từ nốt gốc và tìm kiếm đệ quy nốt thuần khiết nhất (ví dụ có
tỉ lệ phân loại lỗi nhỏ nhất).
- Lớp đa số trong nốt cuối được dùng cho việc dự đoán luật; đường dẫn
tới nốt đó được dùng trong điều kiện của luật.
Hình sau đây mô tả tìm kiếm chùm trong một cây.
Việc học một luật là một bài toán tìm kiếm trong đó không gian tìm
kiếm là không gian của mọi luật có thể. Mục đích của việc tìm kiếm là để
tìm ra luật tốt nhất dựa trên một vài tiêu chí. Có rất nhiều phương pháp tìm
kiếm: leo đồi (hill-climbing), tìm kiếm chùm, tìm kiếm tham lam (exhausive
search), best-first search, ordered search, stochastic search, top-down search,
bottom-up search, ...
RIPPER (Repeated Incremental Pruning to Produce Error Reduction)
ra đời bởi Cohen (1995) là một biến thể của thuật toán bao hàm tuần tự.
RIPPER phức tạp hơn một chút và sử dụng một bước tiền xử lý gọi là cắt
bỏ luật (rule pruning) để tối ưu danh sách quyết định cuối cùng. RIPPER
có thể hoạt động ở cả chế độ có thứ tự và không thứ tự và sinh ra luật hoặc
danh sách quyết định.
Hình 4.20: Học một luật bằng cách tìm kiếm đường trong một cây quyết
định. Một cây quyết định được xây dựng để dự đoán đầu ra. Ta bắt đầu
với nốt gốc, liên tục lặp lại việc đi theo đường mà sinh ra tập con thuần
khiết nhất (ví dụ độ chính xác cao nhất) và thêm tất cả các giá trị rẽ nhánh
vào điều kiện của luật. Ta kết thúc với: If location=good and size=big, then
value=high.

Ví dụ Ta sẽ sử dụng RIPPER trong các ví dụ.


Thuật toán này không tìm kiếm bất cứ luật nào trong bài toán phân loại
ung thư cổ tử cung.
Khi ta sử dụng thuật toán này trong bài toán hồi quy để dự đoán số lượng
xe, một số luật sẽ được tìm ra. Vì RIPPER chỉ hoạt động với các bài toán
phân loại, số lượng xe phải được biến thành các giá trị hạng mục, và ta có
thể cắt các giá trị liên tục thành các khoảng. Ví dụ (4548, 5956) sẽ bao gồm
số lượng xe từ 4548 xe cho tới 5956 xe. Bảng dưới đây cho thấy danh sách
quyết định của các luật.
Việc diễn giải rất đơn giản: Nếu các điều kiện được áp dụng, kết quả trả
về sẽ là số lượng xe bên tay phải. Luật cuối cùng là luật mặc định áp dụng
khi không có luật nào được áp dụng cho một điểm dữ liệu. Để dự đoán trên
một điểm dữ liệu mới, ta bắt đầu từ đỉnh của danh sách và kiểm tra liệu có
Bảng 4.7:
rules
(days_since_2011 >= 438) and (temp >= 17) and (temp <= 27)
and (hum <= 67) =>cnt=(5956,8714]
(days_since_2011 >= 443) and (temp >= 12) and (weathersit = GOOD)
and (hum >= 59) =>cnt=(5956,8714]
(days_since_2011 >= 441) and (windspeed <= 10)
and (temp >= 13) =>cnt=(5956,8714]
(temp >= 12) and (hum <= 68) and (days_since_2011 >= 551)
=>cnt=(5956,8714]
(days_since_2011 >= 100) and (days_since_2011 <= 434)
and (hum <= 72) and (workingday = WORKING DAY) =>cnt=(3152,4548]
(days_since_2011 >= 106) and (days_since_2011 <= 323) =>cnt=(3152,4548]
=>cnt=[22,3152]

luật nào được áp dụng hay không. Khi một luật phù hợp, giá trị số bên phải
sẽ được trả về. Luật mặc định đảm bảo việc luôn có một dự đoán cho một
điểm dữ liệu.

4.5.3 Danh sách luật Bayesian


Trong chương này, ta sẽ tìm hiểu một cách tiếp cận khác để học một danh
sách quyết định, quy trình như sau:
1. Tìm trước các đặc tính của dữ liệu để có thể được dùng trong điều kiện
của các luật quyết định.
2. Học một danh sách quyết định từ việc chọn các luật có sẵn
Ta có thể kể đến danh sách luật Bayesian bởi Letham và cộng sự (2015)
hoặc còn gọi là BRL. Thuật toán này sử dụng thống kê Bayesian để học các
danh sách quyết định từ các đặc tính thường xuất hiện và các đặc tính này
được tìm ra bởi thuật toán cây FP (FP-tree algorithm - Borgelt 2005).
Hãy cùng đi tìm hiểu từng bước của thuật toán này.

Tìm trước các đặc tính nổi bật Một đặc tính nổi bật là sự (đồng) xuất
hiện một cách liên tục của các giá trị đặc trưng. Có thể coi như một bước
tiền xử lý cho thuật toán BRL, ta dùng các đặc trưng (ta chưa cần xét đến
đầu ra ở bước này) và trích xuất các đặc tính nổi bật của chúng. Một đặc
tính có thể là một giá trị đặc trưng như size=medium hay một tổ hợp các
giá trị đặc trưng ví dụ như size=medium AND location=bad.
Tần số của một đặc tính được tính bằng độ hỗ trợ của nó trong tập dữ
liệu:

n
1ÿ piq
Supportpxj “ Aq “ Ipxj “ Aq
n i“1

Trong đó A là giá trị đặc trưng, n là số điểm dữ liệu trong tập dữ liệu và
I là hàm báo hiệu (indicator function) trả về giá trị 1 nếu đặc trưng xj của
một điểm dữ liệu có giá trị A, ngược lại trả về 0. Trong tập dữ liệu về giá
nhà, nếu 20% số căn nhà không có ban công và 80% số nhà có một hoặc hơn,
khi đó độ hỗ trợ của đặc tính balcony=0 là 20%. Độ hỗ trợ có thể được tính
cho các tổ hợp của các đặc trưng, ví dụ như balcony=0 AND pets=allowed.
Có rất nhiều thuật toán để tìm ra các đặc tính nổi bật, ví dụ như Apriori
hoặc FP-Growth. Việc ta sử dụng phương pháp nào không quan trọng vì kết
quả trả về là giống nhau, chúng chỉ ảnh hưởng tới tốc độ của chương trình.
Thuật toán Apriori làm việc như sau: Ta có 2 bước, đầu tiên ta tìm các
đặc tính nổi bật và bước thứ hai ta xây dựng các luật từ chúng. Với thuật
toán BRL, ta chỉ quan tâm đến các đặc tính nổi bật được sinh ra trong bước
đầu của Apriori.
Đầu tiên, thuật toán bắt đầu với tất cả các giá trị của đặc trưng có độ
hỗ trợ lớn hơn một ngưỡng được định nghĩa bởi người dùng. Nếu người dùng
muốn độ hỗ trợ nhỏ nhất là 10% và chỉ có 5% số căn nhà có size=big, ta sẽ
loại bỏ giá trị đặc trưng này và chỉ giữ size=medium và size=small. Việc này
không đồng nghĩa với việc các căn nhà đó bị loại bỏ khỏi tập dữ liệu, mà chỉ
mang ý nghĩa rằng size=big không phải là một đặc tính nổi bật. Dựa trên
các đặc tính nổi bật của một giá trị đặc trưng, thuật toán Apriori tìm các tổ
hợp các giá trị đặc trưng theo thứ tự tăng dần lặp đi lặp lại. Các đặc tính
được xây dựng bằng việc gộp các câu lệnh feature=value với toán tử logic
AND, ví dụ size=medium AND location=bad. Các đặc tính được sinh ra với
độ hỗ trợ nhỏ hơn ngưỡng bị loại bỏ. Cuối cùng, ta có tất cả các đặc tính nổi
bật. Bất cứ tập con nào chứa đặc tính nổi bật được gọi là tính chất Apriori
(Apriori property). Điều này khá dễ hiểu: Bằng cách loại bỏ các điều kiện từ
một đặc tính, các đặc tính có khả năng phủ bằng hoặc nhiều hơn số điểm dữ
liệu. Ví dụ, nếu 20% căn nhà là size=medium and location=good thì độ hỗ
trợ của căn nhà có đặc tính size=medium sẽ là lớn hơn hoặc bằng 20%. Tính
chất Apriori được dùng để giảm số lượng đặc tính. Chỉ trong trường hợp ta
có nhiều đặc tính nổi bật, ta phải kiểm tra các đặc tính có thứ tự cao phía
trên.
Ta đã tìm được các điều kiện cho BRL. Nhưng trước khi ta thực hiện
bước tiếp theo, tôi muốn gợi ý một cách khác cho việc học luật dựa trên các
đặc tính được tìm ra ở bước 1. Đó là bao gồm các giá trị đầu ra vào quá trình
tìm các đặc tính nổi bật và thực hiện bước tiếp theo của thuật toán Apriori
để xây dựng ra các luật IF-THEN. Do thuật toán là không giám sát, phần
THEN cũng sẽ chứa các giá trị đặc trưng mà ta không mong muốn. Nhưng ta
có thể lọc bỏ chúng bằng các luật mà đầu ra phù hợp với mong muốn trong
phần THEN. Các luật đó cấu thành một tập quyết định, và cho phép việc
sắp xếp, cắt bỏ, xóa bỏ hay gộp các luật lại.
Tóm lại, trong BRL, ta làm việc dựa trên các đặc tính nổi bật và học
phần THEN và cách để sắp xếp các đặc tính vào một danh sách quyết định
sử dụng thống kê Bayesian.

Học danh sách luật Bayesian Mục đích của thuật toán BRL là học một
danh sách quyết định hoàn hảo sử dụng việc lựa chọn giữa các điều kiện được
định trước cùng với việc ưu tiên các danh sách với ít luật và điều kiện ngắn.
BRL giải quyết việc này bằng việc định nghĩa một phân phối của các danh
sách quyết định với các phân phối tiên nghiệm (prior distribution) cho đội
dài của các điều kiện (ưu tiên các luật ngắn) và số lượng luật (ưu tiên danh
sách ngắn).
Phân phối xác suất tiên nghiệm (posteriori probability distribution) của
các danh sách sẽ chỉ ra được một danh sách quyết định sẽ như thế nào khi
cho trước các giả định về độ ngắn và tiêu chí về việc khớp dữ liệu của danh
sách quyết định. Mục tiêu của ta là tìm ra danh sách để cực đại hóa xác suất
tiên nghiệm này. Do không thể tìm ra chính xác danh sách tốt nhất trực tiếp
từ các phân phối của các danh sách, BRL thực hiện các bước như sau:
1) Sinh ra một danh sách quyết định khởi tạo được rút ra từ phân phối
tiên nghiệm.
2) Liên tục lặp lại việc thay đổi danh sách này bằng cách thêm, đổi vị trí,
hoặc loại bỏ các luật, đảm bảo rằng danh sách mới sẽ tuân theo phân phối
tiên nghiệm của các danh sách.
3) Lựa chọn danh sách quyết định từ các danh sách được lấy ra với xác
suất cao nhất dựa trên phân phối tiên nghiệm.
Ta hãy đi sâu hơn vào thuật toán này: Thuật toán bắt đầu bằng việc tìm
kiếm các đặc tính bằng thuật toán FP-Growth. BRL cho ta một số giả định
về phân phối của đầu ra và phân phối của các tham số định nghĩa phân phối
của đầu ra (Thống kê Bayesian). Nếu bạn không quen với thống kê này, đừng
quá chú trọng vào các giải thích toán học dưới đây. Điều quan trọng đó là ta
cần biết rằng phương pháp này là một cách để sử dụng kiến thức ta đang có
hoặc các yêu cầu (hay gọi là phân phối tiên nghiệm) trong khi khớp với dữ
liệu. Trong trường hợp danh sách quyết định, Bayesian làm việc hiệu quả do
các giả định tiên nghiệm giúp các danh sách trở nên ngắn với các luật ngắn.
Mục tiêu của ta là lấy mẫu các danh sách quyết định d từ phân phối tiên
nghiệm:

ppd|x, y, A, α, λ, ηq 9 looooomooooon
loooooooooomoooooooooon ppy|x, d, αq ¨ ppd|A, λ, ηq
looooomooooon
posteriori likelihood priori

Trong đó d là một danh sách quyết định, x là các đặc trưng, y là mục tiêu,
A số tập các điều kiện định trước, λ là độ dài tiên nghiệm kỳ vọng của các
danh sách quyết định, η là số lượng điều kiện tiên nghiệm kỳ vọng trong một
luật, α là biến đếm giả (pseudo-count) tiên nghiệm cho số lớp dương và âm
và được đặt ở (1,1).

ppd|x, y, A, α, λ, ηq
định lượng độ chắc chắn của một danh sách quyết định khi cho trước dữ liệu
và các giả định tiên nghiệm. Giá trị này tỉ lệ với độ hợp lý (likelihood) của
đầu ra y khi cho bởi danh sách quyết định và dữ liệu nhân với xác suất của
danh sách khi cho bởi các giả định tiên nghiệm và các điều kiện có sẵn.

ppy|x, d, αq
là độ hợp lý của y khi biết trước danh sách quyết định và dữ liệu. BRL
giả sử rằng y được sinh ra bởi một phân phối đa thức Dirichlet (Dirichlet-
Multinomial distribution). Khi một danh sách giải thích dữ liệu tốt hơn, độ
hợp lý sẽ cao hơn:
ppd|A, λ, ηq

là phân phối tiên nghiệm của các danh sách quyết định. Nó bao gồm một
phân phối Poission bị cắt (tham số λ) cho số lượng luật trong danh sách và
phân phối Poisson (tham số η) cho số lượng giá trị đặc trưng trong các điều
kiện của các luật.
Một danh sách quyết định có xác suất tiên nghiệm cao nếu nó giải thích
giá trị đầu ra y tốt và thỏa mãn các giả định tiên nghiệm.
Sự ước lượng trong thống kê Bayesian luôn đòi hỏi một số mẹo, bởi vì ta
luôn không thể tính toán trực tiếp đáp án chính xác, nhưng ta có thể rút ra
một số mẫu và kiểm định trên chúng và cập nhật các ước lượng tiên nghiệm
bằng phương pháp Markov chain Monte Carlo. Với các danh sách quyết định,
điều này thậm chí còn khó khăn hơn nữa bởi vì ta phải rút ra các danh sách
từ một phân phối của các danh sách. Tác giả của BRL đề xuất rằng đầy tiên
ta nên rút ra một danh sách khởi tạo và sau đó sửa đổi nó để sinh ra các mẫu
của các danh sách quyết định từ phân phối tiên nghiệm (một chuỗi Markov
của các danh sách quyết định). Kết quả sẽ có thể phụ thuộc vào danh sách
khởi tạo, do đó việc lặp lại quá trình này là cần thiết để đảm bảo tính đa
dạng của các danh sách. Trong các phần mềm, số lần lặp lại được đặt mặc
định là 10. Đây là các bước để rút ra một danh sách khởi tạo:
1) Tìm các đặc tính sử dụng thuật toán FP-Growth.
2) Lấy mẫu tham số chiều dài danh sách m từ một phân phối Possion bị
cắt.
3) Với luật mặc định: Lấy mẫu tham số θ0 của các giá trị đầu ra của phân
phối đa thức Dirichlet (luật được áp dụng khi không có luật nào thỏa mãn).
4) Với luật trong danh sách từ j=1 đến m:
- Lấy mẫu tham số chiều dài của luật l (số lượng điều kiện) cho luật thứ
j.
- Lấy mẫu một điều kiện của chiều dài lj từ các điều kiện có trước.
- Lấy mẫu tham số phân phối đa thức Dirichlet cho phần THEN (ví dụ
với phân phối của đầu ra khi cho bởi luật).
5) Với từng lần quan sát trên tập dữ liệu:
- Tìm luật từ danh sách để áp dụng đầu tiên (đỉnh tới đáy).
- Rút ra giá trị đầu ra từ phân phối xác suất (nhị thức) bởi luật được áp
dụng.
Bước tiếp theo là sinh ra các danh sách bắt đầu từ mẫu khởi tạo này để
có các mẫu từ phân phối tiên nghiệm của các danh sách quyết định.
Các danh sách quyết định mới được lấy mẫu bằng cách bắt đầu từ danh
sách khởi tạo và sau đó ngẫu nhiên chuyển một luật đến một vị trí khác trong
danh sách hoặc thêm một luật vào danh sách hiện hành từ các điều kiện có
sẵn hoặc loại bỏ một luật từ danh sách. Việc luật nào được đổi chỗ, thêm,
hoặc xóa được lựa chọn ngẫu nhiên. Ở mỗi bước, thuật toán kiểm định xác
suất tiên nghiệm của danh sách quyết định (gồm cả độ chính xác và độ ngắn
gọn). Thuật toán Metropolis Hastings đảm bảo rằng ta sẽ lấy mẫu được các
danh sách có xác suất tiên nghiệm cao. Quá trình này trả về cho ta các mẫu
từ phân phối. Thuật toán BRL lựa chọn danh sách dựa trên xác suất tiên
nghiệm cao nhất.

Ví dụ Ta đã tìm hiểu về lý thuyết, giờ hãy xem BRL làm việc trong thực
tế ra sao. Ví dụ ở đây sử dụng một biến thể có tốc độ tốt hơn từ BRL gọi
là Scalable Bayesian Rule Lists (SBRL) đề xuất bởi Yang và cộng sự (2017).
Ta dùng thuật toán SBRL để dự đoán ung thư cổ tử cung. Đầu tiên ta phải
rời rạc hóa tất cả các đặc trưng đầu vào cho thuật toán SBRL. Để làm điều
này, ta rời rạc hóa dựa trên tần số xuất hiện của giá trị đặc trưng theo các
khoảng. Ta có các luật sau:

rules
If {STDs=1} (rule[259]) then positive probability = 0.16049383
else if {Hormonal.Contraceptives..years.=[0,10)} (rule[82])
then positive probability = 0.04685408
else (default rule) then positive probability = 0.27777778

Lưu ý rằng ta thu được những luật khá hợp lý do đự đoán trong phần
THEN không phải là các lớp mà là xác suất cho việc bị ung thư.
Các điều kiện ta chọn từ các đặc tính được cho bởi thuật toán FP-Growth.
Bảng sau đây trình bày các điều kiện mà thuật toán SBRL có thể chọn để
xây dựng danh sách quyết định. Số giá trị đặc trưng cực đại trong một điều
kiện là 2.
Đây là một ví dụ của 10 đặc tính:

pre-mined conditions
Num.of.pregnancies=[3.67,7.33)
IUD=0,STDs=1
Number.of.sexual.partners=[1,10),STDs..Time.since.last.diagnosis=[1,8)
First.sexual.intercourse=[10,17.3),STDs=0
Smokes=1,IUD..years.=[0,6.33)
Hormonal.Contraceptives..years.=[10,20),STDs..Number.of.diagnosis=[0,1)
Age=[13,36.7)
Hormonal.Contraceptives=1,STDs..Number.of.diagnosis=[0,1)
Number.of.sexual.partners=[1,10),STDs..number.=[0,1.33)
STDs..number.=[1.33,2.67),STDs..Time.since.first.diagnosis=[1,8)

Tiếp theo, ta áp dụng SBRL vào bài toán cho thuê xe. Thuật toán sẽ chỉ
làm việc nếu bài toán hồi quy được chuyển thành một bài toán phân loại nhị
phân. Ta gắn nhãn 1 nếu số xe lớn hơn 4000 và 0 khi ngược lại.
Danh sách sau đây được học bởi SBRL:

rules
If {yr=2011,temp=[-5.22,7.35)} (rule[718]) then positive probability = 0.01041
else if {yr=2012,temp=[7.35,19.9)} (rule[823]) then positive probability = 0.88125
else if {yr=2012,temp=[19.9,32.5]} (rule[816]) then positive probability = 0.99253
else if {season=SPRING} (rule[351]) then positive probability = 0.06410
else if {yr=2011,temp=[7.35,19.9)} (rule[730]) then positive probability = 0.44444
else (default rule) then positive probability = 0.79746

Ta hãy dự đoán xác suất số xe lớn hơn 4000 trong 1 ngày của năm 2012
với nhiệt độ là 17 độ C. Luật đầu tiên không áp dụng do nó chỉ áp dụng với
ngày của năm 2011. Luật thứ hai áp dụng bởi vì ngày trong năm 2012 và
nhiệt độ là 17 độ nằm trong dải [7.35 - 19.9]. Dự đoán của ta là 88% ngày
này sẽ có nhiều hơn 4000 xe được thuê.
4.5.4 Ưu điểm
Phần này thảo luận các ưu điểm của luật IF-THEN nói chung.
Các luật dạng này rất dễ để diễn giải. Chúng có lẽ là loại mô hình có tính
khả diễn giải cao nhất. Điều này chỉ đúng khi số luật được áp dụng là nhỏ,
các điều kiện của các luật là ngắn (có lẽ là nhỏ hơn 3) và nếu các luật được
sắp xếp trong một danh sách hoặc một tập không chồng lấp.
Luật quyết định giống với cây quyết định vì chúng khá trực quan, nhưng
tinh gọn hơn. Các cây quyết định thường có các cây con giống nhau khi mà
rẽ nhánh trái hay phải thì các nốt con đều có cấu trúc tương tự.
Việc đự đoán với các luật IF-THEN có tốc độ nhanh bởi vì chỉ cần một
vài câu lệnh nhị phân cần được kiểm tra để quyết định luật nào được áp
dụng.
Các luật quyết định cũng ít bị ảnh hưởng bởi việc biến đổi đơn điệu của
các đặc trưng đầu vào bởi vì chỉ có ngưỡng cho các điều kiện là thay đổi.
Chúng cũng ít bị ảnh hưởng bởi các ngoại lai vì chúng chỉ quan tâm đến một
điều kiện được áp dụng hay không.
Các luật IF-THEN thường tạo ra các mô hình thưa nghĩa là ta không có
nhiều đặc trưng. Chúng chỉ chọn những đặc trưng liên quan cho mô hình. Ví
dụ, một mô hình tuyến tính sẽ mặc định gán các trọng số cho tất cả các đặc
trưng. Mặt khác, các đặc trưng không liên quan có thể bị bỏ qua bởi các luật
IF-THEN một cách đơn giản.

4.5.5 Nhược điểm


Phần này nhắc tới các nhược điểm của các luật IF-THEN.
Các nghiên cứu trên luật IF-THEN tập trung vào bài toán phân loại và
hầu như bỏ qua hồi quy. Khi ta có thể phân các giá trị liên tục thành các
đoạn và biến chúng thành bài toán phân loại, ta luôn bị mất thông tin. Nói
chung, các phương pháp sẽ trở nên tốt hơn nếu chúng có thể giải quyết cả
hai bài toán.
Các đặc trưng thường phải là hạng mục nghĩa là các đặc trưng dạng số
phải được hạng mục hóa nếu ta muốn sử dụng chúng. Có rất nhiều cách để
cắt các đặc trưng liên tục thành các khoảng, tuy nhiên điều này không đơn
giản và còn rất nhiều điều phải bàn. Ta cần bao nhiêu khoảng? Tiêu chí chia
là gì? Độ dài khoảng cố định, các phân vị hay gì? Hạng mục hóa các đặc
trưng liên tục không phải là vấn đề đơn giản nhưng thường bị bỏ qua bởi ta
chỉ sử dụng phương pháp tốt nhất.
Rất nhiều các thuật toán học luật trước đây gặp phải vấn đề về quá khớp.
Các thuật toán được đề cập ở đây đều có ít nhất một vài phương pháp để
tránh vấn đề này: OneR bị hạn chế bởi vì nó chỉ có thể sử dụng một đặc trưng
(vấn đề chỉ nảy sinh nếu đặc trưng có quá nhiều giá trị hoặc có quá nhiều
đặc trưng đồng nghĩa với việc kiểm thử sẽ rất phức tạp). RIPPER sử dụng
phương pháp cắt bớt (pruning) và BRL dùng một phân phối tiên nghiệm với
các danh sách quyết định.
Các luật quyết định mô tả các quan hệ tuyến tính giữa đặc trưng và
đầu ra rất tệ. Vấn đề này cũng xảy đến với các cây quyết định. Cây và luật
quyết định chỉ có thể tạo ra các hàm dự đoán theo bước (step-like prediction
functions) với các thay đổi trong dự đoán luôn là các bước rời rạc và đường
dự đoán không thể làm mượt. Điều này liên quan tới vấn đề khi đặc trưng
phải là hạng mục. Trong các cây quyết định, chúng được hạng mục hóa bằng
việc rẽ nhánh.

4.5.6 Phần mềm và các phương pháp khác


OneR được triển khai trong gói phần mềm OneR viết bằng R. Thuật
toán này cũng được triển khai trên Weka và với các ngôn ngữ như Java, R,
và Python. RIPPER được triển khai trên Weka. Ví dụ, ta dùng triển khai
trên ngôn ngữ R của JRIP trong gói Weka. SBRL được triển khai trên R,
Python và C.
Tôi sẽ không liệt kê ra tất cả các phương pháp có thể sử dụng trong việc
học các mô hình danh sách và luật quyết định ở đây, tuy nhiên tôi sẽ khái quát
chúng. Tôi đề xuất cuốn “Foundations of Rule Learning” của Fuernkranz và
cộng sự (2012). Đây là một cuốn sách viết rất kỹ về việc học luật cho những
ai muốn đào sâu hơn vào chủ đề này. Nó cung cấp một nền tảng toàn diện
cho việc học các luật và trình bày rất nhiều thuật toán khác nhau. Tôi cũng
đề xuất Weka rule learners, trong đây có chứa RIPPER, M5Rules, OneR,
PART và rất nhiều thuật toán khác. Các luật IF-THEN có thể được sử dụng
trong các mô hình tuyến tính và sẽ được trình bày trong cuốn sách này ở
chương về thuật toán RuleFit.
4.6 Thuật toán RuleFit
Thuật toán RuleFit được phát minh bởi Friedman and Popescu (2008),
nó học các mô hình tuyến tính thưa bao gồm các ảnh hưởng tương tác được
phát hiện một cách tự động dưới dạng các luật quyết định.
Mô hình hồi quy tuyến tính không quan tâm đến các tương tác giữa các
đặc trưng. Liệu ta có thể có một loại mô hình vừa đơn giản và khả diễn giải
giống mô hình tuyến tính lại vừa có thể tích hợp được các tương tác giữa
đặc trưng? RuleFit giải quyết vấn đề này. Thuật toán này học một mô hình
tuyến tính thưa với các đặc trưng gốc và một số lượng các đặc trưng mới đó
là các luật quyết định. Các đặc trưng mới này thể hiện tương tác giữa các đặc
trưng gốc. Thuật toán này tự động sinh ra các đặc trưng này từ cây quyết
định. Mỗi phần của cây được biến đổi thành luật quyết định bằng cách gộp
các nhánh quyết định thành một luật. Các dự đoán ở nốt bị lược bỏ và chỉ
các nhánh được sử dụng trong các luật quyết định.

Hình 4.21: Trong cây có 3 nốt cuối này, 4 luật có thể được tạo nên.

Vậy ta lấy các cây quyết định này từ đâu? Các cây này được huấn luyện
để dự đoán đầu ra mong muốn. Điều này đảm bảo bằng các nhánh sẽ mang
thông tin cho bài toán dự đoán. Bất kỳ thuật toán nào mà sinh ra một số
lượng cây đều có thể sử dụng trong RuleFit, ví dụ như thuật toán rừng ngẫu
nhiên. Mỗi cây có thể được phân tách ra thành các luật quyết định và được
dùng như các đặc trưng bổ sung trong các mô hình hồi quy tuyến tính thưa
(Lasso).
Trong bài báo về RuleFit, dữ liệu về giá nhà ở Boston mô tả như sau:
Mục tiêu là dự đoán giá trị trung vị về giá của các ngôi nhà ở Boston. Một
trong các luật được sinh ra bởi RuleFit đó là: IF number of rooms > 6.64
AND concentration of nitric oxide <0.67 THEN 1 ELSE 0.
RuleFit cũng có thể sử dụng độ quan trọng đặc trưng để giúp chỉ ra các
thành phần tuyến tính và luật quan trọng cho các dự đoán. Độ quan trọng
đặc trưng được tính toán từ các trọng số của mô hình hồi quy. Việc tính toán
độ quan trọng có thể được gộp cho các đặc trưng gốc (chưa bị biến đổi và có
thể tồn tại trong rất nhiều luật).
RuleFit cũng giới thiệu phác họa phụ thuộc riêng (partial dependence
plots) để chỉ ra sự thay đổi trung bình trong dự đoán khi ta thay đổi các đặc
trưng. Phác họa phụ thuộc riêng là một phương pháp kiểu mẫu có thể được
sử dụng trong bất cứ mô hình nào, và được giải thích trong chương phác họa
phụ thuộc riêng (partial dependence plots).

4.6.1 Diễn giải và ví dụ


Do RuleFit ước lượng một mô hình tuyến tính, việc diễn giải giống với
các mô hình tuyến tính thông thường. Điều khác biệt duy nhất đó là mô hình
có các đặc trưng mới được lấy từ các luật quyết định. Các luật quyết định là
các đặc trưng nhị phân: Giá trị 1 nghĩa là tất cả các điều kiện của luật được
thỏa mãn và 0 trong trường hợp ngược lại. Với các thành phần tuyến tính
trong RuleFit, việc diễn giải giống với mô hình hồi quy tuyến tính: Nếu một
đặc trưng tăng một đơn vị, giá trị đầu ra sẽ thay đổi một lượng bằng với giá
trị trọng số của đặc trưng đó.
Trong ví dụ này, ta dùng RuleFit để dự đoán số lượng xe được thuê trong
một ngày. Bảng sau chỉ ra 5 luật được sinh ra bởi RuleFit bên cạnh các trọng
số Lasso và độ quan trọng. Việc tính toán được giải thích ở sau:

Description Weight Imp


days_since_2011 >111 & weathersit in ("GOOD", "MISTY") 793 303
37.25 <= hum <= 90 -20 272
temp >13 & days_since_2011 >554 676 239
4 <= windspeed <= 24 -41 202
days_since_2011 >428 & temp >5 366 179

Luật quan trọng nhất đó là: “days_since_2011” > 111 AND “weathersit”
in ("GOOD", "MISTY") và trọng số tương ứng là 793. Việc diễn giải đó là:
Nếu “days_since_2011” > 111 AND “weathersit” in ("GOOD", "MISTY"),
thì số xe được thuê sẽ tăng lên 793 xe, khi tất cả các giá trị đặc trưng khác
được giữ nguyên. Về tổng thể, 278 luật được tạo nên từ 8 đặc trưng gốc. Khá
nhiều! Nhưng nhờ vào Lasso, chỉ có 58 trong tổng số 278 có giá trị trị trọng
số khác 0.
Việc tính toán độ quan trọng của các đặc trưng toàn cục cho thấy nhiệt
độ và xu hướng là những đặc trưng quan trọng nhất.

Hình 4.22: Độ quan trọng của các đặc trưng trong một mô hình RuleFit dự
đoán số lượng xe được thuê. Các đặc trưng quan trọng nhất đó là nhiệt độ
và xu hướng.

Việc tính toán độ quan trọng đặc trưng bao gồm độ quan trọng của các
đặc trưng gốc và các luật quyết định trong đó đặc trưng xuất hiện.

Bản mẫu cho việc diễn giải Việc diễn giải tương tự với các mô hình
tuyến tính: Giá trị đầu ra được dự đoán sẽ thay đổi một lượng βj nếu đặc
trưng xj thay đổi một đơn vị, khi tất cả các đặc trưng còn lại được giữ
nguyên. Việc diễn giải trọng số của một luật quyết định khá đặc biệt. Nếu
tất cả các điều kiện của luật quyết định rk được áp dụng, đầu ra dự đoán sẽ
thay đổi một lượng αk (trọng số được học của luật rk trong mô hình tuyến
tính).
Với bài toán phân loại (sử dụng hồi quy logistic thay vì hồi quy tuyến
tính): Nếu tất cả các điều kiện được thỏa mãn cho luật rk , tỉ số kỳ dị cho
việc một sự kiện xảy ra và không xảy ra sẽ thay đổi một lượng αk lần.

4.6.2 Lý thuyết
Ta hãy đi sâu hơn vào chi tiết kỹ thuật của thuật toán RuleFit. Thuật
toán này bao gồm hai thành phần: Thành phần thứ nhất tạo nên các luật
từ các cây quyết định và thành phần thứ hai khớp một mô hình tuyến tính
với các đặc trưng gốc và các luật mới như là đầu vào (do đó được gọi là
Rule-Fit).

Tạo ra các luật Một luật sẽ trông như thế nào? Các luật được sinh ra
bởi thuật toán có cấu trúc đơn giản. Ví dụ: IF x2 < 3 AND x5 < 7 THEN
1 ELSE 0. Các luật được xây dựng bằng việc phân tách các cây quyết định:
Bất cứ đường nào tới một nốt trong một cây có thể được biến đổi thành một
luật quyết định. Các cây được sử dụng cho các luật được khớp để dự đoán
đầu ra mong muốn. Do đó, các nhánh và các luật được sinh ra được tối ưu
để dự đoán đầu ra ta đang mong muốn. Ta có thể một cách đơn giản kết
nối các quyết định nhị phân này (các quyết định nhị phân đưa tới một nốt)
với toán tử AND, và voilà, ta có một luật. Tất nhiên ta mong muốn có được
nhiều luật mang thông tin cũng như đa dạng. Tăng tốc gradient (gradient
boosting) được sử dụng để khớp một tập hợp các cây quyết định bằng việc
hồi quy hoặc phân loại giá trị y với các đặc trưng gốc X. Mỗi cây được sinh
ra được biến thành rất nhiều luật. Không chỉ với cây tăng tốc, mà bất cứ
thuật toán tổ hợp của các cây nào đều có thể được dùng để sinh ra các cây
cho thuật toán RuleFit. Một tập hợp cây có thể được mô tả với công thức
chung như sau:

M
ÿ
f pxq “ a0 ` am fm pXq
m“1

Trong đó M là số lượng cây và fm pxq là hàm dự đoán với cây thứ m.


Các tham số α là trọng số. Bagged ensembles, random forest, AdaBoost và
MART sinh ra các tổ hợp cây và có thể được dùng trong RuleFit.
Ta tạo ra các luật từ các cây của tổ hợp này. Mỗi luật rm sẽ có dạng:
ź
rm pxq “ Ipxj P sjm q
jPTm

với Tm là một tập các đặc trưng được dùng trong cây thứ m, I là hàm báo
hiệu trả về 1 khi đặc trưng xj có mặt trong tập con của các giá trị s cho đặc
trưng thứ j (được xác định bởi các nhánh cây) và 0 với các điều kiện còn lại.
Với các đặc trưng dạng số, sjm là một khoảng trong dải giá trị của đặc trưng.
Một khoảng sẽ có một trong hai dạng như sau:

xsjm ,lower ă xj

xj ă xsjm ,upper
Các nhánh tiếp theo trong đặc trưng đó có thể đưa ta tới các khoảng chia
phức tạp hơn. Với các đặc trưng hạng mục, tập con s chứa các hạng mục
nhất định của đặc trưng đó.
Một ví dụ cho dữ liệu thuê xe như sau:

r17 pxq “ Ipxtemp ă 15q ¨ Ipxweather P tgood, cloudyuq ¨ Ip10 ď xwindspeed ă 20q

Luật này trả về giá trị 1 nếu tất cả ba điều kiện được thỏa mãn và trả
về 0 trong trường hợp còn lại. Thuật toán RuleFit trích xuất tất cả các luật
khả dĩ từ một cây, không chỉ từ các nốt lá. Do đó, một luật khác có thể được
tạo ra như sau:

r18 pxq “ Ipxtemp ă 15q ¨ Ipxweather P tgood, cloudyu


Gộp tất cả lại, số luật có thể được tạo nên từ một tổ hợp M các cây với
mỗi nốt cuối tm là:

M
ÿ
K“ 2ptm ´ 1q
m“1

Một mẹo được giới thiệu bởi RuleFit đó là học các cây với độ sâu ngẫu
nhiên để các luật được sinh ra sẽ đa dạng về mặt độ dài. Lưu ý rằng ta loại
bỏ các giá trị được dự đoán ở mỗi nốt và chỉ giữ các điều kiện đưa ta tới nốt
đó trong khi sinh ra một luật. Trọng số của các luật được quyết định trong
bước 2 của RuleFit.
Một cách khác khi xem xét bước 1: Thuật toán RuleFit sinh ra một tập
các đặc trưng từ các đặc trưng gốc. Các đặc trưng này là nhị phân và có thể
biểu diễn các tương tác khá phức tạp của các đặc trưng gốc. Các luật được
chọn để cực đại hóa việc dự đoán. Các luật được sinh ra một cách tự động
từ ma trận hiệp biến (covariate matrix) X. Ta có thể xem các luật đơn giản
chỉ là các đặc trưng mới dựa trên các đặc trưng gốc.

Mô hình tuyến tính thưa Ta có thể có được RẤT NHIỀU luật sau bước
1. Do bước 1 có thể được coi như một bước biến đổi đặc trưng, giờ ta cần
khớp mô hình. Tương tự, ta muốn giảm số lượng của các luật. Ngoài các luật,
các đặc trưng gốc cũng sẽ được dùng trong mô hình tuyến tính thưa. Tất cả
các luật và các đặc trưng gốc trở thành một đặc trưng trong mô hình tuyến
tính và nhận một giá trị trọng số. Các đặc trưng gốc được thêm vào bởi vì
các cây không thể biểu diễn các mối quan hệ tuyến tính giữa chúng và đầu
ra. Trước khi ta huấn luyện một mô hình tuyến tính thưa, ta biến đổi các
đặc trưng gốc một chút để mô hình ít bị ảnh hưởng bởi ngoại lai hơn.

lj˚ pxj q “ minpδj` , maxpδj´ , xj qq

Trong đó δj` và δj´ là các phân vị của giá trị δ của phân phối dữ liệu của
đặc trưng xj . Ta lựa chọn giá trị δ là 0.05 nghĩa là với bất cứ giá trị của đặc
trưng xj mà nằm trong khoảng giá trị 5% thấp nhất hoặc 5% cao nhất sẽ
được đặt về phân vị 5% hoặc 95%. Theo kinh nghiệm, giá trị này nên được
đặt là 0.025. Thêm vào đó, các thành phần tuyến tính có thể được chuẩn
hóa để chúng có độ quan trọng như nhau giống các luật quyết định thông
thường.

lj pxj q “ 0.4 ¨ lj˚ pxj q{stdplj˚ pxj qq

Ở đây, 0.4 là giá trị độ lệch chuẩn trung bình của các luật với một phân
phối đều sk „ U p0, 1q.
Ta gộp cả hai loại đặc trưng để sinh ra một ma trận đặc trưng và huấn
luyện mô hình tuyến tính thưa với Lasso như sau:
K
ÿ p
ÿ
fˆpxq “ β̂0 ` α̂k rk pxq ` β̂j lj pxj q
k“1 j“1

Trong đó α̂ là vector trọng số được ước lượng cho các đặc trưng tương
ứng với luật và β̂ là vector trọng số cho các đặc trưng gốc. Do RuleFit sử
dụng Lasso, hàm mất mát nhận thêm một số thành phần để làm cho các
trọng số nhận giá trị 0.

˜ p
¸
n
ÿ K
ÿ ÿ
p
ptα̂uK
1 , tβ̂u0 q “ argmintα̂uK ,tβ̂up Lpy piq , f pxpiq qq ` λ ¨ |αk | ` |bj |
1 0
i“1 k“1 j“1

Kết quả của mô hình tuyến tính có các ảnh hưởng tuyến tính cho tất cả
các đặc trưng gốc và các luật. Sự diễn giải giống với các mô hình tuyến tính,
sự khác nhau duy nhất nằm ở việc các đặc trưng là các luật nhị phân.

Bước 3 (Không bắt buộc) - Độ quan trọng đặc trưng Với các thành
phần tuyến tính của các đặc trưng gốc, độ quan trọng đặc trưng được tính
toán bằng bộ dự đoán chuẩn hóa.

Ij “ |β̂j | ¨ stdplj pxj qq


trong đó βj là trọng số từ mô hình Lasso và stdplj pxj qq là độ lệch chuẩn của
thành phần tuyến tính trên dữ liệu.
Với các thành phần luật quyết định, độ quan trọng được tính bằng công
thức sau đây:
a
Ik “ |α̂k | ¨ sk p1 ´ sk q
trong đó α̂k là trọng số Lasso tương ứng của luật và sk là độ hỗ trợ của đặc
trưng trong dữ liệu, được tính bằng tỉ lệ các điểm dữ liệu mà luật quyết định
được áp dụng (khi rk pxq = 0):
n
1ÿ
sk “ rk pxpiq q
n i“1

Một đặc trưng xuất hiện như một thành phần tuyến tính và cũng trong
rất nhiều các luật. Vậy ta làm sao để tính toán độ quan trọng tổng của đặc
trưng này. Độ quan trọng Jj pxq của một đặc trưng có thể được tính toán cho
từng dự đoán:

ÿ
Jj pxq “ Ij pxq ` Ik pxq{mk
xj Prk

trong đó Il là độ quan trọng của thành phần tuyến tính và Ik là độ uan trọng
của các luật quyết định trong đó xj xuất hiện, và mk là số đặc trưng tạo nên
luật rk . Việc thêm độ quan trọng đặc trưng từ tất cả các điểm dữ liệu cho
chũng ta độ quan trọng đặc trưng toàn cục.

n
ÿ
Jj pXq “ Jj pxpiq q
i“1

Việc lựa chọn một tập con các điểm dữ liệu và tính toán độ ảnh hưởng
cho nhóm này là khả dĩ.

4.6.3 Ưu điểm
Thuật toán RuleFit thêm các tương tác giữa các đặc trưng vào các mô
hình tuyến tính. Do đó, nó giải quyết vấn đề của mô hình tuyến tính khi ta
phải thêm các thành phần tương tác một cách thủ công và cũng mang lại lợi
ích khi ta mô hình các quan hệ phi tuyến.
RuleFit có thể giải quyết cả bài toán phân loại và hồi quy.
Các luật được tạo ra dễ dàng có thể diễn giải bởi vì chúng là các luật nhị
phân. Mặc cho luật có áp dụng cho một điểm dữ liệu hay không, việc diễn
giải tốt chỉ được đảm bảo nếu số điều kiện trong một luật không quá lớn.
Một luật với 1 đến 3 điều kiện là khả dĩ, nghĩa là độ sâu của các cây nên có
độ sâu lớn nhất là 3.
Thậm chí nếu ta có rất nhiều luật trong một mô hình, chúng không áp
dụng cho tất cả các điểm dữ liệu. Với một điểm dữ liệu, chỉ có các luật có
trọng số khác 0 được áp dụng. Điều này làm tăng tính khả diễn giải cục bộ.
RuleFit liên quan tới rất nhiều công cụ phân tích và các công cụ này
thuộc dạng kiểu mẫu, do đó ta có thể tìm hiểu thêm về chúng tại mục 5.1,
5.4 và 5.5
4.6.4 Nhược điểm
Đôi khi RuleFit tạo ra quá nhiều luật có trọng số khác 0 trong mô hình
Lasso. Việc diễn giải do đó cũng bị ảnh hưởng tiêu cực với số lượng tăng
dần của các đặc trưng trong mô hình. Một giải pháp hứa hẹn đó là làm cho
các ảnh hưởng đặc trưng trở nên đơn điệu, nghĩa là việc tăng giá trị của đặc
trưng sẽ dẫn đến một sự tăng tương ứng trong dự đoán.
Tuy nhiên có một vấn đề: Các bài báo cho rằng RuleFit có khả năng làm
việc tốt và gần bằng rừng ngẫu nhiên. Tuy nhiên trong một số ít trường hợp
khi tôi thử chạy, kết quả không như mong đợi. Hãy thử áp dụng vào bài toán
của bạn để kiểm tra điều này.
Kết quả cuối cùng của RuleFit là một mô hình tuyến tính cùng với các
đặc trưng đặc biệt (các luật quyết định). Tuy nhiên do nó là mô hình tuyến
tính, việc diễn giải các trọng số vẫn trở nên không trực quan. Nó có vấn đề
tương tự như mô hình hồi quy tuyến tính khi ta cần có điều kiện tất cả các
đặc trưng còn lại là không đổi. Ta cũng gặp một vấn đề nhỏ đó là các luật
chồng lên nhau. Ví dụ, một luật cho việc dữ đoán xe là: “temp > 10” và một
luật khác là “temp > 15 AND weather = GOOD”. Nếu thời tiết tốt và nhiệt
độ lớn hơn 15 độ thì mặc nhiên nhiệt độ sẽ lớn hơn 10 độ. Trong các trường
hợp khi luật thứ hai được áp dụng, luật thứ nhất cúng sẽ có hiệu lực. Sự diễn
giải của các trọng số ước lượng cho luật thứ hai đó là: “Giả sử mọi đặc trưng
cố định, giá trị xe được dự đoán sẽ tăng lên β2 lần khi thời tiết tốt và nhiệt
độ lớn hơn 15”. Tuy nhiên, rõ ràng rằng giả thiết “các đặc trưng là không đổi
có vấn đề, bởi vì nếu luật thứ 2 được áp dụng, thì luật thứ nhất cũng vậy và
việc diễn giải trở nên vô nghĩa.

4.6.5 Các phương pháp khác và các gói phần mềm


Thuật toán RuleFit được triển khai với R bởi Fokkema and Christoffersen
(2017) và bạn có thể tìm hiểu thêm một triển khai khác trên Github ở đây.
Một thuật toán khá giống RuleFit gọi là skope-rules, một mô đun Python
cũng trích xuất các luật từ các tổ hợp. Tuy nhiên cách học các luật là khác
nhau: Đầu tiên, skope-rules sẽ loại bỏ các luật ít được sử dụng dựa trên các
ngưỡng về recall và precision. Sau đó, các luật tương đồng và trùng lặp sẽ
được loại bỏ bằng cách thực hiện một phương pháp lựa chọn dựa trên tính
đa dạng của các thành phần logic (biến + các toán tử lớn/nhỏ hơn) và hiệu
năng (F1 score) của các luật. Bước cuối này không phụ thuộc vào việc sử
dụng Lasso, nhưng chỉ cân nhắc F1 score và các thành phần logic tạo nên
các luật.

4.7 Các mô hình khả diễn giải khác


Danh sách các mô hình khả diễn giải được mở rộng liên tục. Nó bao gồm
các mô hình đơn giản ví dụ như mô hình tuyến tính, cây quyết định và Naive
Bayes, nhưng cũng tồn tại các mô hình phức tạp hơn bao gồm (hoặc biến
thể) từ các mô hình học máy bất khả diễn giải nhưng đã được trang bị tính
khả diễn giải. Đặc biệt, các công bố khoa học trong loại mô hình thứ hai
đang được đẩy mạnh và rất khó để nắm bắt xu thế. Cuốn sách này chỉ bao
gồm bộ phân loại Naive Bayes và k hàng xóm gần nhất.

4.7.1 Bộ phân loại Naive Bayes


Bộ phân loại Naive Bayes sử dụng định lý Bayes về xác suất có điều kiện.
Với từng đặc trưng, nó tính toán xác suất cho một lớp phụ thuộc vào giá trị
của đặc trưng. Bộ phân loại Naive Bayes tính toán các xác suất cho các lớp
với từng đặc trưng đơn lẻ, tương đương với một giả thiết mạnh (strong =
naive) về tính phụ thuộc của các đặc trưng. Naive Bayes là một mô hình xác
suất có điều kiện và nó mô hình xác suất của một lớp Ck như sau:

n
1 ź
P pCk |xq “ P pCk q P pxi |Ck q
Z i“1

Thành phần Z là tham số hiệu chỉnh để đảm bảo rằng tổng các xác suất
luôn là 1 (nếu không chúng sẽ không phải là các giá trị xác suất). Xác suất
có điều kiện của một lớp là xác suất của lớp đó nhân với xác suất của từng
đặc trưng trong lớp, được chuẩn hóa bởi tham số Z. Công thức này có thể
được suy ra bằng cách sử dụng định lý Bayes.
Naive Bayes là một dạng mô hình khả diễn giải bởi giả thiết về tính phụ
thuộc của các đặc trưng. Nó có thể được diễn giải ở mức mô đun. Với mỗi
đặc trưng, việc chúng ảnh hưởng tới một dự đoán như thế nào là khá rõ ràng,
do đó ta có thể diễn giải xác suất có điều kiện này.
4.7.2 K hàng xóm gần nhất
K hàng xóm gần nhất là một phương pháp có thể được sử dụng trong cả
bài toán hồi quy và phân loại, chúng sử dụng các hàng xóm của một điểm dữ
liệu để đưa ra dự đoán. Với bài toán phân loại, thuật toán này gán lớp hay
xuất hiện nhất của các hàng xóm gần nhất cho một điểm dữ liệu. Với bài
toán hồi quy, nó lấy trung bình của đầu ra ứng với các hàng xóm. Điều khó
khăn trong thuật toán này đó là việc tìm ra số lượng k và quyết định làm
sao để tính toán khoảng cách giữa các điểm dữ liệu, điều mà sẽ định nghĩa
các hàng xóm.
Mô hình này khác với các mô hình khả diễn giải khác trong cuốn sách này
ở chỗ nó là một thuật toán học dựa trên các điểm dữ liệu (instance-based
learning). Vậy làm sao để ta diễn giải mô hình này? Đầu tiên, ta cần lưu ý
rằng không có tham số nào được học, do đó sẽ không có việc diễn giải ở mức
mô đun. Hơn nữa, ta không thể diễn giải mô hình ở mức toàn cục bởi vì mô
hình là cục bộ và không tồn tại trọng số hay cấu trúc toàn cục nào được học
cả. Có lẽ ta có thể diễn giải ở mức cục bộ? Để giải thích một dự đoán, ta
luôn có thể lấy ra được k hàng xóm được dùng cho việc dự đoán. Liệu mô
hình có khả diễn giải hay không phụ thuộc vào câu hỏi liệu ta có thể diễn
giải các điểm dữ liệu trong tập dữ liệu hay không. Nếu một điểm dữ liệu bao
gồm hàng trăm thậm chí hàng ngàn đặc trưng, ta rõ ràng không thể diễn
giải. Nhưng nếu ta chỉ có vài đặc trưng hoặc tồn tại phương pháp để làm
giảm số đặc trưng về một tập nhỏ các đặc trưng quan trọng nhất, việc trình
bày k điểm dữ liệu hàng xóm có thể cho ta các giải thích tốt.
Chương 5

Các phương pháp phân


tích kiểu mẫu
Việc tách các phân tích khỏi mô hình học máy (= các phương pháp phân
tích kiểu mẫu - model-agnostic methods) có một số ưu điểm (Ribeiro, Singh
và Guestrin 2016). Ưu điểm lớn của các phương pháp phân tích mẫu so với
các phương pháp trên mô hình cụ thể là tính linh hoạt của chúng. Các nhà
phát triển học máy được tự do sử dụng bất kỳ mô hình học máy nào họ thích
khi các phương pháp diễn giải có thể được áp dụng cho bất kỳ mô hình nào.
Bất kỳ thứ gì được xây dựng dựa trên việc phân tích một mô hình học máy,
chẳng hạn như đồ họa hoặc giao diện người dùng, cũng trở nên độc lập với
mô hình học máy đó. Thông thường, không chỉ một mà nhiều loại mô hình
học máy được đánh giá để giải quyết một nhiệm vụ và khi so sánh các mô
hình về mặt khả năng diễn giải, làm việc với các phân tích kiểu mẫu sẽ dễ
dàng hơn, vì cùng một phương pháp có thể được sử dụng cho bất kỳ loại nào
của mô hình.
Một phương pháp thay thế cho các phương pháp phân tích kiểu mẫu là
chỉ sử dụng các mô hình có thể diễn giải, điều này thường có nhược điểm lớn
là hiệu suất dự đoán bị mất so với các mô hình học máy khác và bạn tự giới
hạn mình trong một loại mô hình. Giải pháp thay thế khác là sử dụng các
phương pháp diễn giải theo mô hình cụ thể. Nhược điểm của điều này là nó
cũng chỉ ràng buộc bạn vào một kiểu mô hình và sẽ rất khó để chuyển sang
kiểu khác.
Các khía cạnh mong muốn của hệ thống giải thích theo phân tích kiểu
mẫu (Ribeiro, Singh và Guestrin 2016) là:

132
• Tính linh hoạt của mô hình: Phương pháp phân tích có thể hoạt động với
bất kỳ mô hình học máy nào, chẳng hạn như rừng ngẫu nhiên (Random
Forest) hay mạng nơ-ron sâu (Deep Neural Networks)

• Linh hoạt trong diễn giải: Bạn không bị giới hạn trong một hình thức
diễn giải nhất định. Trong một số trường hợp, có thể hữu ích khi có một
công thức tuyến tính, trong các trường hợp khác là đồ hoạ với các đặc
trưng quan trọng

• Tính linh hoạt trong biểu diễn: Hệ thống phân tích có thể sử dụng một
biểu diễn tính năng khác như mô hình đang được giải thích. Đối với bộ
phân loại văn bản sử dụng các từ trừu tượng trong vector, đôi khi sử
dụng sự hiện diện của từng từ để giải thích là việc tốt hơn.

Một bức tranh tổng quan


Chúng ta hãy cùng xem xét khả năng diễn giải của phân tích kiểu mẫu.
Chúng ta nắm bắt thế giới bằng cách thu thập dữ liệu và trừu tượng hóa nó
bằng cách học cách dự đoán dữ liệu (cho một mục đích) bằng mô hình học
máy. Khả năng diễn giải chỉ là một lớp khác trên cùng để giúp con người
hiểu được.
Lớp thấp nhất là Thế Giới (World). Theo nghĩa đen, đây có thể là bản
thân tự nhiên, giống như sinh học của cơ thể con người và cách nó phản ứng
với thuốc, nhưng cũng có thể là những thứ trừu tượng hơn như thị trường
bất động sản. Lớp Thế Giới chứa mọi thứ có thể quan sát được và được
quan tâm. Cuối cùng, chúng ta muốn tìm hiểu điều gì đó về Thế Giới và
tương tác với nó.
Lớp thứ hai là lớp Dữ Liệu (Data). Chúng ta phải số hóa Thế Giới để
làm cho nó có thể xử lý được cho máy tính và cũng để lưu trữ thông tin. Lớp
Dữ Liệu chứa mọi thứ từ hình ảnh, văn bản, dữ liệu, dữ liệu dạng bảng, v.v.
Bằng cách điều chỉnh các mô hình học máy dựa trên lớp Dữ Liệu, chúng
ta có được lớp Mô Hình Hộp Đen (Black Box Model). Các thuật toán
học máy học với dữ liệu từ thế giới thực để đưa ra dự đoán hoặc tìm cấu trúc
của dữ liệu đó.
Phía trên lớp Mô Hình Hộp Đen là lớp Phương Pháp Khả Diễn Giải,
giúp chúng ta xử lý mức độ rõ ràng của các mô hình học máy. Các tính năng
quan trọng nhất cho một chẩn đoán cụ thể là gì? Tại sao một giao dịch tài
chính được phân loại là gian lận?
Hình 5.1: Bức tranh tổng quát của mô hình học máy diễn giải được. Thế giới
trong thực tế đi qua nhiều lớp trước khi đến với con người dưới hình thức
của nhiều diễn giải.

Lớp cuối cùng được chiếm bởi một Con Người. Nhìn! Điều này làm bạn
vui mừng vì bạn đang đọc cuốn sách này và giúp đưa ra những giải thích tốt
hơn về các Mô Hình Hộp Đen! Con người cuối cùng là người tiêu thụ những
lời giải thích.
Sự trừu tượng nhiều lớp này cũng giúp hiểu được sự khác biệt trong cách
tiếp cận giữa các nhà thống kê và các nhà thực hành học máy. Các nhà thống
kê xử lý lớp Dữ Liệu, chẳng hạn như lập kế hoạch thử nghiệm lâm sàng hoặc
thiết kế khảo sát. Họ bỏ qua lớp Mô Hình Hộp Đen và chuyển đến ngay lớp
Phương Pháp Khả Diễn Giải. Các chuyên gia học máy cũng xử lý lớp Dữ
Liệu, chẳng hạn như thu thập các mẫu hình ảnh ung thư da được dán nhãn
hoặc thu thập dữ liệu Wikipedia. Sau đó, họ đào tạo một mô hình máy học
hộp đen. Lớp Phương Pháp Khả Diễn Giải bị bỏ qua và con người trực tiếp
xử lý các dự đoán của Mô Hình Hộp Đen. Thật tuyệt khi học máy khả diễn
giải kết hợp được công việc của các nhà thống kê và các chuyên gia về máy
học.
Tất nhiên hình ảnh này không nắm bắt được tất cả mọi thứ: Dữ liệu có
thể đến từ các mô phỏng. Các Mô Hình Hộp Đen cũng đưa ra các dự đoán
thậm chí có thể không đến được với con người mà chỉ cung cấp cho các máy
khác, v.v. Nhưng nhìn chung, đó là một sự trừu tượng hữu ích để hiểu cách
khả năng phân tích trở thành lớp mới này trên đầu các mô hình học máy.
5.1 Phác họa phụ thuộc riêng (Partial De-
pendence Plot)
Phác họa phụ thuộc riêng (partial dependence plot) (viết tắt là PDP hoặc
phác họa PD) thể hiện các ảnh hưởng biên (marginal effect) của một hoặc
hai đặc trưng có trong dự đoán đầu ra của một mô hình học máy (J. H.
Friedman 2001). Một phác họa phụ thuộc riêng thể hiện được mối quan hệ
giữa một mục tiêu (target) và đặc trưng là tuyến tính, đơn điệu hoặc phức
tạp hơn. Ví dụ, khi áp dụng trong một mô hình hồi quy tuyến tính (linear
regression model), những đồ thị phụ thuộc riêng luôn luôn thể hiện mối quan
hệ tuyến tính.
Đối với bài toán hồi quy, hàm phụ thuộc riêng (PD function) được định
nghĩa như sau:
” ı ż
fˆxS pxS q “ ExC fˆpxS , xC q “ fˆpxS , xC qdPpxC q

Biến xS là những đặc trưng mà phác họa PD cần phải biểu diễn và xC là
những đặc trưng khác được dùng trong mô hình học máy fˆ. Thông thường
tập S chỉ chứa một hoặc hai đặc trưng. S là những đặc trưng mà ta muốn
tìm hiểu ảnh hưởng của chúng lên phép dự đoán. Các véc tơ đặc trưng xS và
xC được kết hợp để tạo thành toàn bộ không gian đặc trưng x. Sự phụ thuộc
riêng (PD) hoạt động qua phép biên hóa (marginalization) ở đầu ra của mô
hình học máy trên phân phối (distribution) của đặc trưng trong tập C, để
cho hàm thể hiện quan hệ giữa các đặc trưng ta quan tâm trong tập S và dự
đoán đầu ra. Bằng phép biên hóa cho các đặc trưng khác, ta thu được một
hàm phụ thuộc chỉ vào các đặc trưng trong tập S mà đã bao gồm sự tương
tác (interaction) giữa các đặc trưng khác.
Hàm đặc trưng riêng (partial function) fˆxS được xấp xỉ bằng cách tính
trung bình trong dữ liệu huấn luyện, hay còn gọi là phương pháp Monte
Carlo:
n
1ÿˆ
fˆxS pxS q “
piq
f pxS , xC q
n i“1

Hàm đặc trưng riêng cho ta biết giá trị trung bình của ảnh hưởng biên lên
phép dự đoán ra sao với một (nhiều) giá trị cho trước của những đặc trưng
piq
trong S. Trong công thức này, xC là những giá trị đặc trưng (feature values)
từ tập dữ liệu cho các đặc trưng mà chúng ta không quan tâm tới, và n là số
lượng các mẫu dữ liệu (instances) trong bộ dữ liệu. Một giả định của PDP
là những dặc trưng cửa tập C không có tương quan (correlated) với những
đặc trưng của S. Nếu phép gỉa định này bị vi phạm, các giá trị trung bình
tính toán cho phác họa đặc trưng riêng sẽ có những điểm dữ liệu (gần như)
không khả thi (Xem phần nhược điểm).
Với bài toán phân lớp trong các mô hình học máy có kết quả xác suất
(probabilities) ở đầu ra, phác họa đặc trưng riêng thể hiện xác suất của một
lớp nhất định, cho trước các giá trị khác nhau của đặc trưng trong S. Cách
đơn giản để thể hiện nhiều lớp là thể hiện 1 đường phác họa hoặc phác họa
riêng cho mỗi lớp.
Phác họa đặc trưng riêng là phương pháp toàn cục (global): Phương pháp
này xem xét các mẫu dữ liệu và cho ra một tuyên bố về mối quan hệ toàn
cục của một đặc trưng với dự đoán đầu ra.

Các đặc trưng kiểu hạng mục (Categorical features) Tới đây chúng
ta mới chỉ xét các đặc trưng số (numerical features). Cho các đặc trưng kiểu
hạng mục, ta lấy dự đoán phác họa PD qua việc “ép” các mẫu dữ liệu vào
chung một hạng mục (category). Ví dụ, khi chúng ta xét dữ liệu thuê xe đạp
và quan tâm tới phác họa đặc trưng riêng cho các thuộc tính mùa, ta sẽ thu
được 4 giá trị số, mỗi số tương ứng một mùa. Để tính giá trị cho “hè,” ta
thay ô “mùa” trong các mẫu dữ liệu bằng “hè” và lấy trung bình các giá trị
dự đoán.

5.1.1 Ví dụ
Trong ứng dụng, tập chứa đặc trưng S chỉ chứa một hoặc tối đa hai đặc
trưng, lý do vì một đặc trưng tạo ra các phác họa 2D và hai đặc trưng sẽ tạo
ra các phác họa 3D. Lượng đặc trưng lớn hơn sẽ càng phức tạp hơn. Ngay cả
in hình 3D trên giấy hoặc màn hình 2D cũng rất là thử thách.
Ta trở lại ví dụ về hồi quy, trong đó ta dự đoán số xe đạp được thuê trong
một ngày định trước. Trước hết ta sử dụng mô hình học máy rồi phân tích
những phần phụ thuộc riêng (partial dependencies). Trong trường hợp này,
ta khớp một rừng ngẫu nhiên (random forest) để dự đoán số xe đạp và dùng
phác họa phụ thuộc riêng để mô phỏng các mối quan hệ mà mô hình đã học.
Sự ảnh hưởng của các đặc trưng thời tiết lên số lượng xe đạp đã dự đoán
được mô phỏng trong hình sau.

Hình 5.2: PDPs cho mô hình dự đoán số lượng xe đạp và nhiệt độ, độ ẩm
và tốc độ gió. Sai khác khoảng cách lớn nhất nằm trong nhiệt độ. Trời nóng
hơn thì nhiều xe đạp được thuê hơn. Xu hướng này tiếp tục đi lên tới 20 độ
Celsius, sau đó phẳng dần và hạ xuống tương đối ở 30. Các đánh dấu trên
trục x biểu thị sự phân phối dữ liệu (data distribution).

Với thời tiết ấm mà không quá nóng, mô hình dự đoán trung bình một số
lượng thuê xe đạp cao. Những người đi xe đạp tiềm năng sẽ giới hạn thuê xe
đạp khi độ ẩm vượt quá 60%. Ngoài ra, càng nhiều gió sẽ làm ít người muốn
đạp xe, và điều này hợp lý. Điều thú vị là số lượng thuê xe đạp đã dự đoán
sẽ không giảm khi tốc độ gió tăng trong 25 tới 35 km/giờ, nhưng ta không
có nhiều dữ liệu huấn luyện, cho nên mô hình học máy có thể đã không học
một dự đoán có ý nghĩa trong khoảng này. Ít nhất qua trực giác, tác giả sẽ
dự đoán số lượng thuê xe đạp sẽ giảm chung khi tốc độ gió tăng, đặc biệt
là khi tốc độ gió rất cao. Để minh họa phác họa phụ thuộc riêng với một
đặc trưng hạng mục, ta xét ảnh hưởng của đặc trưng về mùa lên dự đoán số
lượng xe đạp thuê.

Hình 5.3: PDPs cho mô hình dự đoán số lượng xe đạp và các mùa. Bất ngờ là
tất cả các mùa thể hiện ảnh hưởng tương tự nhau lên các mô hình dự đoán,
chỉ trong mùa xuân thì mô hình dự đoán ít xe đạp hơn.

Ta sẽ tính sự phụ thuộc riêng cho phân loại nguy cơ gây ung thư cổ tử
cung. Lần này ta khớp mô hình cây ngẫu nhiên để dự đoán liệu một người
phụ nữ có thể mắc ung thư cổ tử cung dựa trên các yếu tố rủi ro. Ta tính
toán và mô phỏng sự phụ thuộc riêng của xác suất ung thư trên những đặc
trưng khác nhau cho rừng ngẫu nhiên.
Ta có thể mô phỏng cùng lúc sự phụ thuộc riêng của cả hai đặc trưng:
Hình 5.4: PDPs về xác suất ung thư dự trên tuổi và năm với dùng các biện
pháp tránh thai nội tiết tố. Về tuổi, các PDP thể hiện rằng xác suất sẽ thấp
cho tới khi 40 tuổi và tăng lên sau đó. Với nhiều năm sử dụng biện pháp
tránh thai nội tiết tố hơn thì khả năng dự đoán ung thư cao hơn, đặc biệt là
sau 10 năm. Vì trong cả hai đặc trưng ta không có sẵn nhiều điểm dữ liệu với
các gía trị lớn hơn, sự phụ thuộc riêng ước tính là sẽ ít đáng tin hơn trong
các miền nêu trên.

5.1.2 Ưu điểm
Tính toán trong các phác hoạ phụ thuộc riêng có tính trực giác: Hàm phụ
thuộc riêng ở một giá trị đặc trưng cụ thể thể hiện dự đoán trung bình nếu
như ta “ép” các điểm dữ liệu để giả định giá trị đặc trưng đó.
Nếu như đặc trưng được dùng để tính PDP không tương quan với các đạc
trưng khác, các PDPs sẽ thể hiện hoàn toàn cách mà đặc trưng ảnh hưởng dự
đoán theo trung bình. Trong trường hợp không tuơng quan, cách giải thích
khá rõ: Phác hoạ đặc trưng riêng diễn tả dự đoán trung bình trong bộ dữ
Hình 5.5: PDP về xác suất ung thư dự trên tuổi và sự tương tác giữa tuổi
và số lần có thai. Phác họa thể hiện sự tăng lên về xác suất ung thư ở tuổi
45. Ở tuổi dưới 25, phụ nữ đã có thai 1 hoặc 2 lần sẽ có nguy cơ ung thư
dự đoán là thấp hơn, so với phụ nữ chưa có hoặc hơn 2 lần có thai. Nhưng
hãy cẩn thận khi đưa ra kết luận: Đây có thể chỉ là sự tương quan chứ không
phải là nguyên nhân!

liệu của bạn thay đổi ra sao khi đặc trưng thứ j thay đổi. Vấn đề phức tạp
hơn khi các đặc trưng có mối tương quan với nhau, xem thêm phần nhược
điểm.
Các phác họa đặc trưng riêng rất dễ để thực hiện.
Tính toán cho các phác họa đặc trưng riêng có tính khả giải thích nhân
quả. Ta can thiệp vào một đặc trưng và đo sự thay đổi trong các dự đoán.
Khi làm vậy ta đã phân tích mối quan hệ nhân quả giữa đặc trưng và phép
dự đoán. Mối quan hệ là nhân quả cho mô hình – bởi vì ta mô hình hóa đầu
ra là hàm theo các đặc trưng – nhưng không nhất thiết đúng cho thế giới
thực!

5.1.3 Nhược điểm


Số lượng tối đa đặc trưng trong thực tế cho một hàm đặc trưng riêng
là 2. Đây không phải là do PDPs, mà do phép thể hiện 2 chiều (giấy hoặc
màn hình) và do khả năng chúng ta không tưởng tượng được hơn 3 chiều.
Một số phác họa đặc trưng riêng không thể hiện phân phối của đặc
trưng. Bỏ đi phân phối có thể gây hiểu nhầm, bởi vì ta có thể diễn giải quá
mức qua các vùng gần như không dữ liệu. Vấn đề này có thể giải quyết dễ
qua thể hiện trên rug (các mẫu dữ liệu cho các điểm dữ liệu trên trục x) hoặc
một biểu đồ tần suất (histogram).
Giả định về sự độc lập là vấn đề lớn nhất với các phác họa PD. Giả
định là đặc trưng đã được tính toán về sự phụ thuộc riêng sẽ không tương
quan với các đặc trưng khác. Ví dụ, giả sử bạn muốn dự đoán một người
đi nhanh như thế nào, cho biết trước về cân năng và chiều cao. Cho sự phụ
thuộc riêng của một trong những đặc trưng, ví dụ là chiều cao, ta giả sử
các đặc trưng khác (cân nặng) sẽ không tương quan với chiều cao, và đây dĩ
nhiên là giả định sai. Về tính toán cho PDP ở một chiều cao nhất định, ta
trung bình hóa qua phép phân phối biên về vân nặng, có thể có cân nặng
dưới 50 kg, và đặc điểm này không khả thi với một người cao hai mét. Nói
cách khác: Khi các đặc trưng đã có tương quan, ta tạo ra điểm dữ liệu mới
trong khu vực phân phối đặc trưng mà xác suất thật sự rất thấp (ví dụ ta
không chắc một người cao 2 mét nhưng cân nặng dưới 50 kg). Một giải pháp
cho vấn đề này là các phác hoạ tích lũy ảnh hưởng cục bộ hoặc ngắn gọn
là các phác hoạ ALE mà hiệu quả với phân phối có điều kiện (conditional
distribution) thay vì phân phối biên (marginal distribution).
Những ảnh hưởng không đồng nhất có thể bị ẩn vì những phác
họa PD chỉ có thể thể hiện trung bình các ảnh hưởng biên. Giả sử rằng với
một đặc trưng, nửa số điểm dữ liệu có liên hệ đống biến (positive association)
với phép dự đoán – Giá trị đặc trưng càng lớn thì vùng dự đoán càng lớn
– và nửa còn lại có liên hệ nghịch biến (negative association) – Gía trị đặc
trưng càng nhỏ thì vùng dự đoán càng lớn. Đường phân biệt đặc trưng (PD
curve) có thể là đường thẳng, vì những ảnh hưởng cho hai nửa bộ dữ liệu có
thể loại trừ lẫn nhau hoàn toàn. Bằng cách vẽ các đường cong có điều kiện
riêng biệt (individual conditional expectation curves) thay vì các đường tổng
hợp lại, ta có thể khám phá ra những ảnh hưởng không đồng nhất.

5.1.4 Phần mềm và các gói thay thế


Có một số gói thư viện trong R có thể thực hiện PDPs. Tác giả dùng gói
iml cho các ví dụ, nhưng trong đó cũng có pdp hay DALEX. Trong Python,
Các phác họa đặc trưng riêng được lập trình trong scikit-learn và bạn có thể
dùng PDPBox.
Những phương pháp thay thế PDPs được giới thiệu trong cuốn sách này
là các phác hoạ ALE và các đường cong ICE.
5.2 Kỳ vọng có điều kiện riêng biệt (Individ-
ual Conditional Expectation - ICE)
Phác hoạ ICE gồm một đường cho mỗi điểm dữ liệu, thể hiện dự đoán
cho điểm dữ liệu đó thay đổi thế nào khi một đặc trưng bị thay đổi.
Phác hoạ phụ thuộc riêng cho ảnh hưởng trung bình của một đặc trưng
là một phương pháp toàn cục do không tập trung vào một điểm dữ liệu cụ
thể mà tính trung bình trên tất cả. Phương pháp tương tự cho từng điểm dữ
liệu riêng lẻ là ICE (Goldstein et al. 2017). Phác hoạ ICE minh họa sự phụ
thuộc của dự đoán với một đặc trưng cho từng điểm dữ liệu riêng biệt, trả về
một đường cho mỗi điểm dữ liệu, khác với PDP chỉ có một đường cho tất cả,
tương đương với việc lấy trung bình tất cả các đường trong ICE. Mỗi đường
này được tính bằng cách chỉ thay đổi giá trị của đặc trưng duy nhất đang
xét bằng một giá trị khác, dự đoán điểm dữ liệu được thay đổi này bằng mô
hình hộp đen. Kết quả nhận được là một tập các điểm cho các dự đoán khi
thay đặc trưng bằng các giá trị cho phép.
Việc nhìn vào từng điểm dữ liệu có lợi ích gì so với việc dùng các phụ
thuộc riêng? PDP có thể không thể hiện được các quan hệ phức tạp tạo bởi
tương tác giữa các đặc trưng. PDP đưa ra quan hệ trung bình giữa đặc trưng
đang xét và đầu ra, điều này chỉ được thể hiện rõ ràng khi giữa các đặc trưng
có tương tác yếu. Khi giữa chúng có tương tác, việc sử dụng ICE sẽ có ý
nghĩa hơn.
Định nghĩa rõ ràng hơn: Trong ICE, với mỗi điểm dữ liệu thuộc
tpxS , xC qui“1 , đường cong fˆS được dựng qua xiS , trong khi xiC giữ nguyên.
piq piq N piq

5.2.1 Ví dụ
Thử nghiệm với bộ dữ liệu ung thư cổ tử cung và xem xem dự đoán cho
từng điểm dữ liệu và đặc trưng “Tuổi” có quan hệ như thế nào. Ta hãy phân
tích một mô hình rừng ngẫu nhiên phân tích xác suất bị ung thư của một
người phụ nữ khi biết các yếu tố rủi ro. Ở phần PDP chúng ta đã thấy xác
suất bị ung thư tăng xung quanh độ tuổi 50, nhưng liệu điều này có đúng
với tất cả phụ nữ trong tập dữ liệu? Phác hoạ ICE thể hiện với hầu hết phụ
nữ, ảnh hưởng của độ tuổi dẫn tới việc gia tăng nguy cơ xung quanh độ tuổi
50, nhưng có một vài ngoại lệ: Với những người đã có nguy cơ cao từ khi còn
trẻ, xác suất bị ung thư được dự đoán không thay đổi nhiều theo độ tuổi.

Hình 5.6: Phác hoạ ICE cho xác suất bị ung thư cổ tử cung theo độ tuổi.
Mỗi đường đại diện cho một phụ nữ. Với hầu hết phụ nữ, xác suất bị ung
thư tăng theo độ tuổi. Với một vài người có xác suất bị ung thư cao hơn 0.4,
dự đoán không thay đổi nhiều khi già đi.

Hình tiếp theo minh họa phác hoạ ICE cho bộ dữ liệu thuê xe đạp. Mô
hình được diễn giải ở đây là rừng ngẫu nhiên. Mọi đường cong có vẻ theo
một đường nhất định, do đó không có tương tác rõ ràng giữa các đặc trưng.
Điều này có nghĩa PDP đã đủ để minh họa mối quan hệ giữa đặc trưng đang
xét và số lượng xe đạp cho thuê được dự đoán.

5.2.2 Phác hoạ ICE căn giữa (Centered ICE Plot)


Có một vấn đề với ICE: Đôi lúc khá khó để quan sát các đường cong của
các mẫu dữ liệu khác nhau như thể nào, bởi chúng bắt đầu từ dự đoán khác
Hình 5.7: Phác hoạ ICE cho số lượng xe đạp cho thuê được dự đoán theo
điều kiện thời tiết. Kết quả quan sát được tương tự như PDP

nhau. Một các giải quyết đơn giản là đưa các đường cong về cùng một điểm
bắt đầu, và chỉ thể hiện sự khác nhau giữa các dự đoán so với điểm đó. Phác
hoạ này gọi là phác hoạ ICE căn giữa (c-ICE). Ở đây, căn giữa (centered)
là ta lấy mọi dữ liệu trừ giá trị trung bình để trung bình bằng 0,
cho giá trị trung bình ở giữa đường cong ở ngay trung tâm hệ toạ
độ. Bắt đầu từ điểm có giá trị của đặc trưng thấp nhất là một lựa chọn tốt.
Đường cong mới được định nghĩa như sau:

fˆcent “ fˆpiq ´ 1fˆpxa , xC q


piq piq

với 1 là vector mang giá trị 1 với số chiều phù hợp (thường là 1 hoặc 2), fˆ là
mô hình được huấn luyện, xa là điểm được chọn.
Ví dụ

Dưới đây là phác hoạ ICE cho bộ dữ liệu ung thư cổ tử cung theo độ tuổi,
căn tại độ tuổi nhỏ nhất: Phác hoạ ICE căn giữa giúp so sánh các đường của

Hình 5.8: Phác hoạ ICE căn giữa cho xác suất bị ung thư cổ tử cung theo độ
tuổi. Tất cả các đường bắt đầu tại 0 ở độ tuổi 14. So sánh với độ tuổi này,
dự đoán cho hầu hết mọi người không đổi cho đến 45 tuổi, khi xác suất dự
đoán tăng lên

từng điểm dữ liệu với nhau dế dàng hơn. Điều này sẽ có ích nếu ta không
cần quan sát sự thay đổi chính xác của dự đoán, mà là sự thay đổi của khi
so sánh với một điểm cụ thể trong tập giá trị của đặc trưng.
Dưới đây là phác hoạ ICE căn giữa cho mô hình dự đoán số xe đạp cho
thuê
Hình 5.9: Phác hoạ ICE căn giữa cho mô hình dự đoán số xe đạp cho thuê
theo điều kiện thời tiết. Các đường cong cho thấy sự thay đổi của dự đoán
so với dự đoán ứng với giá trị nhỏ nhất của đặc trưng tương ứng.

5.2.3 Phác hoạ ICE đạo hàm (Derivative ICE Plot)


Một cách khác để dễ dàng phát hiện sự không đồng nhất là theo các đạo
hàm theo đặc trưng của hàm dự đoán. Phác hoạ này được gọi là phác hoạ
ICE đạo hàm (d-ICE). Đạo hàm cho ta biết có sự thay đổi không và thay đổi
theo hướng nào. Với phác hoạ này, ta dễ dàng nhận ra tập giá trị của đặc
trưng mà dự đoán của mô hình hộp đen thay đổi (ít nhất cho vài điểm dữ
liệu). Nếu không có tương tác giữa đặc trưng đang xét xS và các đặc trưng
khác xC , hàm dự đoán có thể biểu diễn như sau:
δ fˆpxq
fˆpxq “ fˆpxS , xC q “ gpxS q ` hpxC q, with δxS “ g 1 pxS q

Không có tương tác, mỗi đạo hàm riêng sẽ giống nhau với mọi điểm dữ liệu.
Nếu chúng khác nhau, điều này là có sự tương tác và có thể thấy được từ
phác hoạ d-ICE. Ngoài việc dựng từng đường cong cho đạo hàm của hàm dự
đoán, đưa ra độ lệch chuẩn của đạo hàm làm nổi bật vùng giá trị của đặc
trưng có sự không đồng nhất. Phác hoạ d-ICE thường có chi phí tính toán
cao và do đó không thực tế.

5.2.4 Ưu điểm
Đường cong ICE thậm chí còn trực quan hơn phác hoạ PDP. Mỗi
đường ứng với dự đoán của một điểm dữ liệu nếu chúng ta thay đổi giá trị
của đặc trưng đang xét.
Không giống như PDP, đường cong ICE có thể thể hiện được quan hệ
không đồng nhất

5.2.5 Nhược điểm


Đường cong ICE chỉ thể hiện được một đặc trưng, vì hai đặc trưng
sẽ cần vẽ nhiều mặt đè lên nhau và sẽ không thể quan sát được điều gì.
Đường cong ICE chịu vấn đề tương tự PDP. Nếu đặc trưng đang xét có
sự tương quan với các đặc trưng khác, một vài điểm trên đường cong sẽ
trở nên không hợp lý theo phân phối của đặc trưng.
Nếu dựng nhiều đường ICE, phác hoạ sẽ trở nên dày đặc và không
thể quan sát được gì. Cách giải quyết: Thêm độ trong suốt cho đường cong
hoặc chỉ lấy mẫu vài đường.
Phác hoạ ICE có thể không dễ để nhận ra sự trung bình. Có một cách
giải quyết đơn giản: kết hợp ICE với PDP.

5.2.6 Phần mềm và các gói thay thế


Phác hoạ ICE được cài đặt trong gói thư viện iml của R (dùng cho các ví
dụ ở đây), ICEbox, và pdp. Một gói thư viện của R khác tương tự là condvis.
Trong Python, PDP được cài đặt trong scikit-learn từ bản 0.24.0.
5.3 Phác hoạ các tích lũy ảnh hưởng cục bộ
(Accumulated Local Effects (ALE) Plot)
Các tích lũy ảnh hưởng cục bộ (ALE) miêu tả cách các đặc trưng ảnh
hưởng lên dự đoán của một mô hình học máy tính trên trung bình. Các phác
thảo ALE thực hiện nhanh hơn và là một phương pháp không sai lệch thay
cho phác hoạ đặc trưng riêng (PDPs).
Tác giả gợi ý đọc trước chương các phác hoạ đặc trưng riêng, vì phương
pháp này dễ hiểu hơn và cả hai phương pháp đều có cùng mục đích: Diễn tả
cách đặc trưng mà ảnh hưởng lên dự đoán trên trung bình. Trong các mục
sau, tác giả muốn thuyết phục bạn đọc rằng các phác hoạ đặc trưng riêng có
một vấn đề nghiêm trọng khi các đặc trưng có mối tương quan với nhau.

5.3.1 Động lực và trực quan


Nếu những đặc trưng trong một mô hình học máy có sự tương quan, các
phác hoạ đặc trưng riêng sẽ trở nên không đáng tin. Tính toán phác hoạ đặc
trưng riêng cho một đặc trưng bao gồm trung bình hoá những dự đoán của
các mẫu dữ liệu nhân tạo có tính phi thực tiễn. Điều này tạo nên sự sai lệch
về ảnh hưởng ước lượng đặc trưng. Tưởng tượng phép tính toán các phác
hoạ đặc trưng riêng cho mô hình học máy dự đoán giá trị căn nhà, phụ thuộc
vào số phòng và kích thước khu vực sống. Chúng ta quan tâm tới ảnh hưởng
khu vực sống lên giá trị dự đoán. Nhắc lại là công thức cho các phác hoạ đặc
trưng riêng là: 1) Lựa chọn đặc trưng, 2) định nghĩa lưới, 3) Cho mỗi lưới: a)
Thay thế đặc trưng bằng giá trị lưới (grid value) và b) trung bình hoá các dự
đoán. 4) Vẽ đồ thị. Để tính toán của giá trị lưới đầu tiên trong PDP – giả sử
30 m2 – ta thay đổi giá trị diện tích cho mọi mẫu dữ liệu bằng 30 m2 , ngay
cả cho các căn nhà có 10 phòng. Đó thật sự là một căn nhà bất thường! Các
phác hoạ đặc trưng riêng sử dụng những ngôi nhà phi thực tiễn này trong
việc ước lượng ảnh hưởng của đặc trưng và giả sử rằng mọi thứ đều ổn. Hình
sau diễn tả hai đặc trưng tương quan nhau và dẫn tới việc PDP sử dụng dự
đoán của những mẫu dữ liệu phi thực tế.
Chúng ta có thể làm gì để thu được ảnh hưởng đặc trưng mà vẫn không
bỏ qua sự tương quan giữa các đặc trưng? Ta tính trung bình trên phân phối
có điều kiện của các đặc trưng, ví dụ với giá trị lưới của x1 ta trung bình các
Hình 5.10: Các đặc trưng tương quan mạnh (Strongly correlated features) x1
và x2. Để tính toán các ảnh hưởng đặc trưng của x1 ở 0.75, PDP thay thế
x1 của tất cả mẫu dữ liệu bằng 0.75, giả định sai rằng phân phối của x2 tại
x1 = 0.75 là tương đương với phân phối của x2 (đường thẳng dọc). Điều này
dẫn đến sự kết hợp khó có thể xảy ra giữa x1 và x2 (điển hình x2 = 0.2 ở x1
= 0.75), mà PDP sử dụng cho tính toán các ảnh hưởng trung bình.

giá trị dự đoán của các mẫu dữ liệu với cùng một giá trị x1. Kết quả sau khi
tính các ảnh hưởng đặc trưng dùng phân phối có điều kiện được gọi là các
phác hoạ biên (Marginal Plots), hay còn là M-Plots (Tên có tính nhầm lẫn
vì chúng dựa trên phân phối có điều kiện, chứ không phải phân phối biên).
Đợi đã, chính tác giả đã hứa không nói về các phác hoạ ALE? M-Plots không
phải là phương pháp chúng ta đang tìm kiếm. Tại sao M-Plots không giải
quyết vấn đề? Nếu như chúng ta trung bình các dự đoán của mọi căn nhà
trong khoảng 30 m2 , ta ước tính ảnh hưởng kết hợp (combined) cho diện
tích và cả số lượng phòng, bởi vì sự tương quan của chúng. Giả sử rằng diện
tích không có ảnh hưởng lên giá trị dự đoán của một ngôi nhà, mà chỉ có số
phòng ảnh hưởng. M-Plot vẫn sẽ vẫn cho thấy rằng kích thước khu vực sống
làm tăng giá trị dự đoán, vì số lượng phòng tăng theo với diện tích. Phác
hoạ sau thể hiện với hai đặc trưng tương quan thì M-plots hoạt động như
thế nào.

Hình 5.11: Các đặc trưng tương quan mạnh (Strongly correlated features)
x1 và x2. M-Plots trung bình hoá trong phân phối có điều kiện. Ở đây phân
phối có điều kiện của x2 ở x1 = 0.75. Trung bình hoá những dự đoán cục bộ
dẫn đến việc trộn lẫn các ảnh hưởng của cả hai đặc trưng.

M-Plots tránh sử dụng dự đoán của các mẫu dữ liệu khó xảy ra, nhưng
chúng trộn lẫn ảnh hưởng của một đặc trưng với ảnh hưởng của tất cả các
đặc trưng tương quan. Các phác họa ALE giải quyết vấn đề này thông qua
tính toán – tương tự với M-Plots trên phương thức– các giá trị sai khác
(differences) trong các dự đoán thay vì dùng các giá trị trung bình.
Đối với hưởng của diện tích tại giá trị 30 m2 , phương pháp ALE sử dụng tất
cả các dữ liệu ngôi nhà có diện tích khoảng 30 m2 , lấy dư đoán cho những
ngôi nhà này nhưng thay giá trị diện tích thành 31 m2 trừ đi dự đoán khi
thay giá trị diện tích thành 29 m2 . Điều này cho chúng ta ảnh hưởng thuần
túy của diện tích và không trộn lẫn ảnh hưởng đó với các ảnh hưởng trong
các đặc trưng có tương quan. Việc sử dụng sai khác giữa các dự đoán trên
đã chặn ảnh hưởng của các đặc trưng khác. Phác họa sau đây cung cấp trực
giác về cách tính toán các phác thảo ALE.

Hình 5.12: Tính toán ALE cho đặc trưng x1 tương quan với x2. Đầu tiên ta
phân các đặc trưng ra thành các khoảng (các đường thẳng). Cho các mẫu
dữ liệu (Các chấm đen) trong một khoảng, ta tính sai khác trong dự đoán
khi ta thay đổi đặc trưng bằng giới hạn trên và dưới của khoảng (các đường
ngang). Các sai khác được tích luỹ sau đó và được căn giữa (centered) kết
quả sẽ ra phác hoạ ALE.

Để tổng hợp phương thức mỗi dạng phác hoạ (PDP, M, ALE) tính toán
ảnh hưởng của một đặc trưng ở một giá trị lưới v:
Các phác hoạ đặc trưng riêng : “Hãy để tôi chỉ cho bạn biết mô hình
dự đoán trên trung bình khi mỗi mẫu dữ liệu có giá trị v cho đặc trưng đó.
Ta không để ý liệu giá trị v có hợp lý với tất cả các mẫu dữ liệu hay không.”

M-Plots : “Hãy để ta chỉ cho bạn thấy mô hình dự đoán trên trung bình
cho các trường hợp mẫu dữ liệu có giá trị gần với v cho đặc trưng đó. Ảnh
hưởng có thể là do đặc trưng đó, nhưng cũng do các đặc trưng tương quan.”

Các phác hoạ ALE : “Hãy để ta chỉ cho bạn cách các dự đoán trong mô
hình thay đổi ra sao trong một “ cửa sổ” nhỏ của đặc trưng xung quanh v
cho các mẫu dữ liệu trong cửa sổ đó.”

5.3.2 Lý thuyết
Các phác hoạ PD, M và ALE khác nhau ra sao về mặt toán học? Đặc
điểm chung cho cả ba phương pháp là chúng giảm tính phức tạp của hàm
dự đoán f thành hàm chỉ phụ thuộc vào một (hoặc hai) đặc trưng. Tất cả
ba phương pháp đều làm điều đó thông qua lấy trung bình các ảnh hưởng
của các đặc trưng khác, nhưng chúng khác nhau về việc chọn giữa tính toán
trung bình của các dự đoán hay các sai khác trong các dự đoán và tính
toán trung bình được thực hiện trên phân phối biên hay có điều kiện.
Phác hoạ đặc trưng riêng tính trung bình những dự đoán theo phân phối
biên.
” ı
fˆxS ,P DP pxS q “ EXC fˆpxS , XC q
ż
“ fˆpxS , xC qPpxC qdxC
xC

Đây là giá trị của hàm dự đoán f , tại (các) giá trị đặc trưng xS , được
tính trung bình trên tất cả các đặc trưng trong xC . Tính trung bình có nghĩa
là tính toán kỳ vọng biên E trên các đặc trưng trong tập C, chính là phép
tích phân trên các dự đoán được trọng số hoá thông qua phân phối xác suất.
Nghe có vẻ văn hoa, nhưng để tính giá trị kì vọng trên phân phối biên, chúng
ta chỉ cần lấy tất cả mẫu dữ liệu, buộc chúng phải có một giá trị lưới nhất
định theo các đặc trưng trong tập S và tính trung bình các dự đoán cho bộ
thao tác dữ liệu. Quy trình này đảm bảo rằng chúng ta trung bình hoá trên
phân phối biên của các đặc trưng.
M-plots tính trung bình các dự đoán trên phân phối có điều kiện.
” ı
ˆ ˆ
fxS ,M pxS q “ EXC |XS f pXS , XC q|XS “ xs
ż
“ fˆpxS , xC qPpxC |xS qdxC
xC

Điểm thay đổi duy nhất so với PDP là ta tính trung bình các dự đoán
theo phân phối có điều kiện trên từng giá trị lưới của đặc trưng quan tâm,
thay vì giả định phân phối biên ở mỗi giá trị lưới. Trong thực tế, điều này
có nghĩa là chúng ta phải định nghĩa lân cận (neighborhood), ví dụ để tính
toán ảnh hưởng của 30 m2 đến giá trị dự đoán của ngôi nhà, ta có thể tính
trung bình các dự đoán của tất cả các ngôi nhà trong khoảng từ 28 đến 32
m2 .
Các phác hoạ ALE tính trung bình các thay đổi trong các dự đoán và
tích lũy chúng qua lưới (các tính toán sẽ được thêm sau).
ż xS ” ı
ˆ
fxS ,ALE pxS q “ ˆ S
EXC |XS f pXs , Xc q|XS “ zS dzS ´ constant
z0,1
ż xS ż
“ fˆS pzs , xc qPpxC |zS qdxC dzS ´ constant
z0,1 xC

Công thức cho thấy ba điều khác biệt đối với M-Plots. Đầu tiên, ta tính
trung bình các thay đổi trong các dự đoán, không phải của chính dự đoán.
Thay đổi được định nghĩa là gradient (nhưng sau đó với tính toán thực tế,
đã được thay thế bằng các sai khác trong các dự đoán trên một khoảng).

δ fˆpxS ,xC q
fˆS pxs , xc q “ δxS

Sự khác biệt thứ hai là tích phân bổ sung trên z. Ta tích lũy các gradients
cục bộ trên phạm vi các đặc trưng trong tập S, cho ta ảnh hưởng của đặc
trưng trên dự đoán. Đối với tính toán thực tế, các giá trị z được thay thế bằng
một lưới các khoảng thông qua đó chúng ta tính toán những thay đổi trong
dự đoán. Thay vì lấy trung bình trực tiếp các dự đoán, phương pháp ALE
tính toán các giá trị dự đoán sai khác được điều kiện hoá trên các đặc trưng
S và tích phân các đạo hàm trên các đặc trưng S để ước tính ảnh hưởng.
Chà, nghe có vẻ ngu ngốc. Đạo hàm và tích phân thường triệt tiêu lẫn nhau,
như làm phép trừ rồi cộng cùng một số. Tại sao nó lại có ý nghĩa trong đây?
Đạo hàm (hoặc sai khác khoảng (interval difference)) cô lập ảnh hưởng của
đặc trưng ta quan tâm và chặn ảnh hưởng của các đặc trưng tương quan.
Sự khác biệt thứ ba của các ô ALE so với M-plots là chúng ta trừ đi một
hằng số từ các kết quả. Bước này ta căn giữa biểu đồ ALE sao cho ảnh hưởng
trung bình trên dữ liệu bằng không.
Một vấn đề còn lại: Không phải tất cả các mô hình đều có gradient, ví dụ
rừng ngẫu nhiên không có gradient. Nhưng bạn đọc sẽ thấy, tính toán thực
tế hoạt động được mà không cần gradient và sử dụng các khoảng. Chúng ta
hãy đi sâu hơn một chút vào việc ước tính các phác hoạ ALE.

5.3.3 Ước lượng


Đầu tiên tác giả sẽ mô tả cách phác hoạ ALE được ước tính cho duy nhất
một đặc trưng số, sau cùng cho hai đặc trưng số và cho một đặc trưng hạng
mục duy nhất. Để ước tính các ảnh hưởng cục bộ, ta chia đặc trưng thành
nhiều khoảng và tính toán các sai khác (differences) trong các dự đoán. Quy
trình này tính xấp xỉ gradient và có hiệu quả cho các mô hình không có
gradient.
Đầu tiên, chúng ta ước tính ảnh hưởng chưa được căn giữa (uncentered):
” ı
ˆ
˜ řkj pxq 1 ř piq piq
fj,ALE pxq “ k“1 nj pkq i:xpiq PNj pkq f pzk,j , xzj q ´ f pzk´1,j , xzj q
j

Hãy phân tích công thức này, bắt đầu từ phía bên phải. Các tích lũy
ảnh hưởng cục bộ phản ánh tốt tất cả các thành phần riêng lẻ trong công
thức. Tại cốt lõi, phương pháp ALE tính toán các sai khác trong các dự
đoán, theo đó chúng ta thay thế đặc trưng quan tâm bằng các giá trị lưới z.
Sai khác trong dự đoán là Ảnh hưởng (Effect) mà đặc trưng đang có lên
điểm dữ liệu riêng lẻ trong một khoảng nhất định. Tổng ở phía phải cộng
các ảnh hưởng của tất cả miền dữ liệu trong một khoảng mà biểu thị trong
công thức dưới dạng lân cận Nj pkq. Ta chia tổng này cho số lượng điểm dữ
liệu trong khoảng này để có được sai khác trung bình của các dự đoán cho
khoảng này. Giá trị trung bình trong khoảng này được thể hiện bằng thuật
ngữ cục bộ (Local) trong tên ALE. Ký hiệu tổng phía trái có nghĩa là ta
tích lũy các ảnh hưởng trung bình trong tất cả các khoảng. Ví dụ, ALE chưa
căn giữa (uncentered) của một giá trị đặc trưng nằm trong khoảng thứ ba
là tổng ảnh hưởng của các khoảng thứ nhất, thứ hai và thứ ba. Từ tích luỹ
(Accumulated) trong ALE phản ánh điều này.
Ảnh hưởng này được căn giữa sao cho ảnh hưởng trung bình bằng không.

fˆj,ALE pxq “ fˆ˜j,ALE pxq ´ n1 ni“1 fˆ˜j,ALE pxj q


ř piq

Giá trị của ALE có thể hiểu là ảnh hưởng chính của đặc trưng ở một giá
trị nhất định so với dự đoán trung bình của dữ liệu. Ví dụ: ước tính ALE là
´2 tại xj “ 3 có nghĩa là khi đặc trưng thứ j có giá trị 3, thì dự đoán thấp
hơn 2 đơn vị so với dự đoán trung bình.
Các phân vị (quantiles) của phân phối trong đặc trưng được dùng làm
lưới để xác định các khoảng. Sử dụng các phân vị đảm bảo rằng có cùng mẫu
dữ liệu trong mỗi khoảng. Phân vị có nhược điểm là các khoảng có thể có
độ dài rất khác nhau. Điều này dẫn đến một số phác hoạ ALE kỳ lạ nếu đặc
trưng quan tâm bị sai lệch, ví dụ như nhiều giá trị thấp và chỉ một vài giá
trị rất cao.
Các phác hoạ ALE cho sự tương tác của hai đặc trưng.
Các phác hoạ ALE cũng có thể hiện ảnh hưởng tương tác của hai đặc
trưng. Nguyên tắc tính toán là tương đương đối với một đặc trưng, nhưng
ta làm việc với các ô hình chữ nhật thay vì các khoảng, bởi vì ta phải tích
lũy các ảnh hưởng trên hai chiều. Ngoài việc điều chỉnh ảnh hưởng trung
bình tổng thể, ta cũng điều chỉnh các ảnh hưởng chính của cả hai đặc trưng.
Điều này có nghĩa là ALE cho hai đặc trưng ước tính ảnh hưởng bậc hai,
tức không bao gồm các ảnh hưởng chính của các đặc trưng. Nói cách khác,
ALE cho hai đặc trưng chỉ hiển thị ảnh hưởng tương tác bổ sung của hai đặc
trưng. Ta để dành cho bạn các công thức cho các ô 2D ALE vì chúng dài và
khá khó đọc. Nếu bạn quan tâm đến tính toán, ta giới thiệu bạn đến bài báo,
công thức (13) - (16). Ta sẽ dựa vào trực quan hóa để phát triển trực giác về
tính toán ALE bậc hai.
Trong hình trước, nhiều ô bị trống do tương quan. Trong phác hoạ ALE,
điều này được mô phỏng bằng một hộp màu xám hoặc tối. Ngoài ra, bạn đọc
có thể thay thế ước tính ALE bị thiếu trong một ô trống bằng ước tính ALE
của ô không bị trống gần nhất.
Do ước tính ALE cho hai đặc trưng chỉ hiển thị ảnh hưởng bậc hai của
các đặc trưng, việc diễn giải đòi hỏi sự chú ý đặc biệt. Ảnh hưởng bậc hai là
ảnh hưởng tương tác bổ sung của các đặc trưng sau khi ta đã tính đến các
ảnh hưởng chính của chúng. Giả sử hai đặc trưng không tương tác, nhưng
Hình 5.13: Tính toán 2D-ALE. Chúng ta đặt một lưới trên hai đặc trưng.
Trong mỗi ô lưới, ta tính toán sự khác biệt bậc 2 cho tất cả các mẫu dữ liệu
bên trong. Trước tiên ta thay thế các giá trị của x1 và x2 bằng giá trị các ô
ở góc. Nếu a, b, c và d đại diện cho các dự đoán “góc” của một trường hợp
đã được thao tác (như được dán nhãn trong đồ họa), thì sai khác bậc 2 là (d
- c) - (b - a). Sai khác trung bình bậc 2 trong mỗi ô được tích lũy trên lưới
và được căn giữa.

mỗi đặc trưng có ảnh hưởng tuyến tính đến kết quả dự đoán. Trong phác hoạ
ALE 1D cho mỗi đặc trưng, ta sẽ thấy một đường thẳng biểu thị ước tính
một đường cong ALE. Nhưng khi chúng ta vẽ các phác hoạ ALE 2D, chúng
phải gần bằng 0, vì ảnh hưởng bậc hai chỉ là ảnh hưởng bổ sung cho sự tương
tác. Các phác hoạ ALE và PD khác nhau trên vấn đề này: Các PDP luôn
hiển thị tất cả ảnh hưởng, các ô ALE hiển thị ảnh hưởng bậc nhất hoặc bậc
hai. Đây là những quyết định thiết kế không phụ thuộc vào cấu trúc toán
học. Bạn có thể lược đi các ảnh hưởng bậc thấp trong phác hoạ phụ thuộc
riêng để thu được các ảnh hưởng chính hoặc bậc hai thuần túy, hoặc, bạn
có thể ước tính tất cả các ô ALE bằng cách lược đi các ảnh hưởng bậc thấp
hơn.
Các phác họa tích lũy ảnh hưởng cục bộ cũng được tính cho các bậc cao
tùy ý (tương tác của ba đặc trưng trở lên), nhưng như được lập luận trong
chương PDP, chỉ có tối đa hai đặc trưng là hợp lý, bởi vì các tương tác cao
hơn không thể được hình dung hoặc thậm chí được hiểu một cách có ý nghĩa.
ALE cho các đặc trưng hạng mục
Theo định nghĩa, phương pháp accumulated local cần các giá trị đặc trưng
để thu được thứ tự bậc, bởi vì phương thức tích lũy các đặc trưng theo một
hướng nhất định. Các đặc trưng hạng mục không có bất kỳ trật tự tự nhiên.
Để tính toán một phác hoạ ALE cho một đặc trưng hạng mục, chúng ta phải
bằng cách nào đó tạo hoặc tìm một thứ tự bậc. Thứ tự của các hạng mục
ảnh hưởng lên việc tính toán và giải thích các tích lũy ảnh hưởng cục bộ.
Một giải pháp là đặt thứ tự các hạng mục theo sự tương đồng của chúng
dựa trên các đặc trưng khác. Khoảng cách giữa hai hạng mục là tổng các
khoảng cách của mỗi đặc trưng. Khoảng cách đặc trưng sẽ so sánh phân phối
tích luỹ (cumulative) trong cả hai hạng mục, còn được gọi là khoảng cách
Kolmogorov - Smirnov (đối với các đặc trưng số) hoặc các bảng tần số tương
đối (đối với các đặc trưng hạng mục). Khi chúng ta có khoảng cách giữa tất
cả hạng mục, chúng ta sử dụng multi-dimensional scaling (phép kéo giãn đa
chiều) để giảm ma trận khoảng cách xuống phép đo khoảng cách trên một
chiều. Điều này cho chúng ta một thứ tự dựa trên sự tương đương trong các
hạng mục.
Để làm rõ hơn một chút, ta có một ví dụ: Chúng ta hãy giả sử rằng có
hai đặc trưng hạng mục “mùa” và “thời tiết” và một đặc trưng số “nhiệt độ”.
Đối với đặc trưng hạng mục đầu tiên (mùa), chúng ta muốn tính toán các
ALE. Đặc trưng này có các danh mục “mùa xuân”, “mùa hè”, “mùa thu”, “mùa
đông”. Chúng ta bắt đầu tính khoảng cách giữa các hạng mục “mùa xuân”
và “mùa hè”. Khoảng cách tính là tổng khoảng cách so với nhiệt độ và thời
tiết. Đối với nhiệt độ, chúng ta lấy tất cả các mẫu dữ liệu “mùa xuân”, tính
toán phân phối tích luỹ kinh nghiệm (empirical cumulative distribution) và
làm tương tự với các mẫu dữ liệu “mùa hè” và đo khoảng cách của chúng
với thống kê Kolmogorov - Smirnov. Đối với đặc trưng thời tiết, ta tính toán
xác suất cho từng loại thời tiết cho tất cả các mẫu dữ liệu “mùa xuân”, thực
hiện tương tự cho các trường hợp “mùa hè” và tổng hợp khoảng cách tuyệt
đối trong phân phối xác suất. Nếu “mùa xuân” và “mùa hè” có nhiệt độ và
thời tiết khác nhau, tổng khoảng cách sẽ lớn. Ta lặp lại quy trình với các cặp
mùa khác và giảm từ hai chiều ma trận khoảng cách xuống một chiều bằng
phép kéo giãn đa chiều.

5.3.4 Các ví dụ
Ta hãy xem xét các phác hoạ ALE. Tác giả đã xây dựng một viễn cảnh
trong đó các phác hoạ phụ thuộc riêng thất bại. Viễn cảnh bao gồm một mô
hình dự đoán và hai đặc trưng tương quan mạnh. Mô hình dự đoán chủ yếu
là hồi quy tuyến tính, nhưng đã thực hiện điều kỳ lạ ở sự kết hợp hai đặc
trưng mà ta chưa bao giờ quan sát mẫu dữ liệu.
Đây có phải là một viễn cảnh thực tế, có liên quan? Khi bạn đào tạo một
mô hình, thuật toán học sẽ giảm thiểu tổn thất cho các mẫu dữ liệu đào tạo
hiện có. Những thứ kỳ lạ có thể xảy ra bên ngoài mẫu phân phối dữ liệu học,
bởi vì mô hình không bị phạt vì làm những thứ kỳ lạ trong các lĩnh vực này.
Rời khỏi phân phối dữ liệu được gọi là ngoại suy, cũng có thể được sử dụng
để đánh lừa các mô hình học máy, được mô tả trong chương về các ví dụ đối
kháng. Xem trong ví dụ nhỏ của chúng ta về cách các phác hoạ phụ thuộc
riêng hoạt động so với các phác hoạ ALE.
Nhưng có thú vị không khi thấy rằng mô hình của chúng ta hành xử kỳ lạ
ở x1> 0,7 và x2 <0,3? Vâng, có và không. Vì đây là những trường hợp mẫu
dữ liệu có thể là không thể hoặc ít nhất là cực kỳ khó xảy ra, nên thường
việc xem xét các trường hợp này là không liên quan. Nhưng nếu bạn nghi
ngờ rằng phân phối kiểm định của bạn có thể hơi khác biệt và một số mẫu
dữ liệu thực sự nằm trong phạm vi đó, thì sẽ rất thú vị khi thêm vùng này
vào tính toán các ảnh hưởng đặc trưng. Nhưng nó phải là quyết định rõ ràng
bao gồm các khu vực nơi ta chưa quan sát dữ liệu và nó không phải là một
tác dụng phụ của phương pháp lựa chọn như PDP. Nếu bạn cho rằng mô
hình này sẽ được sử dụng sau đó với phân phối dữ liệu khác, ta khuyên bạn
nên sử dụng các ô ALE và mô phỏng phân phối dữ liệu mà bạn đang mong
đợi.
Chuyển sang một bộ dữ liệu thực, chúng ta hãy dự đoán số lượng xe đạp
thuê dựa trên thời tiết và ngày và xem xét ô ALE có thực sự hoạt động tốt
Hình 5.14: Hai đặc trưng và kết quả dự đoán. Mô hình dự đoán tổng của
hai đặc trưng (nền bóng (shaded background)), ngoại trừ nếu x1 lớn hơn 0,7
và x2 nhỏ hơn 0,3, mô hình luôn dự đoán 2. Khu vực này nằm xa phân bố
dữ liệu (điểm đám mây) và không ảnh hưởng đến hiệu suất của mô hình và
cũng không ảnh hưởng đến diễn giải của nó.

như đã hứa hay không. Chúng ta huấn luyện một cây hồi quy để dự đoán số
lượng xe đạp thuê trong một ngày nhất định và sử dụng các lô ALE để phân
tích nhiệt độ, độ ẩm tương đối và tốc độ gió ảnh hưởng đến các dự đoán ra
sao. Chúng ta hãy xem những gì phác hoạ ALE nói sao:
Chúng ta xem xét mối tương quan giữa nhiệt độ, độ ẩm và tốc độ gió và
tất cả các đặc trưng khác. Vì dữ liệu cũng chứa các đặc trưng hạng mục, ta
không thể chỉ sử dụng hệ số tương quan Pearson, chỉ hoạt động nếu cả hai
đặc trưng là dạng số. Thay vào đó, tác giả huấn luyện một mô hình tuyến
tính để dự đoán, ví dụ, nhiệt độ dựa trên một trong những đặc trưng khác
làm đầu vào. Sau đó, ta đo lường mức độ variance mà đặc trưng khác trong
Hình 5.15: So sánh các ảnh hưởng của đặc trưng được tính toán với PDP
(hàng trên) và ALE (hàng dưới). Các ước tính PDP bị ảnh hưởng bởi hành
vi kỳ lạ của mô hình nằm ngoài phân phối dữ liệu (nhảy dốc trong các phác
hoạ). Các phác hoạ ALE xác định chính xác rằng mô hình học máy có mối
quan hệ tuyến tính giữa các đặc trưng và dự đoán, bỏ qua các khu vực không
có dữ liệu.

mô hình tuyến tính giải thích và lấy căn bậc hai. Nếu đặc trưng khác là số,
thì kết quả bằng giá trị tuyệt đối của hệ số tương quan Pearson tiêu chuẩn.
Nhưng phương pháp phương sai giải thích (variance-explained) (còn được gọi
là ANOVA, viết tắt của ANalysis Of VAriance) dựa trên mô hình này hoạt
động ngay cả khi đặc trưng khác là hạng mục. Giá trị phương sai giải thích
luôn nằm trong khoảng từ 0 (không liên kết) và 1 (nhiệt độ có thể được dự
đoán hoàn hảo từ đặc trưng khác). Chúng ta tính toán phương sai giải thích
về nhiệt độ, độ ẩm và tốc độ gió với tất cả các đặc trưng khác. Phương sai
(tương quan) được giải thích càng cao, thì càng có nhiều vấn đề (tiềm năng)
Hình 5.16: Sơ đồ ALE cho mô hình dự đoán xe đạp theo nhiệt độ, độ ẩm và
tốc độ gió. Nhiệt độ có ảnh hưởng mạnh đến dự đoán. Dự đoán trung bình
tăng khi nhiệt độ tăng, nhưng lại giảm khi nhiệt độ vượt qua 25 độ C. Độ
ẩm có ảnh hưởng tiêu cực: Khi trên 60%, độ ẩm tương đối càng cao, dự đoán
càng thấp. Tốc độ gió không ảnh hưởng nhiều đến dự đoán.

với các phác hoạ PD. Hình dưới đây cho thấy mức độ tương quan mạnh mẽ
của các đặc trưng thời tiết với các đặc trưng khác.
Phân tích tương quan này cho thấy rằng chúng ta có thể gặp phải các
vấn đề với các phác hoạ phụ thuộc riêng, đặc biệt là đối với đặc trưng nhiệt
độ. Vâng, bạn đọc hãy xem:
Tiếp theo, chúng ta hãy xem phác họa ALE hoạt động cho một đặc trưng
phân loại. Tháng là một đặc trưng hạng mục mà chúng ta muốn phân tích
ảnh hưởng lên số lượng xe đạp dự đoán. Có thể cho rằng, các tháng đã có
một thứ tự nhất định (từ tháng 1 đến tháng 12), nhưng chúng ta hãy thử
xem điều gì sẽ xảy ra nếu trước tiên chúng ta sắp xếp lại các danh mục theo
Hình 5.17: Độ mạnh của mối tương quan giữa nhiệt độ, độ ẩm và tốc độ gió
với tất cả các đặc trưng, được đo bằng lượng phương sai giải thích, khi chúng
ta huấn luyện mô hình tuyến tính với, ví dụ, để dự đoán nhiệt độ với đặc
trưng làm mùa. Đối với nhiệt độ chúng ta quan sát - không đáng ngạc nhiên
- có một mối tương quan cao trong mùa và tháng. Độ ẩm tương quan với
tình hình thời tiết.

mức độ tương tự và sau đó tính toán các đặc trưng. Các tháng được sắp xếp
theo độ tương tự của các ngày trong mỗi tháng dựa trên các đặc trưng khác,
chẳng hạn như nhiệt độ hoặc cho dù đó là ngày lễ.
Vì nhiều đặc trưng liên quan đến thời tiết, thứ tự các tháng phản ánh sự
tương đồng của thời tiết giữa các tháng. Những tháng lạnh hơn nằm ở bên
trái (Tháng hai tới tháng tư) và những tháng ấm hơn ở bên phải (Tháng
mười đến tháng tám). Hãy nhớ là những đặc trưng không phải thời tiết đã
được đưa vào trong tính toán tính tương tự, ví dụ tần suất tương đối cho các
ngày lễ có cùng trọng số với nhiệt độ để tính toán sự tương tự giữa các tháng
Hình 5.18: PDPs giữa nhiệt độ, độ ẩm và tốc độ gió. So với các phác hoạ
ALE, PDP cho thấy số lượng dự đoán xe đạp sẽ giảm ở nhiệt độ cao hoặc
độ ẩm cao. PDP sử dụng tất cả các mẫu dữ liệu để tính toán ảnh hưởng của
nhiệt độ cao, ngay cả khi chúng là, ví dụ, các trường hợp “mùa đông”. Các
phác hoạ ALE đáng tin cậy hơn.

Tiếp theo, ta xem xét ảnh hưởng bậc hai của độ ẩm và nhiệt độ đối với số
lượng dự đoán xe đạp. Hãy nhớ rằng ảnh hưởng bậc hai là ảnh hưởng tương
tác bổ sung của hai đặc trưng và không bao gồm các ảnh hưởng chính. Điều
này có nghĩa là, chẳng hạn, bạn sẽ không thấy tác động chính là độ ẩm cao
dẫn đến số lượng xe đạp dự đoán trung bình thấp hơn trong lô ALE thứ hai.
Hãy nhớ rằng cả hai ảnh hưởng chính của độ ẩm và nhiệt độ đều nói
rằng số lượng dự đoán xe đạp sẽ giảm khi thời tiết rất nóng và ẩm ướt. Do
đó trong thời tiết nóng và ẩm, ảnh hưởng kết hợp của nhiệt độ và độ ẩm
không phải là tổng từ các ảnh hưởng chính, mà lớn hơn tổng đó. Để nhấn
mạnh sự khác biệt giữa ảnh hưởng bậc hai thuần túy (Phác hoạ 2D ALE bạn
Hình 5.19: Phác hoạ ALE cho tháng đặc trưng hạng mục. Các tháng được
sắp xếp theo sự tương đồng với nhau của chúng, dựa trên sự phân phối của
các đặc trưng khác theo tháng. Ta quan sát rằng tháng 1, tháng 3 và tháng
4, nhưng đặc biệt là tháng 12 và tháng 11, có tác động thấp hơn đến số lượng
xe đạp dự đoán được thuê so với các tháng khác.

vừa thấy) và ảnh hưởng tổng thể, chúng ta hãy xem xét phác hoạ phụ thuộc
riêng. PDP cho thấy ảnh hưởng tổng thể, kết hợp dự đoán trên trung bình,
hai ảnh hưởng chính và ảnh hưởng bậc hai (sự tương tác).
Nếu bạn chỉ quan tâm đến sự tương tác, bạn nên nhìn vào ảnh hưởng
bậc hai, bởi vì tổng ảnh hưởng trộn lẫn các ảnh hưởng chính vào phác hoạ.
Nhưng nếu bạn muốn biết ảnh hưởng kết hợp của các đặc trưng, bạn nên
xem tổng ảnh hưởng (mà PDP hiển thị). Ví dụ: nếu bạn muốn biết số lượng
xe đạp dự kiến ở 30 độ C và độ ẩm 80 phần trăm, bạn có thể đọc nó trực
tiếp từ 2D PDP. Nếu bạn muốn đọc tương tự từ các ô ALE, bạn cần xem xét
ba ô: Phác hoạ nhiệt độ ALE, của độ ẩm và của nhiệt độ + độ ẩm và bạn
Hình 5.20: Phác hoạ ALE về đặc trưng độ ẩm và nhiệt độ bậc 2 đối với số
lượng xe đạp được thuê dự đoán. Màu sáng hơn cho thấy màu trên trung
bình và màu tối hơn cho dự đoán dưới mức trung bình khi các đặc trưng
chính đã được tính đến. Các phác hoạ cho thấy sự tương tác giữa nhiệt độ và
độ ẩm: Thời tiết nóng và ẩm làm tăng dự đoán. Trong thời tiết lạnh và ẩm,
một tác động tiêu cực bổ sung đối với số lượng xe đạp dự đoán được hiển
thị.

cũng cần biết tổng thể dự đoán trung bình. Trong trường hợp hai đặc trưng
không có tương tác, tổng ảnh hưởng của hai đặc trưng có thể gây hiểu nhầm
vì có thể hiển thị cảnh quan phức tạp, có vẻ như có sự tương tác, nhưng nó
chỉ là sản phẩm của hai ảnh hưởng chính. Ảnh hưởng bậc hai sẽ ngay lập tức
cho thấy rằng không có tương tác.
Ta hãy chuyển sang một bài toán phân lớp. Chúng ta huấn luyện một
khu rừng ngẫu nhiên để dự đoán xác suất ung thư cổ tử cung dựa trên các
yếu tố rủi ro. Chúng ta minh hoạ các phác họa tích lũy ảnh hưởng cục bộ
Hình 5.21: PDP của tổng ảnh hưởng của nhiệt độ và độ ẩm lên số lượng dự
đoán xe đạp. Phác hoạ kết hợp đặc trưng chính của từng đặc trưng và đặc
trưng tương tác của chúng, trái ngược với phác hoạ 2D-ALE chỉ hiển thị sự
tương tác.

cho hai trong số các đặc trưng:


Tiếp theo, chúng ta xem xét sự tương tác giữa số lần mang thai và tuổi.

5.3.5 Ưu điểm
Các phác hoạ ALE không thiên vị, nghĩa là chúng vẫn hoạt động khi
các đặc trưng có tương quan. Các phác hoạ phụ thuộc riêng thất bại trong
viễn cảnh này bởi vì chúng bị biên hoá trên các kết hợp giá trị đặc trưng
không khả thi hoặc thậm chí không thể về mặt thực tế.
Các phác hoạ ALE nhanh về mặt tính toán hơn các PDP và tỷ lệ
với O(n), vì số lượng khoảng lớn nhất có thể là số lượng các trường hợp với
Hình 5.22: Phác hoạ ALE cho ảnh hưởng của tuổi và năm với các biện pháp
tránh thai nội tiết tố lên khả năng dự đoán ung thư cổ tử cung. Đối với đặc
trưng độ tuổi, phác hoạ ALE cho thấy trung bình xác suất ung thư dự đoán
là thấp trong khoảng đến 40 tuổi và tăng sau đó. Sau 8 năm, số năm có biện
pháp tránh thai nội tiết tố có liên quan đến nguy cơ ung thư dự đoán cao
hơn.

một khoảng cho mỗi phiên bản. PDP yêu cầu n lần số lượng ước tính điểm
lưới. Đối với 20 điểm lưới, PDP yêu cầu dự đoán nhiều hơn 20 lần so với
phác hoạ ALE trong trường hợp xấu nhất khi sử dụng số khoảng trên dữ liệu
nhiều nhất có thể.
Giải thích các phác hoạ ALE rất rõ ràng: Với một giá trị nhất định,
ảnh hưởng tương đối của việc thay đổi đặc trưng lên dự đoán có thể được
đọc từ phác hoạ ALE. Các phác hoạ ALE được căn giữa ở mức 0. Điều
này làm cho tính giải thích của chúng tốt, bởi vì giá trị tại mỗi điểm của
đường cong ALE là sai khác so với dự đoán trung bình. Phác hoạ 2D ALE
Hình 5.23: Phác hoạ ALE về ảnh hưởng bậc 2 về số lần mang thai và tuổi.
Việc giải thích phác hoạ có một chút không thuyết phục, cho thấy có vẻ như
xuất hiện hiện tượng quá khớp. Ví dụ, phác hoạ cho thấy một hành vi kỳ lạ
của mô hình ở độ tuổi 18-20 và hơn 3 lần mang thai (xác suất ung thư tăng
tới 5 phần trăm). Không có nhiều phụ nữ trong dữ liệu với độ tuổi này và
số lần mang thai này (dữ liệu thực tế được hiển thị dưới dạng điểm đen), vì
vậy mô hình không bị phạt nặng trong quá trình huấn luyện vì đã phạm sai
lầm dự đoán những phụ nữ đó.

chỉ hiển thị tương tác: Nếu hai đặc trưng không tương tác, các phác hoạ
không hiển thị gì.
Nói chung trong hầu hết các tình huống, ta ưu tiên các phác hoạ ALE
hơn các PDP, bởi vì các đặc trưng thường tương quan ở một mức độ nào
đó.
5.3.6 Nhược điểm
Các phác hoạ ALE có thể trở nên hơi bất ổn (nhiều sự lên xuống
nhỏ) với số lượng khoảng lớn. Trong trường hợp này, việc giảm số lượng các
khoảng làm các ước tính ổn định hơn, nhưng cũng làm dịu đi và che giấu một
phần độ phức tạp thực sự của mô hình dự đoán. Không có giải pháp hoàn
hảo để thiết lập số lượng khoảng. Nếu số lượng quá nhỏ, các phác hoạ ALE
có thể không chính xác lắm. Nếu số quá cao, đường cong có thể trở nên bất
ổn.
Không giống như PDP, các phác hoạ ALE không đi kèm với các
đường cong ICE. Với các PDP, các đường cong ICE rất tuyệt vì chúng có
thể tiết lộ tính không đồng nhất trong ảnh hưởng đặc trưng, điều đó có nghĩa
là ảnh hưởng của một đặc trưng khác nhau cho các tập hợp con của dữ liệu.
Đối với các phác hoạ ALE, bạn chỉ có thể kiểm tra trên mỗi khoảng xem đặc
trưng có sai khác giữa các mẫu dữ liệu hay không, nhưng mỗi khoảng có các
mẫu dữ liệu khác nhau nên nó không giống với các đường cong ICE.
Các ước tính ALE bậc hai có độ ổn định khác nhau trên không
gian đặc trưng, không được hiển thị dưới bất kỳ hình thức nào. Lý
do cho điều này là mỗi ước tính về ảnh hưởng cục bộ trong một ô sử dụng
một số lượng mẫu dữ liệu khác nhau. Do đó, tất cả các ước tính đều có độ
chính xác khác nhau (nhưng chúng vẫn là ước tính tốt nhất có thể). Vấn đề
tồn tại ở phiên bản ít nghiêm trọng hơn đối với các phác hoạ ALE chính ảnh
hưởng. Số lượng các mẫu dữ liệu là như nhau trên tất cả các khoảng, nhờ sử
dụng các phân vị làm lưới, nhưng ở một số vùng sẽ có nhiều khoảng ngắn và
đường cong ALE sẽ bao gồm nhiều ước tính hơn. Nhưng trong những khoảng
dài, có thể chiếm một phần lớn của toàn bộ đường cong, những mẫu dữ liệu
ít hơn tương đối. Điều này xảy ra trong dự đoán ung thư cổ tử cung ALE
cho tuổi cao chẳng hạn.
Các lô đặc trưng bậc hai có thể hơi khó chịu để diễn giải, vì bạn
luôn phải ghi nhớ các đặc trưng chính. Rất để đọc nhầm các bản đồ nhiệt
(heat map) là tổng ảnh hưởng của hai đặc trưng, nhưng đó chỉ là ảnh hưởng
bổ sung của sự tương tác. Ảnh hưởng bậc hai thuần túy rất thú vị để khám
phá và tìm hiểu các tương tác, nhưng để diễn giải ảnh hưởng trông như thế
nào, tác giả nghĩ sẽ hợp lý hơn khi tích hợp các ảnh hưởng chính vào phác
hoạ.
Việc thực hiện các phác hoạ ALE phức tạp hơn và ít trực quan
hơn so với các phác hoạ phụ thuộc riêng.
Mặc dù các phác hoạ ALE không bị thiên vị trong trường hợp các đặc
trưng tương quan, việc giải thích vẫn khó khăn khi các đặc trưng có
tương quan mạnh. Bởi vì nếu chúng có mối tương quan rất mạnh, sẽ chỉ
hợp lý khi phân tích ảnh hưởng của việc thay đổi cả hai đặc trưng cùng lúc,
không phải tách biệt. Nhược điểm này không phải của riêng các phác hoạ
ALE, nhưng là một vấn đề chung về các đặc trưng tương quan mạnh.
Nếu các đặc trưng không tương thích và thời gian tính toán không phải
là vấn đề, PDP sẽ tương đối thích hợp hơn vì chúng dễ hiểu hơn và có thể
được vẽ cùng với các đường cong ICE.
Danh sách các nhược điểm là khá dài, nhưng đừng bị đánh lừa bởi số
lượng từ ta sử dụng: Như một quy tắc chung: Sử dụng ALE thay vì PDP.

5.3.7 Phần mềm và các gói thay thế


Ta đã đề cập rằng các phác hoạ phụ thuộc riêng và ICE curves là một
phương án thay thế? =)
Theo ta, các phác hoạ ALE hiện chỉ được triển khai trong R, một lần
trong gói ALEPlot R của chính người tạo ra và một lần trong gói iml.
5.4 Tương tác giữa đặc trưng (Feature Inter-
action)
Khi các đặc trưng tương tác với nhau trong mô hình, dự đoán không thể
biểu diễn thành tổng của ảnh hưởng của các đặc trưng, bởi vì ảnh hưởng
của đặc trưng này phụ thuộc vào giá trị của đặc trưng khác. Khẳng định của
Aristotle “Toàn bộ lớn hơn tổng của từng phần” được áp dụng khi xuất hiện
sự tương tác.

5.4.1 Tương tác giữa đặc trưng?


Nếu một mô hình dự đoán dựa trên hai đặc trưng, ta có thể phân tích dự
đoán thành 4 phần: một giá trị hằng số, một cho đặc trưng thứ nhất, một
cho đặc trưng thứ hai, một cho tương tác giữa hai đặc trưng.
Tương tác giữa hai đặc trưng là sự thay đổi ở dự đoán xảy ra khi ta thay
đổi đặc trưng sau khi xem xét ảnh hưởng của từng đặc trưng.
Lấy ví dụ một mô hình dự đoán giá của một ngôi nhà, dựa trên hai đặc
trưng là kích cỡ (lớn hay nhỏ) và vị trí (tốt hay xấu), có thể đưa ra một trong
bốn kết quả sau đây:

Location Size Prediction


tốt lớn 300,000
tốt nhỏ 200,000
xấu lớn 250,000
xấu nhỏ 150,000

Ta phân tích dự đoán thành các phần sau: Giá trị hằng số (150,000), ảnh
hưởng của kích cỡ (+100,000 nếu lớn, +0 nếu nhỏ), ảnh hưởng của vị trí
(+50,000 nếu lớn, +0 nếu nhỏ). Cách phân tích này giải thích đầy đủ mô
hình. Ở đây không có sự tương tác giữa các đặc trưng, do dự đoán của mô
hình chỉ là tổng của ảnh hưởng đặc trưng riêng biệt của kích cỡ và vị trí. Khi
ta thay đổi kích cỡ từ nhỏ thành lớn, dự đoán luôn luôn tăng 100,000, bất kể
vị trí như thế nào. Tương tự, chênh lệch giữa dự đoán của vị trí tốt và xấu
luôn là 50,000, bất kể kích cỡ như thế nào.
Bây giờ ta hãy thử xem xét một ví dụ có sự tương tác:
Location Size Prediction
tốt lớn 400,000
tốt nhỏ 200,000
xấu lớn 250,000
xấu nhỏ 150,000

Tương tự, ta có thể phân tích dự đoán thành các phần sau: Giá trị hằng
số (150,000), ảnh hưởng của kích cỡ (+100,000 nếu lớn, +0 nếu nhỏ), ảnh
hưởng của vị trí (+50,000 nếu lớn, +0 nếu nhỏ). Tuy nhiên ở đây ta cần thêm
một thành phần nữa cho sự tương tác: +100,000 nếu ngôi nhà có kích cỡ lớn
và ở vị trí tốt. Có sự tương tác giữa kích cỡ và vị trí, do chênh lệch trong dự
đoán của ngôi nhà có kích cỡ lớn và nhỏ phụ thuộc vào vị trí.
Một cách để ước lượng mức độ tương tác là đo độ biến thiên của dự đoán
phụ thuộc vào tương tác giữa các đặc trưng. Phép đo này gọi là thống kê-H,
đề xuất bởi Friedman và Popescu (2008).

5.4.2 Lý thuyết: thống kê-H của Friedman


Chúng ta sẽ giải quyết hai trường hợp: một phép đo tương tác hai chiều
cho ta biết liệu hai đặc trưng có tương tác với nhau không và tương tác
trong trường hợp nào, một phép đo tương tác toàn phần cho ta biết liệu
một đặc trưng có tương tác với tất cả các đặc trưng còn lại không và tương
tác trong trường hợp nào. Về mặt lý thuyết, ta có thể đo sự tương tác giữa
một số tùy ý các đặc trưng, nhưng hai trường hợp trên là đủ.
Nếu hai đặc trưng không tương tác với nhau, ta có thể phân tích hàm phụ
thuộc riêng như sau (giả sử hàm được căn tại không):

P Djk pxj , xk q “ P Dj pxj q ` P Dk pxk q

với P Djk pxj , xk q là hàm phụ thuộc riêng hai chiều của cả hai đặc trưng,
P Dj pxj q và P Dk pxk q là hàm đặc trưng riêng của từng đặc trưng.
Tương tự, nếu đặc trưng đang xét không tương tác với bất kì đặc trưng nào
khác, ta có thể phân tích dự đoán thành tổng của hai hàm phụ thuộc riêng,
một chỉ phụ thuộc vào đặc trưng j đang xét, một cho tất cả đặc trưng ngoại
trừ j:
fˆpxq “ P Dj pxj q ` P D´j px´j q

với P D´j px´j q là hàm phụ thuộc riêng cho tất cả các đặc trưng ngoại trừ j.
Việc phân tích này giúp biể diễn hàm phụ thuộc riêng (hoặc toàn bộ dự
đoán) mà không có tương tác (giữa đặc trưng j và k, hoặc giữa đặc trưng j
và tất cả đặc trưng còn lại). Sau đó, ta sẽ đo sự chênh lệch giữa hàm phụ
thuộc riêng quan sát được với hàm đã được phân tích bên trên. Ta tính
phương sai của kết quả cho hàm phụ thuộc riêng (để đo tương tác giữa hai
đặc trưng) hoặc toàn bộ hàm dự đoán (để đo tương tác giữa một đặc trưng
và tất cả đặc trưng còn lại). Phương sai tính qua tương tác (chênh lệch giữa
hàm phụ thuộc riêng quan sát và không có tương tác) được dùng làm thống
kê có tương tác. Thống kê bằng 0 nếu không có tương tác, bằng 1 nếu tất
cả phương sai của P Djk hoặc fˆ giải thích qua tổng của các hàm phụ thuộc
riêng. Giá trị thống kê có tương tác giữa hai đặc trưng bằng 1 nghĩa là từng
hàm phụ thuộc riêng là hằng số và dự đoán chỉ bị ảnh hưởng bởi tương tác.
Thống kê-H có thể lớn hơn 1, lúc này sẽ khó giải thích hơn. Điều này xảy ra
khi phương sai của tương tác hai phía lớn hơn phương sai của đồ thị phụ
thuộc riêng hai chiều.
Về mặt công thức, thống kê-H đề xuất bởi Friedman và Popescu cho tương
tác giữa hai đặc trưng j và k được tính như sau:

řn ” ı2 ř
“ i“1 P Djk pxj , xk q ´ P Dj pxj q ´ P Dk pxk q { ni“1 P D2jk pxj , xk q
2 piq piq piq piq piq piq
Hjk

Tương tự ta có thể tính cho tương tác giữa đặc trưng j và tất cả đặc trưng
còn lại:

řn ” ˆ piq ı2 ř
“ i“1 f px q ´ P Dj pxj q ´ P D´j px´j q { ni“1 fˆ2 pxpiq q
piq piq
Hj2

Thống kê-H có chi phí tính toán khá cao vì ta cần phải xét từng điểm dữ
liệu, và với mỗi điểm dữ liệu ta cần tính hàm phụ thuộc riêng qua n điểm
dữ liệu. Trường hợp tệ nhất, ta cần gọi hàm dự đoán của mô hình 2n2 lần
để tính thống kê-H hai phía (j với k) và 3n2 lần cho thống kê-H toàn phần
(j với tất cả). Để tăng tốc tính toán, ta có thể lấy mẫu từ n điểm dữ liệu.
Tuy nhiên, điều này khiến phương sai khi ước lượng phụ thuộc riêng tăng
lên, dẫn đến thống kê-H không ổn định. Do đó, nếu ta lấy mẫu để giảm chi
phí tính toán, cần phải lấy đủ số mẫu.
Friedman và Popescu cũng đề xuất một phương pháp kiểm định giả thiết
thống kê để đánh giá xem thống kê-H có khác 0 đủ nhiều không. Giả thiết
không là không có sự tương tác. Để sinh ra thống kê tương tác dưới giả thiết
không, ta phải thay đổi mô hình sau cho không có tương tác giữa đặc trưng j
với k hoặc với các đặc trưng còn lại. Không phải mô hình nào cũng làm được
điều này. Cách kiểm định này do vậy phụ thuộc vào mô hình, và sẽ không
được trình bày ở đây.
Thống kê có tương tác cũng có thể áp dụng cho bài toán phân lớp nếu dự
đoán là giá trị xác suất.

5.4.3 Ví dụ
Ta sẽ xem tương tác giữa đặc trưng trong một ví dụ thực tế. Ta đo tương
tác giữa đặc trưng của mô hình máy vector hỗ trợ dự đoán số xe đạp cho
thuê theo thời tiết và đặc trưng ngày tháng. Đồ thị dưới đây thể hiện thống
kê-H tương tác giữa đặc trưng:
Trong ví dụ tiếp theo, ta tính thống kê tương tác cho bài toán phân loại.
Ta phân tích tương tác giữa đặc trưng trong mô hình rừng ngẫu nhiên được
huấn luyện để dự đoán tỉ lệ ung thư cổ tử cung khi biết các nguy cơ.
Sau khi quan sát tương tác giữa từng đặc trưng với tất cả đặc trưng còn lại,
ta có thể chọn một đặc trưng và phân tích kĩ hơn tương tác hai phía giữa
đặc trưng đó và từng đặc trưng còn lại.

5.4.4 Ưu điểm
Thống kê-H tương tác được dựng trên lý thuyết của phân tích phụ
thuộc riêng.
Thống kê-H có lời giải thích có ý nghĩa: Tương tác được định nghĩa qua
phương sai.
Vì thống kê không có thứ nguyên, nó có thể dùng để so sánh giữa các
đặc trưng hoặc giữa các mô hình.
Thống kê nhận biết mọi loại tương tác, bất kể là dạng nào.
Với thống kê-H, ta có thể phân tích bất kì tương tác bậc cao nào, ví dụ
như tương tác giữa 3 đặc trưng hoặc hơn.
Hình 5.24: Sự tương tác (thống kê-H) cho mỗi đặc trưng với tất cả đặc trưng
còn lại cho mô hình máy vector hỗ trợ dự đoán số xe đạp cho thuê. Nhìn
chung, ảnh hưởng của tương tác giữa các đặc trưng khá yếu (phương sai của
mỗi đặc trưng dưới 10%

5.4.5 Nhược điểm


Điều đầu tiên người đọc có thể nhận ra: thống kê-H có chi phí tính toán
lớn.
Việc tính toán yêu cầu ước lượng phân phối lề. Các ước lượng này có thể
có phương sai nhất định nếu chúng ta không dùng tất cả điểm dữ liệu.
Điều này nghĩa là khi ta lấy mẫu dữ liệu, ước lượng sẽ thay đổi trong từng
lần tính toán và kết quả sẽ không ổn định. Khuyến khích lặp lại việc tính
toán thống kê-H vài lần nếu có đủ dữ liệu để đạt được kết quả ổn định.
Hình 5.25: Sự tương tác (thống kê-H) cho mỗi đặc trưng với tất cả đặc trưng
còn lại cho mô hình rừng ngẫu nhiên dự đoán khả năng ung thư cổ tử cung.
Số năm sử dụng biện pháp tránh thai nội tiết có ảnh hưởng tương tác tương
ứng với tất cả đặc trưng khác cao nhất, tiếp theo là số lần mang thai

Không chắc chắn liệu tương tác có đủ lớn hơn 0 hay không. Ta có thể kiểm
định giả thiết thống kê, nhưng hiện tại cách kiểm định này phụ thuộc
vào mô hình.
Liên quan đến vấn đề kiểm định, khá khó để biết thống kê-H lớn đến mức
nào thì ta có thể xem tương tác là “mạnh”.
Thống kê-H có thể lớn hơn 1, điều này khiến việc giải thích trở nên khó khăn.
Thống kê-H cho ta biết mức độ tương tác, nhưng không thể hiện cụ thể tương
tác như thế nào. Lúc này ta cần đến đồ thị phụ thuộc riêng. Một quy trình
hợp lý là đo sự tương tác và dựng đồ thị phụ thuộc riêng cho các tương tác
mà ta quan tâm.
Thống kê-H không có ý nghĩa nếu đầu vào là các pixel. Do đó kĩ thuật này
Hình 5.26: Sự tương tác hai phía (thống kê-H) giữa số lần mang thai và từng
đặc trưng khác. Có sự tương tác mạnh giữa số lần mang thai và tuổi

không nên dùng cho mô hình phân loại ảnh.


Thống kê tương tác được đặt dưới giả thiết ta có thể hoán vị các đặc trưng
một cách độc lập. Nếu các đặc trưng có sự tương quan mạnh, giả thiết này
sẽ không hợp lý và ta sẽ sử dụng các tổ hợp đặc trưng không xuất
hiện trong thực tế. Điều này giống với đồ thị phụ thuộc riêng.
Đôi lúc kết quả sẽ khá lạ và các mô phỏng nhỏ không đưa ra kết quả như
mong muốn. Nhưng chúng thường là các quan sát không đáng tin cậy.

5.4.6 Cài đặt


Trong cuốn sách này, ta đã dùng gói thư viện iml của R, có thể tìm thấy ở
CRAN hay phiên bản trên Github. Có nhiều gói cài đặt khác, tập trung vào
các mô hình cụ thể: Gói thư viện pre của R cài đặt RuleFit và thống kê-H.
Gói thư viện gbm của R cài đặt mô hình tăng tốc gradient và thống kê-H

5.4.7 Gói thay thế


Thống kê-H không phải cách duy nhất để đo sự tương tác:
Mạng tương tác giữa các biến (VIN) đề xuất bởi Hooker (2004) tiếp cận bằng
cách khai triển hàm dự đoán thành các ảnh hưởng chính và tương tác giữa
đặc trưng. Tương tác sau đó được mô hình bởi một mạng. Tuy nhiên hiện
chưa có phần mềm nào cho phương pháp này.
Tương tác giữa đặc trưng dựa trên phụ thuộc riêng đề xuất bởi Greenwell
và cộng sự (2018) đo tương tác giữa hai đặc trưng. Cách tiếp cận này đo độ
quan trọng của đặc trưng (định nghĩa bởi phương sai của hàm phụ thuộc
riêng) theo các điểm cố định của các đặc trưng khác. Nếu phương sai có giá
trị lớn, có sự tương tác giữa các đặc trưng, nếu phương sai bằng 0, không có
sự tương tác. Gói phần mềm vip cho R có thể tìm ở Github. Gói phần mềm
này cũng có đồ thị phụ thuộc riêng và độ quan trọng của đặc trưng.
5.5 Hoán vị đặc trưng quan trọng - Permu-
tation Feature Importance)
Hoán vị đặc trưng quan trọng đo lường mức độ gia tăng sai số dự đoán
của mô hình sau khi chúng ta hoán vị các đặc trưng của đối tượng, điều sẽ
phá vỡ mối quan hệ giữa đặc trưng và kết quả thực.

5.5.1 Lý thuyết
Khái niệm này thực sự đơn giản: chúng ta đo lường tầm quan trọng của
một đặc trưng bằng cách tính toán sự gia tăng sai số trong dự đoán của mô
hình sau khi hoán vị đặc trưng. Một đặc trưng là “quan trọng” nếu việc xáo
trộn các giá trị của nó làm tăng sai số mô hình, vì trong trường hợp này, mô
hình dựa vào đặc trưng để dự đoán. Một đặc trưng là “không quan trọng”
nếu việc xáo trộn các giá trị của nó không làm thay đổi sai số mô hình, vì mô
hình đã bỏ qua đặc trưng trong dự đoán. Phép đo tầm quan trọng của đặc
điểm hoán vị được Breiman (2001) đưa ra cho các khu rừng ngẫu nhiên. Dựa
trên ý tưởng này, Fisher, Rudin và Dominici (2018) đã đề xuất một phân
tích kiểu mẫu về tầm quan trọng của đặc trưng và gọi nó là sự phụ thuộc
vào mô hình. Họ cũng đưa ra những ý tưởng tốt hơn về tầm quan trọng của
đặc trưng, ví dụ như một phiên bản (dành riêng cho mô hình) có tính đến
việc nhiều mô hình dự đoán có thể dự đoán tốt dữ liệu.
Thuật toán hoán vị đặc trưng quan trọng dựa trên Fisher, Rudin
và Dominici (2018):
Đầu vào: mô hình đã huấn luyện f, ma trận đặc trưng X, vector kết quả
y, và hàm đánh giá sai số L(y, f).

• Ước tính sai số của mô hình ban đầu eorig = L(y, f(X)) (ví dụ: sai số bình
phương trung bình)

• Với mỗi đặc trưng j = 1, . . . , p:

– Tạo ma trận đặc trưng X perm bằng cách hoán vị đặc trưng j trong
dữ liệu X. Điều này làm mất mối liên hệ giữa đặc điểm j và kết quả
đúng y.
– Ước tính lỗi eperm = L(Y, f (X perm )) dựa trên các dự đoán của dữ liệu
hoán vị.
– Tính tầm quan trọng của đặc điểm hoán vị F I j = eperm / eorig . Ngoài
ra, sai số có thể được sử dụng: F I j = eperm - eorig

• Sắp xếp đặc trưng theo F I j giảm dần.

Fisher, Rudin và Dominici (2018) đề xuất trong bài báo của họ chia đôi bộ
dữ liệu ra và hoán vị các giá trị của đặc trưng j của hai nửa thay vì hoán
vị đặc trưng j, và hai điều này tương đương nhau. Nếu bạn muốn ước tính
chính xác hơn, bạn có thể ước tính sai số của việc hoán vị đặc trưng j bằng
cách ghép nối từng cá thể giá trị của đặc trưng j với từng cá thể của khác
(ngoại trừ chính nó). Điều này cho ra một tập dữ liệu có kích thước n(n-1)
để ước tính sai số hoán vị và cần một lượng lớn thời gian tính toán để nhận
được các ước tính chính xác.

5.5.2 Ta có nên tính toán tầm quan trọng trên tập dữ


liệu huấn luyện hay tập dữ liệu thử nghiệm?
Ta không có câu trả lời chính xác.
Trả lời câu hỏi về tập dữ liệu huấn luyện hoặc thử nghiệm chạm đến câu
hỏi về đặc trưng quan trọng là gì. Cách tốt nhất để hiểu sự khác biệt giữa
đặc trưng quan trọng dựa trên đào tạo và dựa trên dữ liệu thử nghiệm là một
ví dụ “phóng đại”. Ta đã huấn luyện một máy vector hỗ trợ để dự đoán kết
quả ngẫu nhiên, có tính liên tục với 50 đặc trưng ngẫu nhiên (200 cá thể).
“Ngẫu nhiên” nghĩa là kết quả mục tiêu không phụ thuộc vào 50 đặc trưng.
Điều này giống như việc dự đoán nhiệt độ ngày mai khi đưa ra những con
số xổ số mới nhất. Nếu mô hình “học hỏi” bất kỳ mối quan hệ nào thì hiện
tượng quá khớp xảy ra ở thực tế trên tập dữ liệu huấn luyện. Sai số tuyệt
đối trung bình (viết tắt: mae) đối với dữ liệu huấn luyện là 0.29 và đối với
dữ liệu thử nghiệm là 0.82, đây cũng là sai số của mô hình tốt nhất có thể
luôn dự đoán kết quả trung bình là 0 (mae là 0.78). Nói cách khác, mô hình
máy vector hỗ trợ là không khả thi. Giá trị đặc trưng quan trọng cho 50 đặc
trưng của máy vector hỗ trợ quá khớp là bao nhiêu? Giá trị là 0 vì không có
đặc trưng nào góp phần cải thiện hiệu suất trên tập dữ liệu thử nghiệm chưa
được huấn luyện? Hay tầm quan trọng có nên phản ánh mức độ phụ thuộc
của mô hình vào từng đặc trưng, bất kể các mối quan hệ đã học có khái quát
hóa thành dữ liệu chưa huấn luyện hay không? Hãy xem xét sự khác nhau
giữa các phân phối của đặc trưng quan trọng cho dữ liệu huấn luyện và thử
nghiệm.

Hình 5.27: Phân phối tầm quan trọng của đặc trưng theo kiểu dữ liệu. Máy
vector hỗ trợ được huấn luyện trên tập dữ liệu hồi quy với 50 đặc trưng ngẫu
nhiên và 200 cá thể. Máy vector hỗ trợ quá khớp trên tập dữ liệu: Đặc trưng
quan trọng dựa trên dữ liệu huấn luyện cho thấy nhiều đặc trưng là nhóm
này. Được tính toán trên dữ liệu thử nghiệm chưa huấn luyện, tỉ số đặc trưng
quan trọng gần như bằng 0 (= không quan trọng).
.

Ta sẽ cố gắng đưa ra một trường hợp cho cả hai phiên bản và để bạn tự
quyết định.

Trường hợp trên tập dữ liệu thử nghiệm Các bước gồm: Ước tính lỗi
mô hình dựa trên dữ liệu huấn luyện là rác -> đặc trưng quan trọng dựa trên
ước tính sai số của mô hình -> đặc trưng quan trọng dựa trên dữ liệu huấn
luyện là rác.
Đó là một trong những điều đầu tiên bạn học được trong học máy: Nếu
bạn đo lường sai số mô hình (hoặc hiệu suất) trên cùng dữ liệu được đào tạo
và phép đo thường quá khả quan, mô hình có vẻ hoạt động tốt hơn nhiều
so với thực tế. Và vì hoán vị đặc trưng quan trọng phụ thuộc vào các phép
đo sai số của mô hình, chúng ta nên sử dụng dữ liệu thử nghiệm chưa huấn
luyện. Đặc trưng quan trọng dựa trên dữ liệu huấn luyện khiến ta tưởng rằng
các đặc trưng quan trọng đối với các dự đoán, trong khi thực tế, mô hình chỉ
gặp hiện tượng quá khớp và các đặc trưng không hề quan trọng.

Trường hợp trên tập dữ liệu huấn luyện Chúng ta xét mô hình Máy
vector hỗ trợ không khả thi. Dựa trên dữ liệu huấn luyện, đặc trưng quan
trọng nhất là X42. Chúng ta hãy xem một phác hoạ phụ thuộc riêng của đặc
trưng X42. Biểu đồ này cho thấy đầu ra của mô hình thay đổi như thế nào
dựa trên những thay đổi của đặc trưng và không dựa trên sai số tổng quát.
Không quan trọng việc PDP có được tính toán với dữ liệu huấn luyện hay
thử nghiệm.
Biểu đồ cho thấy máy vector hỗ trợ đã dựa vào đặc trưng X42 cho các dự
đoán của nó, nhưng nó lại không quan trọng dựa theo đặc trưng quan trọng
của dữ liệu (1). Dựa trên dữ liệu huấn luyện, tầm quan trọng là 1,19, phản
ánh rằng mô hình đã học cách sử dụng đặc trưng này. Đặc trưng quan trọng
từ dữ liệu huấn luyện cho biết những đặc trưng nào là quan trọng cho mô
hình phụ thuộc vào để đưa ra dự đoán.
Trong thực tế, bạn muốn sử dụng tất cả dữ liệu để đào tạo mô hình và
có được mô hình tốt nhất có thể. Điều này nghĩa là không có dữ liệu thử
nghiệm để tính toán đặc trưng quan trọng. Vấn đề tương tự khi muốn ước
tính sai số tổng quát của mô hình. Nếu bạn sử dụng xác thực chéo để ước
tính đặc trưng quan trọng, vấn đề sẽ gặp là đặc trưng quan trọng tính toán
trên các mô hình có tập hợp con dữ liệu có biểu hiện khác nhau.
Cuối cùng, bạn cần quyết định tính mức độ phụ thuộc của mô hình lên
mỗi đặc trưng để đưa ra dự đoán (-> dữ liệu huấn luyện) hoặc đặc trưng
đóng góp bao nhiêu vào hiệu suất của mô hình trên dữ liệu chưa huấn luyện
(-> dữ liệu thử nghiệm ). Câu hỏi này sẽ yêu cầu kiểm tra kỹ lưỡng hơn ví
dụ “Máy vector hỗ trợ không khả thi” của ta. Chúng ta cần thêm nghiên cứu
và kinh nghiệm với các công cụ này để hiểu rõ hơn.
Hình 5.28: PDP của đặc trưng X42, là đặc trưng quan trọng nhất dựa theo
đặc trưng quan trọng tính toán từ dữ liệu huấn luyện. Biểu đồ cho thấy máy
vector hỗ trợ phụ thuộc ra sao vào đặc trưng này để dự đoán
.

5.5.3 Ví dụ và phân tích diễn giải


Ta đưa ra các ví dụ cho phân loại và hồi quy.

Ung thư cổ tử cung (phân loại) Chúng ta huấn luyện một mô hình
rừng ngẫu nhiên dự đoán ung thư cổ tử cung. Chúng ta đo mức tăng sai số
1-AUC (1 trừ đi diện tích dưới đường cong ROC). Các đặc trưng liên quan
đến sai số mô hình tăng theo hệ số 1 (= không thay đổi) không quan trọng
để dự đoán ung thư cổ tử cung.
Đặc trưng có tầm quan trọng cao nhất là số năm dùng thuốc tránh thai
nội tiết tố. liên quan đến sự gia tăng sai số 6.13 sau khi hoán vị.

Thuê xe đạp (hồi quy) Chúng ta huấn luyện với mô hình máy vector
hỗ trợ để dự đoán số lượng xe đạp đã thuê, cho biết điều kiện thời tiết nhất
định và thông tin lịch. Khi đo sai số, chúng ta sử dụng sai số tuyệt đối trung
Hình 5.29: Tầm quan trọng của từng đặc trưng trong việc dự đoán ung thư
cổ tử cung với một rừng ngẫu nhiên. Đặc trưng quan trọng nhất là số năm
dùng thuốc tránh thai nội tiết tố. Hoán vị đặc trưng này dẫn đến tăng 1-AUC
theo hệ số 6.13
.

bình.

5.5.4 Ưu điểm
Diễn giải tốt: Đặc trưng quan trọng là mức tăng sai số của mô hình khi
thông tin của đặc trưng bị loại bỏ.
Đặc trưng quan trọng cung cấp thông tin chi tiết toàn cầu, được nén
cao (highly compressed) về hành vi của mô hình.
Một khía cạnh tích cực của việc sử dụng tỷ lệ sai số thay vì chênh lệch
sai số là các phép đo đặc trưng quan trọng có thể so sánh giữa các vấn
đề khác nhau.
Mức đo tầm quan trọng tự động tính đến tất cả các tương tác với
các đặc trưng khác. Hoán vị đặc trưng phá hủy các hiệu ứng tương tác
với các đặc trưng khác. Điều này có nghĩa là hoán vị đặc trưng quan trọng
Hình 5.30: Tầm quan trọng của từng đặc trưng trong việc dự đoán số lượng
xe đạp bằng máy vector hỗ trợ. Đặc trưng quan trọng nhất là nhiệt độ, ít
quan trọng nhất dựa vào ngày đó có là kì nghỉ hay không
.

tính đến cả ảnh hưởng chính và các tác động tương tác lên hiệu suất của
mô hình. Đây cũng là nhược điểm vì tầm quan trọng của tương tác giữa hai
đặc trưng được bao gồm trong các phép đo đặc trưng quan trọng của cả hai.
Điều này có nghĩa là tổng đặc trưng quan trọng sẽ lớn hơn tổng giảm trong
hiệu suất. Chỉ khi không có tương tác giữa các đặc trưng, như trong mô hình
tuyến tính, tổng tầm quan trọng bằng xấp xỉ.
Hoán vị đặc trưng quan trọng không yêu cầu việc huấn luyện lại mô
hình. Một số phương pháp khác đề xuất xóa bỏ một đặc trưng, huấn luyện
lại mô hình và sau đó so sánh sai số mô hình. Việc “chỉ” hoán vị một đặc
trưng có thể tiết kiệm rất nhiều thời gian. Các phương pháp quan trọng giúp
huấn luyện lại mô hình với một tập hợp con các đặc trưng thoạt nhìn trực
quan, nhưng mô hình với dữ liệu bị giảm đi không còn ý nghĩa nghĩa đối với
đặc trưng quan trọng. Chúng ta quan tâm đến đặc trưng quan trọng của một
mô hình cố định. Việc huấn luyện lại với một tập dữ liệu đã rút gọn sẽ tạo
ra một mô hình khác. Giã sử bạn đào tạo một mô hình tuyến tính thưa (với
Lasso) với một số đặc trưng cố định có trọng số khác 0. Tập dữ liệu có 100
đặc trưng, bạn đặt số trọng số khác 0 là 5. Bạn phân tích tầm quan trọng
của một trong những đặc trưng có trọng số khác 0, loại đi đặc trưng đó, và
đào tạo lại mô hình. Hiệu suất của mô hình vẫn giữ nguyên bởi vì một đặc
trưng khác tốt không kém có trọng số khác 0 và kết luận của bạn sẽ là đặc
trưng đó không quan trọng. Một ví dụ khác: Mô hình là một cây quyết định
và chúng ta phân tích tầm quan trọng của đặc đã được chọn làm chốt trong
phần tách đầu tiên. Bạn bỏ đặc trưng đó và đào tạo lại mô hình. Vì một đặc
trưng khác được chọn làm chốt tách đầu tiên, toàn bộ cây có thể rất khác
nhau, có nghĩa là chúng t so sánh tỷ lệ sai số (có thể) của các cây hoàn toàn
khác nhau để quyết định mức độ quan trọng của đặc trưng đó đối với một
trong các cây.

5.5.5 Nhược điểm


Việc sử dụng tập dữ liệu huấn luyện hay tập dữ liệu thử nghiệm
để tính toán tầm quan trọng của đặc trưng là không rõ ràng.
Hoán vị đặc trưng quan trọng được liên kết với sai số của mô hình. Trong
một số trường hợp, bạn có thể muốn biết mức độ thay đổi đầu ra của mô
hình đối với một đặc trưng mà không cần xem xét ý nghĩa của nó đối với
hiệu suất. Ví dụ: bạn muốn tìm hiểu mức độ tác động của đầu ra mô hình
của bạn khi ai đó thao túng dữ liệu một số đặc trưng. Trong trường hợp này,
bạn sẽ không quan tâm đến hiệu suất của mô hình giảm bao nhiêu khi một
đặc trưng bị hoán vị, nhưng bao nhiêu phần trăm phương sai đầu ra của mô
hình được giải thích bởi mỗi đặc trưng. Phương sai của mô hình (được giải
thích bởi các đặc trưng) và tầm quan trọng của đặc trưng tương quan chặt
chẽ khi mô hình tổng quát hóa tốt (nghĩa là nó không bị quá khớp).
Bạn cần truy cập vào kết quả thực sự. Nếu ai đó chỉ cung cấp cho
bạn mô hình và dữ liệu không được gắn nhãn - nhưng không phải là kết quả
thực sự - thì bạn không thể tính hoán vị đặc trưng quan trọng.
Hoán vị đặc trưng quan trọng phụ thuộc vào việc xáo trộn các đặc trưng,
làm tăng thêm tính ngẫu nhiên cho phép đo. Khi lặp lại hoán vị, kết quả có
thể thay đổi nhiều. Việc lặp lại hoán vị và tính trung bình tầm quan trọng
so với các lần lặp lại sẽ ổn định nó, nhưng làm tăng thời gian tính toán.
Nếu các đặc trưng có tương quan, hoán vị đặc trưng quan trọng có thể
bị sai lệch bởi các mẩu dữ liệu phi thực tế. Vấn đề cũng giống như với
phác hoạ phụ thuộc riêng: Hoán vị của các đặc trưng tạo ra các trường hợp
dữ liệu không thực tế khi hai hoặc nhiều đặc trưng tương quan với nhau. Khi
chúng tương quan thuận (như chiều cao và cân nặng của một người), xáo
trộn một trong các đặc trưng tạo ra các trường hợp mới khó có thể xảy ra
hoặc thậm chí là không thể thực hiện được (ví dụ như người cao 2 mét nặng
30 kg), nhưng các trường hợp mới này sữ dụng để đo lường tầm quan trọng.
Nói cách khác, đối với hoán vị đặc trưng quan trọng của một đặc trưng có
tính tương quan, chúng ta xem xét hiệu suất của mô hình giảm bao nhiêu
khi chúng ta hoán đổi đặc trưng với các giá trị mà chúng ta không bao giờ
quan sát được trong thực tế. Hãy kiểm tra xem các đặc trưng có tương quan
chặt chẽ hay không và cẩn thận về việc giải thích tầm quan trọng của đặc
trưng nếu có.
Một điều khó khăn khác: Thêm một đặc trưng tương quan có thể
làm giảm tầm quan trọng của đặc trưng liên quan bằng cách chia
tách tầm quan trọng giữa cả hai đặc trưng. Một ví dụ về việc “chia
tách” đặc trưng quan trọng: Ta muốn dự đoán xác suất mưa và sử dụng
nhiệt độ lúc 8 giờ sáng ngày hôm trước làm đặc trưng cùng với các đặc
trưng không liên quan khác. Ta huấn luyện một khu rừng ngẫu nhiên và hóa
ra nhiệt độ là đặc trưng quan trọng nhất và tất cả đều ổn, ngủ ngon vào
đêm hôm sau. Bây giờ hãy bổ sung thêm nhiệt độ lúc 9:00 sáng như một đặc
trưng có tương quan chặt chẽ với nhiệt độ lúc 8:00 sáng. Nhiệt độ lúc 9:00
sáng không cung cấp cho ta nhiều thông tin bổ sung nếu ta đã biết nhiệt độ
lúc 8:00 sáng. Nhưng có nhiều đặc trưng hơn luôn tốt, phải không? Ta huấn
luyện một khu rừng ngẫu nhiên với hai đặc trưng nhiệt độ và các đặc trưng
không tương quan. Một số cây trong khu rừng ngẫu nhiên có nhiệt độ lúc 8
giờ sáng, một số cây khác thì nhiệt độ 9 giờ sáng, một số cây khác thì cả
hai và một lần nữa không có. Hai đặc trưng nhiệt độ kết hợp với nhau có
tầm quan trọng hơn so với đặc trưng nhiệt độ đơn lẻ trước đây, nhưng mỗi
nhiệt độ giờ đây chuyển từ ở đầu xuống ở giữa. Giới thiệu một đặc trưng
tương quan làm chuyển đặc trưng quan trọng nhất từ đỉnh của thang quan
trọng xuống tầm thường. Về mặt nào đó, điều này là tốt, vì nó chỉ phản ánh
hành vi của mô hình học máy cơ bản, ở đây là rừng ngẫu nhiên. Nhiệt độ
lúc 8 giờ sáng đơn giản trở nên ít quan trọng hơn vì mô hình giờ đây cũng
có thể dựa vào phép đo 9 giờ sáng. Mặt khác, nó làm cho việc giải thích
tầm quan trọng của đặc trưng trở nên khó khăn hơn. Hãy tưởng tượng bạn
muốn kiểm tra các đặc trưng để tìm lỗi sai số. Việc kiểm tra rất tốn kém và
bạn quyết định chỉ kiểm tra 3 đặc trưng quan trọng nhất. Trong trường hợp
đầu tiên, bạn sẽ kiểm tra nhiệt độ, trong trường hợp thứ hai, bạn sẽ không
bao gồm bất kỳ đặc trưng nhiệt độ nào chỉ vì chúng hiện có chung tầm
quan trọng. Mặc dù các giá trị quan trọng có thể có ý nghĩa ở cấp độ hành
vi của mô hình, nhưng sẽ gây nhầm lẫn nếu bạn có các đặc trưng tương quan.

5.5.6 Phần mềm và các giải pháp thay thế


Gói iml R đã được sử dụng cho các ví dụ. Các gói R DALEX và vip, cũng
như thư viện Python albi, cũng đã triển khai hoán vị đặc trưng quan trọng
của mô hình mẫu (model-agnostic).
Một thuật toán gọi là PIMP điều chỉnh tầm quan trọng của đặc trưng để
cung cấp giá trị p cho các tầm quan trọng.
5.6 Đại diện toàn cục (Global Surrogate)
Mô hình đại diện toàn cục là mô hình khả giải thích được huấn luyện để
xấp xỉ dự đoán của một mô hình hộp đen. Ta có thể đưa ra kết luận về mô
hình hộp đen bằng việc giải thích mô hình đại diện. Sử dụng học máy để giải
học máy khả giải thích.

5.6.1 Lý thuyết
Mô hình đại diện cũng được sử dụng trong kĩ thuật: nếu kết quả của một
chương trình yều cầu chi phí tính toán cao, hoặc khó để tính vì một lý do
nào đó (ví dụ như kết quả của các mô phỏng phức tạp), ta sẽ dùng một mô
hình nhanh và có chi phí thấp hơn thay thế. Điểm khác nhau giữa mô hình
đại diện trong kĩ thuật và trong học máy khả giải thích là mô hình cần xấp
xỉ ở đây là mô hình học máy thay vì mô phỏng, và mô hình đại diện phải là
mô hình khả giải thích. Mục đích của mô hình đại diện (khả giải thích) là
xấp xỉ dự đoán của mô hình hộp đen chính xác nhất có thể, đồng thời đưa ra
lời giải thích từ tính khả giải thích của mô hình đại diện. Mô hình đại diện
có nhiều tên gọi: mô hình xấp xỉ, siêu mô hình, mô hình đáp ứng bề mặt, giả
lập, ...
Về mặt lý thuyết: thực sự thì không cần nhiều lý thuyết để hiểu mô hình
đại diện. Ta muốn xấp xỉ hàm dự đoán f của mô hình hộp đen chính xác
nhất có thể bằng hàm dự đoán g của mô hình đại diện, với điều kiện g là giải
thích được. Hàm g có thể là bất cứ mô hình khả giải thích nào, ví dụ như
trong Chương 4.
Ví dụ ta có thể chọn mô hình tuyến tính:

gpxq “ β0 ` β1 x1 ` . . . ` βp xp

Hay cây quyết định:


řM
gpxq “ m“1 cm Itx P Rm u

Huấn luyện mô hình đại diện là phương pháp kiểu mẫu, do ta không cần
bất cứ thông tin gì về mô hình hộp đen, chỉ cần dữ liệu và hàm dự đoán. Nếu
mô hình cần giải thích được thay thế bởi mô hình khác, ta vẫn có thể dùng
phương pháp đại diện. Việc chọn mô hình hộp đen và mô hình đại diện tách
rời nhau.
Ta thực hiện các bước sau để có được mô hình đại diện:

1. Chọn bộ dự liệu X. Đó có thể là cùng bộ dữ liệu để huấn luyện mô hình


hộp đen hoặc một bộ dữ liệu khác có cùng phân phối. Thậm chí ta có
thể dùng tập con của bộ dữ liệu hay một lưới các điểm, tùy vào việc ứng
dụng.

2. Với bộ dữ liệu X đã có, dự đoán bằng mô hình hộp đen.

3. Lựa chọn loại mô hình khả giải thích (mô hình tuyến tính, cây quyết
định,...)

4. Huấn luyện mô hình đại diện với bộ dữ liệu X và dự đoán tương ứng.

5. Chúc mừng! Bạn đã có mô hình đại diện.

6. Đo xem mô hình đại diện xấp xỉ mô hình hộp đen tốt tới mức nào.

7. Giải thích mô hình.

Có nhiều cách tiếp cận khác cho mô hình đại diện, nhưng ý tưởng chung
là như trên. Một cách để đo độ tốt của mô hình đại diện là dùng độ đo bình
phương R:
řn piq
2 SSE pŷ˚ ´ŷ piq q2
R “1´ SST “1´ ři“1
n piq ¯ 2
i“1 pŷ ´ŷq

piq
với ŷ˚ là dự đoán cho điểm dữ liệu thứ i của mô hình đại diện, ŷ piq là dự
đoán của mô hình hộp đen, ŷ¯ là trung bình của dự đoán của mô hình hộp
đen. SSE là tổng của bình phương sai số và SST là tổng bình phương toàn
phần. Độ đo bình phương R có thể diễn giải là tỉ lệ phương sai thể hiện bởi
mô hình đại diện. Nếu bình phương R gần với 1 (= SSE thấp), thì mô hình
đại diện xấp xỉ mô hình hộp đen khá tốt, và ta có thể thay thế mô hình phức
tạp bằng mô hình khả giải thích. Nếu bình phương R gần với 0 (= SSE cao),
thì mô hình đại diện không đủ để giải thích mô hình hộp đen.
Lưu ý rằng ta chưa xét đến độ tốt của mô hình hộp đen, cụ thể hơn là
độ chính xác của mô hình. Ta không cần đến độ chính xác của mô hình hộp
đen khi huấn luyện mô hình đại diện. Lời giải thích của mô hình đại diện vẫn
hợp lí vì nó đưa kết luận về mô hình hộp đen chứ không phải thế giới thực.
Nhưng đương nhiên lời giải thích của mô hình đại diện sẽ không hợp lí nếu
mô hình hộp đen kém, vì bản thân mô hình hộp đen đã không hợp lí.
Ta cũng có thể tạo ra mô hình đại diện từ một tập con của dữ liệu gốc
hay thay đổi trọng số của các điểm dữ liệu. Bằng cách này, ta thay đổi phân
phối của đầu vào của mô hình đại diện, thay đổi sự tập trung của lời giải
thích (do đó nó không còn là toàn cục). Nếu ta đặt trọng số của dữ liệu một
cách địa phương theo một điểm dữ liệu cụ thể (điểm dữ liệu càng gần điểm
được chọn có trọng số càng cao), ta có mô hình đại diện cục bộ giải thích dự
đoán của một điểm dữ liệu cụ thể. Loại mô hình này được trình bày cụ thể
hơn ở mục sau.

5.6.2 Ví dụ
Ta sẽ xét hai ví dụ cho bài toán hồi quy và phân loại.
Đầu tiên, ta huấn luyện một máy vector hỗ trợ dự đoán số xe đạp cho
thuê hằng ngày khi biết thời tiết và ngày tháng. Máy vector hỗ trợ không
có lời giải thích hiển nhiên, nên ta huấn luyện một mô hình đại diện là cây
quyết định CART như một mô hình khả giải thích để xấp xỉ máy vector hỗ
trợ.
Mô hình đại diện có bình phương R (giải thích bởi phương sai) bằng 0.77,
tức là nó xấp xỉ mô hình hộp đen khá tốt, nhưng chưa hoàn hảo. Nếu nó xấp
xỉ chính xác hoàn toàn, ta có thể bỏ qua máy vector hỗ trợ và sử dụng cây
quyết định thay thế.
Ở ví dụ tiếp theo, ta dự đoán xác suất ung thư cổ tử cung bằng rừng
ngẫu nhiên. Tương tự ta huấn luyện mô hình cây quyết định với bộ dữ liệu
gốc và dùng dự đoán của rừng ngẫu nhiên làm nhãn, thay cho lớp thực sự
(khỏe mạnh và ung thư) từ dữ liệu.
Mô hình đại diện có bình phương R (giải thích bởi phương sai) là 0.19,
tức là nó không xấp xỉ mô hình hộp đen đủ tốt và ta không nên kết luận mô
hình hộp đen bằng cách giải thích mô hình đại diện.

5.6.3 Ưu điểm
Phương pháp mô hình đại diện khá linh hoạt. Bất cứ mô hình nào trong
chương các mô hình khả giải thích đều có thể được sử dụng. Ta cũng có thể
Hình 5.31: Nốt lá của cây đại diện xấp xỉ dự đoán của máy vector hỗ trợ
huấn luyện trên bộ dữ liệu cho thuê xe đạp. Phân phối trên các nốt cho thấy
cây đại diện dự đoán có nhiều xe đạp cho thuê hơn khi nhiệt độ trên 13o C
và hơn 1 năm kể từ 2011

thay đổi không chỉ mô hình đại diện mà còn mô hình hộp đen cần giải thích.
Giả sử ta có một mô hình phức tạp và giải thích nó cho các nhóm khác nhau
trong công ty. Một nhóm quen với mô hình tuyến tính, nhóm khác hiểu cây
quyết định rõ hơn. Ta có thể huấn luyện hai mô hình đại diện (mô hình tuyến
tính và cây quyết định) cho mô hình hộp đen gốc và đưa ra hai lời giải thích.
Nếu ta tìm được một mô hình hộp đen khác có kết quả tốt hơn, ta không
cần thay đổi phương pháp giải thích vì ta đang dùng cùng một lớp mô hình
đại diện.
Cách tiếp cận này khác trực quan và đơn giản. Điều này nghĩa là nó dễ
cài đặt, và cũng dễ giải thích cho người không biết nhiều về khoa học dữ liệu
và học máy.
Với độ đo bình phương R, ta có thể dễ dàng đo xem mô hình đại diện
xấp xỉ mô hình hộp đen tốt như thế nào.
Hình 5.32: Nốt lá của cây đại diện xấp xỉ dự đoán của mô hình rừng ngẫu
nhiên huấn luyện trên bộ dữ liệu ung thư cổ tử cung. Số lượng trên mỗi nốt
thể hiện tần suất của mô hình phân loại hộp đen trên nốt

5.6.4 Nhược điểm


Nên nhớ rằng ta đang kết luận về mô hình chứ không phải dữ liệu,
do mô hình đại diện không biết nhãn gốc.
Không có giá trị bình phương R cụ thể để tự tin kết luận mô hình
đại diện xấp xỉ mô hình hộp đen đủ tốt. 80% phương sai? 50%? 90%?
Ta có thể đo mô hình đại diện gần với mô hình hộp đen đến mức nào.
Giả sử rằng không quá chính xác nhưng đủ gần. Điều này có thể do mô hình
rất gần với một tập con dữ liệu, nhưng lại cách xa tập con khác
của tập dữ liệu. Trong trường hợp này lời giải thích của mô hình đơn giản
không đủ tốt cho tất cả điểm dữ liệu.
Mô hình khả giải thích được chọn làm đại diện có ưu nhược điểm riêng
của nó.
Vài người cho rằng không có mô hình nào bản thân nó khả giải thích (kể
cả mô hình tuyến tính và cây quyết định) và khá nguy hiểm nếu có lời giải
thích không chính xác. Nếu bạn cũng nghĩ như vậy, phương pháp này không
dành cho bạn.

5.6.5 Phần mềm


Ta sử dụng gói thư viện iml cho R trong phần ví dụ. Nếu bạn có thể huấn
luyện mô hình học máy, bạn cũng có thể tự cài đặt mô hình đại diện, chỉ
đơn giản huấn luyện một mô hình khả giải thích dự đoán các dự đoán của
mô hình hộp đen.
5.7 Đại diện cục bộ (Local Surrogate - LIME)
Các mô hình đại diện cục bộ là khả diễn giải và được dùng trong việc
giải thích các dự đoán từ các mô hình học máy hộp đen. Giải thích kiểu mẫu
cục bộ (Local interpretable model-agnostic explanations (LIME)) là một bài
báo trong đó tác giả đề xuất một cách triển khai các mô hình đại diện cục
bộ. Các mô hình đại diện (surrogate models) được huấn luyện để xấp xỉ dự
đoán của một mô hình hộp đen. Thay vì huấn luyện một mô hình đại diện
toàn cục (global surrogate model), LIME tập trung vào việc huấn luyện các
mô hình đại diện cục bộ để giải thích các dự đoán đơn lẻ.
Ý tưởng rất rõ ràng và dễ hiểu. Đầu tiên, hãy quên các dữ liệu huấn luyện
và tưởng tượng bạn chỉ có một mô hình hộp đen, nơi mà bạn cung cấp đầu
vào và nó trả về dự đoán. Ta có thể kiểm chứng mô hình ở bất cứ nơi nào và
tại thời điểm nào ta muốn. Mục tiêu của ta là hiểu tại sao một mô hình học
máy sinh ra một dự đoán như vậy. LIME kiểm tra liệu dự đoán có thay đổi
nếu ta biến đổi dữ liệu đầu vào. LIME sinh ra một tập dữ liệu mới bao gồm
các mẫu đã được biến đổi và các dự đoán tương ứng của một mô hình hộp
đen. Trên tập dữ liệu mới này, LIME sau đó huấn luyện một mô hình khả
diễn giải bằng cách tính toán sai khác giữa các điểm dữ liệu được lấy mẫu
với điểm dữ liệu được quan tâm. Mô hình khả diễn giải này có thể là bất cứ
loại mô hình nào trong chương các mô hình khả diễn giải, ví dụ như Lasso
hoặc một cây quyết định. Mô hình sau khi học sẽ là một phép xấp xỉ của
các dự đoán từ mô hình học máy xét trên phương diện cục bộ, nhưng không
nhất thiết đúng trên phương diện toàn cục. Khi này độ chính xác còn được
gọi là sự nhất quán cục bộ (local fidelity).
Về mặt toán học mà nói, các mô hình đại diện cục bộ với các ràng buộc
về tính khả diễn giải có thể được biểu diễn như sau:

explanationpxq “ arg min Lpf, g, πx q ` Ωpgq


gPG

Mô hình giải thích cho mẫu dữ liệu x là mô hình g (ví dụ mô hình hồi
quy tuyến tính), và g sẽ tối thiểu hóa mất mát (ví dụ sai số bình phương tối
thiểu MSE), được tính bởi khoảng cách giữa giải thích tới dự đoán của mô
hình gốc (ví dụ một mô hình tăng tốc gradient), với ràng buộc là độ phức
tạp của mô hình Ωpgq được giữ ở một giá trị nhỏ (để ta có ít đặc trưng). G
là một họ các giải thích khả dĩ, ví dụ tất cả các mô hình hồi quy tuyến tính
khả dĩ. Giá trị πx định nghĩa độ lớn của các hàng xóm lân cận một điểm dữ
liệu x ta đang xem xét cho việc giải thích. Trong thực tế, LIME chỉ tối ưu
phần mất mát. Người dùng phải tự định nghĩa độ phức tạp (ví dụ chọn số
lượng đặc trưng lớn nhất có thể cho mô hình hồi quy tuyến tính).
Các bước huấn luyện các mô hình đại diện cục bộ:
- Lựa chọn mẫu mà ta quan tâm.
- Biến đổi tập dữ liệu và lưu lại các dự đoán của các mô hình hộp đen
trên tập dữ liệu đã biến đổi này.
- Đánh trọng số các mẫu dữ liệu mới tương ứng với khoảng cách tới điểm
dữ liệu ta đang quan tâm ở bước đầu.
- Huấn luyện một mô hình mang trọng số và khả diễn giải trên tập dữ
liệu đã được biến đổi.
- Giải thích dự đoán bằng cách diễn giải mô hình cục bộ.
Trong các triển khai hiện tại với R và Python, ví dụ hồi quy tuyến tính có
thể được chọn là mô hình đại diện khả diễn giải. Ta phải lựa chọn giá trị K
và số lượng đặc trưng trong mô hình trước. Nếu giá trị K càng nhỏ, mô hình
sẽ càng dễ để diễn giải. Giá trị K lớn có thể làm mô hình có độ nhất quán cao
hơn. Ta có thể huấn luyện các mô hình theo nhiều cách khi cho trước một số
lượng đặc trưng K nhất định. Lasso là một lựa chọn tốt. Một mô hình Lasso
có tham số điều chuẩn β lớn sẽ sinh ra một mô hình không chứa bất kỳ đặc
trưng nào. Bằng cách huấn luyện lại các mô hình Lasso với λ giảm dần từ từ,
các trọng số của các đặc trưng sẽ theo đó nhận giá trị khác 0. Nếu ta có K
đặc trưng trong một mô hình, khi này ta biết mô hình đã thỏa mãn yêu cầu
về số lượng đặc trưng ta đã đề ra. Ngoài ra ta còn các phương pháp khác đó
là lựa chọn tiến và lùi với các đặc trưng. Điều này nghĩa là ta có thể bắt đầu
huấn luyện với tất cả các đặc trưng khả dĩ hoặc chỉ bắt đầu với hệ số chặn
sau đó kiểm tra đặc trưng nào sẽ cải thiện mô hình nhiều nhất khi được bỏ
đi hoặc thêm vào, cho tới khi mô hình của ta có số lượng K đặc trưng.
Vậy làm sao ta biết được dữ liệu nên được thay đổi như thế nào. Điều
này phụ thuộc vào loại dữ liệu, có thể là dạng văn bản, ảnh hoặc hoặc dữ
liệu dạng bảng (tabular). Với văn bản và ảnh, giải pháp đó là ta giữ hoặc bỏ
các từ hoặc các siêu pixel (super-pixels). Với dữ liệu dạng bảng, LIME tạo
ra các mẫu dữ liệu mới bằng cách xáo trộn từng đặc trưng một cách riêng
rẽ, dựa trên một phân phối chuẩn có trung bình và độ lệch chuẩn lấy từ đặc
trưng.
5.7.1 LIME cho dữ liệu dạng bảng

Dữ liệu dạng bảng là dữ liệu từ các bảng, với mỗi hàng thể hiện một mẫu
dữ liệu và mỗi cột là một đặc trưng. Các dữ liệu của LIME không được sinh
ra xung quanh mẫu dữ liệu mà ta đang xét mà từ cả tập lớn dữ liệu huấn
luyện, và điều này gây ra vấn đề. Tuy nhiên điều này cũng làm tăng xác suất
trong đó kết quả dự đoán cho một số điểm khác với điểm dữ liệu ta đang xét
và LIME ít nhất có thể học được một số giải thích từ đây.
Sẽ là tốt nhất nếu ta giải thích một cách trực quan việc lấy mẫu và huấn
luyện mô hình cục bộ làm việc như thế nào:
Cũng như mọi lần, ta cần chú ý vào chi tiết của vấn đề. Việc định nghĩa
một hàng xóm có sức ảnh hưởng lớn xung quanh một điểm không hề dễ
dàng. LIME hiện tại sử dụng một nhân làm mượt có dạng mũ (exponential
smoothing kernel) để định nghĩa ra các hàng xóm. Một nhân làm mượt là
một hàm nhận 2 điểm dữ liệu và trả về khoảng cách giữa chúng. Độ rộng
của nhân quyết định độ lớn của hàng xóm: Một độ rộng nhân nhỏ tương ứng
với các mẫu dữ liệu xa điểm mà ta đang xét cũng sẽ ảnh hưởng tới mô hình.
Nếu bạn nhìn vào file này trong một triển khai của LIME, bạn sẽ thấy rằng
nó sử dụng một nhân làm mượt dạng mũ (với dữ liệu đã được chuẩn hóa) và
độ rộng nhân bằng 0.75 lần căn bậc hai của số cột của dữ liệu huấn luyện.
Tuy dòng code này có vẻ ngây thơ, nhưng nó lại mang ý nghĩa cực kỳ quan
trọng (tác giả ví nó như một con voi ngồi giữa phòng khách bên cạnh những
đồ gốm sứ quý giá ông bà bạn để lại - nghĩa là chỉ cần con voi cử động nhẹ,
mọi thứ xung quanh sẽ vỡ vụn). Vấn đề lớn ở đây là ta không có một phương
pháp tin cậy để chọn nhân hay độ rộng của nhân. Và giá trị 0.75 được lấy từ
đâu? Trong một số trường hợp cụ thể, ta có thể dễ dàng thay đổi việc giải
thích bằng cách thay đổi giá trị độ rộng nhân, được thể hiện trong hình dưới
đây.
Ví dụ trên phản ánh trường hợp ta có một đặc trưng duy nhất. Điều này
sẽ không áp dụng được trong các không gian đặc trưng nhiều chiều. Việc tính
toán khoảng cách liệu có nên đối xử với tất cả các đặc trưng công bằng hay
không? Điều này không rõ ràng. Liệu một đơn vị khoảng cách cho đặc trưng
x1 tương đương với một đơn vị khoảng cách cho đặc trưng x2? Các phép đo
khoảng cách không được định nghĩa rõ ràng và các khoảng cách trong các
chiều (hay đặc trưng) khác nhau có thể không phù hợp để so sánh.
Hình 5.33: Thuật toán LIME cho dữ liệu dạng bảng. A) Các dự đoán của
rừng ngẫu nhiên khi biết trước x1 và x2. Các lớp được dự đoán: 1 (tối) hoặc
0 (sáng). B) Dữ liệu ta đang quan tâm (dấu chấm lớn) và dữ liệu được lất
mẫu từ một phân phối chuẩn (dấu chấm nhỏ). C) Gán trọng số lớn cho các
điểm gần điểm dữ liệu ta đang quan tâm. D) Đánh dấu âm và dương trên
biểu đồ lưới để thể hiện việc phân loại của mô hình cục bộ được học từ các
điểm dữ liệu được đánh trọng số. Đường màu trắng thể hiện đường ranh giới
quyết định (P(class=1) = 0.5)
.

Ví dụ

Hãy nhìn vào một ví dụ cụ thể. Ta trở lại với tập dữ liệu thuê xe và biến
bài toán thành phân loại: Sau khi sử dụng đặc trưng xu thế khi mà việc thuê
xe trở nên phổ biến theo thời gian, ta muốn biết vào một ngày nhất định,
Hình 5.34: Giải thích với dự đoán trên điểm dữ liệu x = 1.6. Các dự đoán
của mô hình hộp đen phụ thuộc vào một đặc trưng đơn lẻ được thể hiện bởi
một đường đen lớn và phân bố của dữ liệu được thể hiện ở đáy biểu đồ. Ba
mô hình đại diện cục bộ với độ rộng nhân khác nhau được tính toán. Mô
hình tuyến tính sau đó phụ thuộc vào độ rộng nhân: Liệu đặc trưng có ảnh
hưởng tiêu cực, tính cực, hay không ảnh hưởng với x = 1.6?
.

liệu số xe được thuê sẽ lớn hơn hay nhỏ hơn một ngưỡng. Ta có thể gán nhãn
“above” khi số lượng xe lớn hơn trung bình, và có thể được điều chỉnh theo
thời gian.
Đầu tiên ta huấn luyện một rừng ngẫu nhiên với 100 cây cho bài toán
phân loại. Vào ngày nào số lượng xe được thuê sẽ lớn hơn trung bình, dựa
vào thời tiết và thông tin về ngày đó.
Việc giải thích được tạo nên với 2 đặc trưng. Kết quả của các mô hình
tuyến tính cục bộ thưa được huấn luyện với hai mẫu với các lớp được dữ
đoạn khác nhau:
Từ hình trên ta có thể thấy việc diễn giải đặc trưng hạng mục dễ dàng
hơn so với đặc trưng dạng số. Một giải pháp đó là phân các đặc trưng dạng
Hình 5.35: Giải thích của LIME cho hai mẫu dữ liệu của tập dữ liệu cho thuê
xe. Thời tiết ấm hơn và thời tiết tốt có ảnh hưởng tích cực tới dự đoán. Trục
x là ảnh hưởng đặc trưng: Trọng số nhân với giá trị đặc trưng.
.

số ra thành các khoảng.

5.7.2 LIME cho dữ liệu văn bản


LIME cho dữ liệu dạng văn bản khác với lime cho dữ liệu dạng bảng. Các
sự thay đổi trên dữ liệu được sinh ra theo cách khác: Bắt đầu bằng văn bản
gốc, văn bản mới được tạo ra bằng cách loại bỏ các từ trong văn bản gốc một
cách ngẫu nhiên. Tập dữ liệu được biểu diễn với các đặc trưng nhị phân cho
từng từ. Một đặc trưng là 1 nếu từ đó xuất hiện và 0 nếu từ đó bị lược bỏ.

Ví dụ

Trong ví dụ này, ta phân loại các bình luận trên Youtube thành dạng
spam hoặc bình thường.
Mô hình hộp đen là một cây quyết định sâu được huấn luyện trên một
ma trận từ. Mỗi bình luận từ Youtube được coi là một văn bản (một hàng)
và mỗi cột là số lần xuất hiện của một từ cho trước. Các cây quyết định ngắn
thường dễ hiểu, nhưng trong trường hợp cây rất sâu ta lại gặp vấn đề. Trong
các cây này ta cũng có thể bắt gặp mạng nơ-ron hồi tiếp (recurrent neural
network) hoặc một máy vector hỗ trợ được huấn luyện cho word embedding
(abstract vector). Ta hãy xem xét hai bình luận trong tập dữ liệu này và các
lớp tương ứng của chúng (1 là spam và 0 là bình luận thông thường).

CONTENT CLASS
267 PSY is a good guy 0
173 For Christmas Song visit my channel! ;) 1

Bước tiếp theo là biến đổi dữ liệu được sử dụng trong một mô hình cục
bộ. Ví dụ như sau:

For Christmas Song visit my channel! ;) prob weight


2 1 0 1 1 0 0 1 0.17 0.57
3 0 1 1 1 1 0 1 0.17 0.71
4 1 0 0 1 1 1 1 0.99 0.71
5 1 0 1 1 1 1 1 0.99 0.86
6 0 1 1 1 0 0 1 0.17 0.57

Mỗi cột tương ứng với một từ trong câu. Mỗi hàng là một biến đổi của
câu gốc, 1 nghĩa là từ đó thuộc câu đã biến đổi, 0 nghĩa là từ đó đã bị loại bỏ.
Câu tương ứng cho một biến đổi là: “Christmas Song visit my ;)”. Cột “prob”
cho ta xác suất được dự đoán là spam của một comment. Cột “weight” cho
ta khoảng cách của câu đã biến đổi tới câu gốc, tính bằng 1 trừ đi tỉ lệ của
các từ đã bị loại bỏ. Ví dụ, nếu 1 trong 7 từ bị loại bỏ, khoảng cách sẽ là 1-
1/7 = 0.86.
Đây là hai ví dụ (spam và không spam) với trọng số cục bộ được ước
lượng cho bởi thuật toán LIME.
Ta có thể thấy từ “channel” mang nhiều sắc thái để chỉ ra câu đó là spam.
Với các bình luận thông thường, các trọng số được ước lượng đều là 0, bởi vì
việc các từ đó bị loại bỏ hay không không quan trọng, lớp được dự đoán sẽ
giữ nguyên.
case label_prob feature feature_weight
1 0.1701170 good 0.000000
1 0.1701170 a 0.000000
1 0.1701170 is 0.000000
2 0.9939024 channel! 6.180747
2 0.9939024 For 0.000000
2 0.9939024 ;) 0.000000

5.7.3 LIME cho ảnh


Chương này được viết bởi Verena Haunschmid
LIME cho ảnh làm việc khác với LIME cho dữ liệu bảng và văn bản. Để
mà nói, việc biến đổi trên từng pixel sẽ không mang nhiều ý nghĩa cho lắm,
do rất nhiều pixel góp phần tạo nên một lớp. Việc thay đổi các pixel đơn
lẻ một cách ngẫu nhiên chắc chắn sẽ không thay đổi dự đoán nhiều. Do đó,
các biến đổi trên ảnh được tạo nên bởi việc phân tách (segment) ảnh thành
các siêu pixel (superpixels) và giữ hoặc loại bỏ các siêu pixel này. Các siêu
pixel là các pixel được liên kết bởi các màu giống nhau và có thể được loại
bỏ bằng cách thay thế bằng một màu được định nghĩa bởi người dùng ví dụ
như màu xám. Người dùng cũng có thể chỉ định một xác suất để biến đổi
một siêu pixel trong từng phép hoán vị (permutation).

Ví dụ

Trong ví dụ này ta xem xét bài toán phân loại của mạng nơ-ron Inception
V3. Ảnh được dùng là một vài chiếc bánh mì được nướng trong một cái bát.
Do ta có thể có vài nhãn cho từng ảnh (sắp xếp bằng xác suất từ cao xuống
thấp), ta có thể giải thích các nhãn trên cùng. Nhãn đầu tiên là “Bagel” (hay
bánh mì tròn) với xác suất 77%, theo sau là “Strawberry” (hay dâu tây) với
xác suất 4%. Các ảnh dưới đây là giải thích của LIME cho nhãn “Bagel” và
“Strawberry”. Các giải thích có thể được hiển thị trực tiếp trên ảnh gốc. Màu
xanh lá nghĩa là phần đó sẽ làm tăng xác suất của nhãn và phần đỏ nghĩa là
làm giảm.
Dự đoán và giải thích cho “Bagel” là rất hợp lý, thậm chí cả khi dự đoán
sai - sẽ không có cái bánh mì nào được hiển thị rõ ràng nếu không có cái lỗ
ở giữa.
Hình 5.36: Trái: Ảnh của một bát bánh mì. Giữa và bên phải: Giải thích của
LIME cho 2 lớp đầu tiên (bagel, strawberry) cho bài toán phân loại sử dụng
mạng Inception V3 của Google.
.

5.7.4 Ưu điểm
Thậm chí nếu ta thay thế mô hình học máy, ta vẫn có thể sử dụng
mô hình cục bộ, khả diễn giải cho việc giải thích. Giả sử ta đang muốn giải
thích một mô hình và ta hiểu mô hình cây quyết định nhất. Bởi vì ta dùng
các mô hình đại diện cục bộ, ta sử dụng các cây quyết định như là giải thích
mà không thực sự dùng chúng trong việc tạo ra dự đoán. Ví dụ, ta có thể
dùng máy vector hỗ trợ. Và nếu nó chỉ ra rằng mô hình xgboost làm việc tốt
hơn, ta có thể thay thế máy vector hỗ trợ và vẫn sử dụng cây quyết định để
giải thích các dự đoán.
Các mô hình đại diện cục bộ có thể cải tiến nhờ vào kinh nghiệm huấn
luyện và diễn giải các mô hình khả diễn giải.
Khi sử dụng Lasso hoặc các cây ngắn, giải thích thu được thường ngắn
và có thể mang nghĩa tương phản. Do đó, chúng tạo ra các giải thích
thân thiện với con người. Đây là lí do vì sao ta nghĩ rằng LIME sẽ chỉ được
áp dụng khi người dùng có ít thời gian và sẽ không phù hợp cho việc giải
nghĩa đầy đủ cặn kẽ, do đó ta nghĩ LIME sẽ không được áp dụng trong các
tình huống mà ta cần lời giải thích chi tiết cho một dự đoán. Tương tự với
việc gỡ lỗi cho các mô hình học máy, sẽ tốt hơn nếu ta có tất cả những lý do
dẫn đến một dự đoán hơn là chỉ có một vài.
LIME là một trong số ít các phương pháp làm việc trên cả dữ liệu
bảng, văn bản, và ảnh.
Phương pháp tính toán độ nhất quán (các mô hình khả diễn giải xấp
xỉ mô hình hộp đen như thế nào) cho ta biết được độ tin cậy của việc sử
dụng các mô hình khả diễn giải trong việc giải thích dự đoán từ các mô hình
hộp đen nhờ vào các điểm dữ liệu hàng xóm.
LIME được triển khai trên Python (thư viện lime) và R (gói lime và iml).
Chúng rất dễ sử dụng.
Các giải thích sinh ra từ các mô hình đại diện cục bộ có thể sử dụng
các đặc trưng (khả diễn giải) khác thay vì các đặc trưng mà mô
hình gốc được huấn luyện. Tất nhiên rằng những đặc trưng khả diễn giải
này phải được trích xuất từ dữ liệu ta đang có. Một bộ phân loại văn bản
phụ thuộc vào (abstract word embeddings) như là các đặc trưng, nhưng việc
giải thích có thể được dựa trên việc có mặt hay vắng mặt của các từ trong
một câu. Một mô hình hồi quy có thể phụ thuộc vào các phép biến đổi không
khả giải thích của một số thuộc tính, nhưng giải thích có thể được tạo nên
bằng các thuộc tính gốc. Ví dụ, mô hình hồi quy có thể được huấn luyện
trên các thành phần (component) của phương pháp phân tích thành phần
chính (principal component analysis - PCA) của các trả lời trên một khảo
sát, nhưng LIME có thể được huấn luyện trên các câu hỏi gốc của khảo sát
đó. Việc sử dụng các đặc trưng khả diễn giải cho LIME có thể là một ưu
điểm lớn so với các phương pháp khác, đặc biệt khi mô hình được huấn luyện
với các đặc trưng không khả diễn giải.

5.7.5 Nhược điểm


Định nghĩa chính xác về hàng xóm là một vấn đề lớn chưa được giải quyết
khi sử dụng LIME với dữ liệu dạng bảng. Theo ý kiến của ta đây là vấn đề
lớn nhất của LIME và là lí do tại sao ta nghĩ ta nên sử dụng LIME thật cẩn
thận. Với mỗi ứng dụng, ta cần thử các nhân với các thông số khác nhau
và xem xét liệu giải thích có hợp lý hay không. Thật không may rằng, lời
khuyên tốt nhất đó là hãy xem xét thật kỹ giá trị độ rộng của nhân.
Việc lấy mẫu có thể được cải thiện trong triển khai hiện tại của LIME.
Các điểm dữ liệu được lấy mẫu từ một phân phối Gaussian, bỏ qua các tương
quan giữa các đặc trưng. Điều này có thể dẫn tới các điểm dữ liệu không hợp
lý và chúng lại được sử dụng để học các mô hình cục bộ phía sau.
Độ phức tạp của các mô hình cục bộ này cần được định nghĩa trước tiên.
Điều này thực ra không quá khó chịu khi mà người dùng luôn phải định nghĩa
sự cân bằng giữa độ đồng nhất và độ thưa (sparsity).
Một vấn đề rất lớn khác đó là sự không ổn định của các giải thích. Trong
bài báo này, các tác giả chỉ ra rằng các giải thích của hai điểm rất gần nhau
thay đổi rất lớn. Tương tự, theo ta, nếu ta lặp đi lặp lại quá trình lấy mẫu,
thì các giải thích có thể khác nhau. Sự bất định này có nghĩa rằng nó rất khó
để tin tưởng và các giải thích, và bạn nên thực sự cẩn trọng.
Kết luận: Các mô hình đại diện cục bộ, với điển hình là LIME, rất hứa
hẹn. Nhưng phương pháp này vẫn đang được phát triển thêm và có rất nhiều
vấn đề cần được giải quyết trước khi nó được đưa vào ứng dụng.
5.8 Các quy tắc phạm vi (Scoped Rules) -
(Các neo (Anchors))

Tác giả: Tobias Goerke & Magdalena Lang


Các neo (Anchors) giải thích các dự đoán riêng lẻ (individual predictions)
của một mô hình phân loại hộp đen tuỳ ý bằng cách tìm ra quy tắc quyết
định (decision rule) mà “neo” vào dự đoán một cách đầy đủ. Một quy tắc
“neo” vào một dự đoán nếu các thay đổi trong các giá trị đặc trưng khác
không ảnh hưởng đến dự đoán. Các neo sử dụng kỹ thuật học tăng cường
(reinforcement learning) kết hợp với thuật toán tìm kiếm trên đồ thị để giảm
số lượng gọi lên mô hình (và từ đó thời gian chạy cần thiết) xuống mức tối
thiểu trong khi vẫn có thể phục hồi từ tối ưu cục bộ (local optima). Ribeiro,
Singh và Guestrin đã đề xuất thuật toán vào năm 2018 – đồng các nhà nghiên
cứu đã giới thiệu thuật toán LIME.
Cách tiếp cận mỏ neo (anchors approach) triển khai chiến lược dựa trên
xáo trộn (perturbation-based strategy) để tạo ra các giải thích cục bộ cho các
dự đoán về các mô hình học máy hộp đen. Tuy nhiên, thay vì các mô hình
đại diện (surrogate models) được sử dụng bởi LIME, kết quả giải thích được
thể hiện dưới dạng các quy tắc IF-THEN dễ hiểu, được gọi là neo. Các quy
tắc này có thể được dùng lại vì chúng được giới hạn (scoped): các neo bao
gồm khái niệm về độ phủ (coverage), nêu chính xác các mẫu dữ liệu, có thể
không nhìn thấy, mà chúng áp dụng vào. Tìm kiếm neo liên quan đến vấn
đề khám phá (exploration) hoặc máy đánh bạc đa cần (multi-armed bandit),
bắt nguồn từ ngành học tăng cường. Cuối cùng, các điểm lân cận, hoặc là
các điểm xáo trộn, được tạo và đánh giá cho mọi mẫu dữ liệu đang được giải
thích. Làm như thế cho phép cách tiếp cận của ta bỏ qua cấu trúc hộp đen
và các tham số bên trong để chúng có thể vẫn không quan sát và không thay
đổi. Do đó, thuật toán là kiểu mẫu (model-agnostic), nghĩa là nó có thể được
áp dụng cho bất kỳ phân loại mô hình nào.
Bài báo của các tác giả so sánh hai thuật toán và hình dung mức sự khác
nhau của chúng tham khảo các điểm lân cận của mẫu dữ liệu để làm ra kết
quả. Với điều này, hình dưới đây mô tả cả LIME và neo, có tính giải thích
cục bộ một trình phân loại nhị phân phức tạp (dự đoán - hoặc +) bằng cách
sử dụng hai mẫu mẫu dữ liệu. Kết quả LIME không cho biết các mẫu đáng
tin như thế nào vì LIME chỉ học một ranh giới quyết định tuyến tính (linear
decision boundary) xấp xỉ đúng nhất với mô hình, cho trước một không gian
xáo trộn D. Với cùng một không gian xáo trộn, cách tiếp cận mỏ neo xây
dựng những cách giải thích có phạm vi phù hợp với hành vi mô hình và thể
hiện rõ ràng ranh giới của chúng. Vì vậy, chúng đáng tin về mặt thiết kế và
nêu chính xác những trường hợp hợp lệ của chúng. Tính chất này làm cho
neo đặc biệt trực quan và dễ hiểu.

Hình 5.37: LIME vs. Anchors – Một mô phỏng ví dụ. Hình đuọc láy từ
Ribeiro, Singh, and Guestrin (2018).

Như được nêu, các kết quả hoặc giải thích của thuật toán hình thành qua
dạng quy tắc, được gọi là neo. Ví dụ đơn giản sau đây miêu tả một cái neo.
Ví dụ, giả sử rằng ta có một mô hình hộp đen phụ thuộc 2 biến (bivariate
black-box model) mà dự đoán liệu một khách hàng sống sót được trong thảm
hoạ Titanic. Bây giờ chúng ta muốn biết tại sao mô hình dự đoán cho một
cá nhân cụ thể mà nó tồn tại. Thuật toán neo cung cấp một lời giải thích kết
quả như cách hiển thị bên dưới.

Đặc trưng Giá trị


Tuổi 20
Giới tính nữ
Hạng ghế hạng nhất
Giá vé 300$
Đặc trưng khác ...
Sống sót đúng

Và những giải thích neo tương ứng là:


NẾU GIỚI = Nữ
VÀ Hạng ghế = Hạng nhất
RỒI DỰ ĐOÁN Sống sót = Đúng
VỚI TÍNH CHUẨN XÁC 97%
VÀ ĐỘ PHỦ 15%
Ví dụ cho thấy cách các neo cung cấp những cái nhìn sâu sắc trong một
mô hình dự đoán và lý lẽ sâu ở dưới. Kết quả cho thấy những thuộc tính
(attribute) nào được cân nhắn trong mô hình, và trong trường hợp này là
giới nữ và lớp đầu tiên. Con người, coi tính chính xác rất quan trọng, có thể
dùng quy tắc này để kiểm định hành vi của mô hình. Thêm nữa, neo cho
ta biết là nó áp dụng cho 15% cho mẫu dữ liệu trong không gian xáo trộn.
Trong các trường hợp đó, lời giải thích có độ chính xác 97%, nghĩa là những
predicate, sẽ được định nghĩa sau được thể hiện gần như độc quền chịu trách
nghiệm cho dự đoán đầu ra.
Một neo A được định nghĩa như sau:

EDx pz|Aq r1f pxq“f pzq s ě τ, Apxq “ 1

Trong đó:

• x là mẫu dữ liệu đang giải thích (ví dụ, một hàng trong bộ dữ liệu bảng)

• A là tập các predicates, tức quy tắc kết quả hoặc neo, sao cho Apxq “ 1
khi các đặc trưng predicates định nghĩa bởi A tương ứng với những giá
trị đặc trưng của x.

• f kí hiệu mô hình phân loại được giải thích (ví dụ, mô hình mạng nơ-ron
nhân tạo). Nó có thể được sử dụng để dự đoán một dán nhãn cho x và
các xáo trộn của nó.

• Dx p¨|Aq thể hiện phân phối các điểm lân cận trong x phù hợp với A.

• 0 ď τ ď 1 chỉ định độ chính xác giới hạn. Chỉ có các quy tắc thu được
tính nhất quán lân cận (local fidelity) ít nhất là τ được coi là kết quả
đúng.

Một ví dụ cho các ký hiệu được lấy từ bài báo gốc. Cho f là một predicate,
với đầu vào là một câu văn và đầu ra nằm trong tập {“Positive”, “Negative”}.
Cho x = ”This movie is not bad.”, f pxq = Positive, Apxq “ 1 với A = {“not”,
“bad”}. Khi đó Dx p¨|Aq là những câu văn tương đương có mặt “not” và “bad”.
A là mỏ neo khi Apxq “ 1 và A là điều kiện đủ cho f pxq với xác suất cao —
trong ví dụ này là khi mẫu z từ Dpz|Aq có khả năng được dự đoán là Positive
hơn (tức f pxq “ f pzq).
Mô tả chính thức có thể hơi dồn dập và có thể được miêu tả bằng lời như
sau:
Cho một mẫu dữ liệu x được giải thích, ta tìm một quy tắc hoặc một neo
A sao cho có thể được dùng lên x, trong khi lớp (class) giống x được dự đoán
với tỉ lệ ít nhất τ phần các điểm lân cận của x, khi một A tương tự có thể
áp dụng được. Tính chính xác trong quy tắc đến từ việc đáng giá các điểm
lân cận hoặc các điểm xáo trộn (theo sau Dx pz|Aq) thông qua mô hình học
máy cho trước (ký hiệu bằng hàm chỉ định 1f pxq“f pzq ).

5.8.1 Tìm các neo


Mặc dù mô tả toán học của các “neo” khá rõ và đơn giản, xây dựng
các quy tắc cụ thể là không thể. Điều đó đòi hỏi đánh giá 1f pxq“f pzq cho
mọi z P Dx p¨|Aq và không khả thi trong những không gian đầu vào tiếp diễn
(continuous) hoặc lớn. Do đó các tác giả đề xuất thêm một tham số 0 ď δ ď 1
để tạo ra định nghĩa theo xác suất. Với cách này, các mẫu (samples) được
xuất ra cho tới khi có độ thống kê tin cậy (statistical confidence) về tính
chính xác của chúng. Định nghĩa theo xác suất là như sau:

P pprecpAq ě τ q ě 1 ´ δ with precpAq “ EDx pz|Aq r1f pxq“f pzq s

Hai định nghĩa trước đó được kết hợp và mở rộng qua khái niệm độ phủ.
Cơ sở lý luận bao gồm tìm các quy tắc áp dụng được cho một phần lớn của
không gian đầu vào của mô hình. Độ phủ được định nghĩa là xác suất của
các “neo” áp dụng lên các lân cận, tức là không gian xáo trộn của nó:

covpAq “ EDpzq rApzqs


Yếu tố này dẫn đến định nghĩa của các “neo”, có tính đến phép tối đa độ phủ:

max covpAq
A s.t. P pprecpAqěτ qě1´δ

Do đó quá trình tiếp theo sẽ tìm quy tắc mà có độ phủ cao nhất trong các
quy tắc thoả mãn (tất cả mà thoả mãn ngưỡng precision cho trước định nghĩa
theo xác suất). Tất cả quy tắc này được cho là quan trọng hơn, do chúng
diễn tả phần lớn hơn của mô hình. Chú ý các quy tắc với nhiều predicates
có thiên hướng chính xác cao hơn các quy tắc ít predicates hơn. Cụ thể, một
quy tắc đã cố định mọi đặc trưng của x làm giảm số lượng đánh giá vùng lân
cận tới các mẫu dữ liệu giống nhau. Do đó mô hình sẽ phân loại các vùng
lân cận như nhau và độ chính xác của quy tắc là 1. Đồng thời một quy tắc
đã cố định nhiều đặc trưng là cụ thể quá mức và chỉ áp dụng tới một số mẫu
dữ liệu. Do đó có sự đánh đổi giữa precision và độ phủ. Cách tiếp cận mỏ
neo dùng bốn thành phần chính để tìm những giải thích (explanations), được
miêu tả trong hình sau

Thế hệ ứng viên : Tạo các ứng viên giải thích mới. Trong vòng đầu tiên,
một ứng cử viên cho mỗi đặc trưng của x được tạo và sửa đổi giá trị tương
ứng trong các xáo trộn. Ở các vòng khác, các ứng cử viên tốt nhất của vòng
trước được mở rộng bởi một predicate đặc trưng chưa có trong đó.

Xác định ứng viên tốt nhất : Các quy tắc từ ứng viên sẽ được so sánh
liên quan đến quy tắc nào giải thích x tốt nhất. Về cuối, xáo trộn mà phù
hợp với quy tắc hiện tạo ra và đang được quan sát sẽ được đánh giá bằng
cách gọi mô hình. Tuy nhiên, những lần gọi này cần được giảm thiểu để hạn
chế vượt giới hạn tính toán. Đây là lý do tại sao, tại cốt lõi thành phần này,
có một máy đánh bạc đa cần (Multi-Armed-Bandit – MAB) thuần khám phá
(pure-exploration). Các MAB được sử dụng để khám phá và khai thác hiệu
quả các chiến lược khác nhau (được gọi là cần (arm) tương tự máy đánh bạc)
bằng cách sử dụng lựa chọn tuần tự (sequential selection). Trong cài đặt đã
cho, mỗi quy tắc từ ứng cử viên được xem là một cánh tay có thể được kéo.
Mỗi lần kéo, những lân cận tương ứng được đánh giá và do đó chúng ta có
được thêm thông tin về payoff của quy tắc từ ứng viên (độ chính xác trong
trường hợp các “neo”). Do đó, độ chính xác cho biết quy tắc mô tả mẫu dữ
liệu được giải thích tốt như thế nào.

Kiểm định chính xác của ứng viên : Lấy thêm mẫu trong trường hợp
không có độ tin cậy thống kê nào mặc dù thấy ứng viên vượt quá ngưỡng τ .

Tìm kiếm chùm đã sửa đổi (Modified Beam Search) : Tất cả các
thành phần trên được tập hợp trong một tìm kiếm chùm (beam search), là
thuật toán tìm kiếm đồ thị và một biến thể của tìm kiếm theo chiều rộng
(breadth-first algorithm). Nó mang B ứng cử viên tốt nhất của mỗi vòng qua
vòng tiếp theo (trong đó B được gọi là Độ rộng chùm (Beam Width)). Số
lượng B quy tắc tốt nhất này được sử dụng để tạo những quy tắc mới. Việc
tìm kiếm chùm tia tiến hành qua nhiều nhất f eatureCountpxq vòng, vì mỗi
đặc trưng chỉ được đưa vào một quy tắc nhiều nhất một lần. Do đó, ở mỗi
vòng i, nó tạo ra các ứng cử viên có chính xác i predicates và chọn số B tốt
nhất. Do đó, bằng cách cho B lớn, thuật toán có nhiều khả năng tránh tối
ưu cục bộ. Đổi lại, điều này đòi hỏi một lượng lớn các lần gọi mô hình và do
đó làm tăng lượng tải tính toán.

Hình 5.38: Các thành phần của thuật toán neo và mối quan hệ tương quan
bên trong (đã được đơn giản hoá)

Cách tiếp cận này dường như là một công thức hoàn hảo để thu được
thông tin hợp lý về thống kê (statistically sound information) về lý do tại
sao bất kỳ hệ thống nào phân loại một mẫu dữ liệu theo cách nó đã làm.
Nó thử nghiệm một cách có hệ thống với đầu vào mô hình và kết luận bằng
cách quan sát các đầu ra tương ứng. Nó dựa vào các phương pháp học máy
được thiết lập và nghiên cứu kỹ lưỡng (như MAB) để giảm số lượng cuộc
gọi được thực hiện cho mô hình. Điều này làm giảm đáng kể thời gian chạy
thuật toán.
5.8.2 Độ phức tạp và thời gian chạy (Runtime)
Biết hành vi thời gian chạy tiệm cận của các cách tiếp cận mỏ neo giúp
đánh giá mức độ hiệu quả của nó đối với các vấn đề cụ thể. Cho B là độ rộng
chùm tia và p là số lượng tất cả các đặc trưng. Sau đó, thuật toán neo phải
tuân theo độ phức tạp:

OpB ¨ p2 ` p2 ¨ OMABrB¨p,Bs q

Vùng biên cận này trừu tượng hóa từ các siêu tham số độc lập theo vấn
đề (problem-independent hyperparameters), chẳng hạn như độ tin cậy thống
kê δ. Bỏ qua các siêu tham số giúp giảm độ phức tạp của vùng biên cận
(boundary) (xem bài báo gốc để biết thêm thông tin). Vì MAB trích ra các
ứng cử viên B tốt nhất trong số các ứng cử viên B ¨ p tg mỗi vòng, hầu hết
các MAB và thời gian chạy của chúng nhân hệ số p2 nhiều hơn bất kỳ tham
số nào khác.
Do đó, điều sau trở nên rõ ràng: hiệu quả của thuật toán giảm với những
vấn đề có nhiều đặc trưng (feature abundant problems).

5.8.3 Ví dụ theo dữ liệu dạng bảng


Dữ liệu dạng bảng là dữ liệu có cấu trúc được biểu thị bằng các bảng,
trong đó các cột thể hiện các đặc trưng và các thể hiện hàng. Chẳng hạn,
ta sử dụng dữ liệu thuê xe đạp để chứng minh tiềm năng của phương pháp
“neo” để giải thích dự đoán ML cho các mẫu dữ liệu được chọn. Với điều này,
ta biến hồi quy thành một bài toán phân loại và huấn luyện một khu rừng
ngẫu nhiên như mô hình hộp đen của chúng ta. Đó là để phân loại xem số
lượng xe đạp thuê nằm trên hoặc dưới đường xu hướng. Trước khi tạo các
giải thích “neo” (anchor explanations) ta cần định nghĩa hàm xáo trộn. Một
cách dễ dàng là sử dụng không gian xáo trộn mặc định trực quan (intuitive
default perturbation space) cho các trường hợp giải thích dạng bảng (tabular
explanation cases) mà có thể xây dựng thông qua lấy mẫu, ví dụ, từ dữ liệu
huấn luyện. Khi xáo trộn một mẫu dữ liệu, cách tiếp cận mặc định này duy
trì các giá trị đặc trưng mà tuân theo các predicates của neo, trong khi thay
thế các đặc trưng không cố định bằng các giá trị từ mẫu dữ liệu được lấy mẫu
ngẫu nhiên khác (another randomly sampled instance) qua một xác suất chỉ
định. Quá trình này tạo ra các mẫu dữ liệu mới tương tự như các mẫu đã
giải thích nhưng cùng nhận thêm tính chất từ một số giá trị trong các mẫu
dữ liệu ngẫu nhiên khác. Vì vậy, các mẫu này tương đồng với các vùng lân
cận. Các kết quả đều khả giải thích theo bản năng và hiển thị cho từng mẫu

Hình 5.39: Các neo giải thích sáu mẫu dữ liệu của bộ dữ liệu cho thuê xe
đạp. Mỗi hàng đại diện cho một giải thích hoặc neo, và mỗi thanh mô tả các
vị từ đặc trưng được chứa trong đó. Trục x hiển thị độ chính xác của quy
tắc và độ dày của thanh tương ứng với độ phủ của nó. Quy tắc ’cơ sở’ không
chứa predicates. Các neo này cho thấy mô hình chủ yếu xem xét nhiệt độ để
làm các dự đoán.

dữ liệu được giải thích, đặc trưng nào là quan trọng nhất cho dự đoán của
mô hình. Vì các neo chỉ có một vài predicates, chúng cũng có độ độ phủ cao
và do đó áp dụng cho các trường hợp khác. Các quy tắc hiển thị ở trên được
tạo với τ “ 0.9. Do đó, chúng ta để các neo trong đó xáo trộn được đánh giá
hỗ trợ cho nhãn (label) có độ chính xác ít nhất là 90%. Ngoài ra, sự rời rạc
hoá (discretization) được sử dụng để tăng tính thể hiện (expressiveness) và
khả năng ứng dụng của các đặc trưng số.
Tất cả các quy tắc trước tạo ra cho các mẫu dữ liệu mà các mô hình quyết
định tự tin chỉ dựa trên một vài đặc trưng. Tuy nhiên, các mẫu dữ liệu khác
không được phân loại riêng biệt từ mô hình vì nhiều đặc trưng hơn có tầm
quan trọng hơn. Ở các trường hợp đó, các “neo” được cụ thể hơn, bao gồm
nhiều đặc trưng hơn, và áp dụng cho ít các mẫu dữ liệu hơn.
Mặc dù chọn không gian xáo trộn mặc định sẽ dễ chịu hơn, nó có thể tác
động lớn lên thuật toán và có thể dẫn đến kết quã bị thiên vị. Ví dụ, nếu tập
huấn luyện không được cân bằng (số lượng mẫu dữ liệu là không như nhau
với mỗi lớp), không gian xáo trộn cũng vậy. Điều kiện này ảnh hưởng thêm
việc tìm quy tắc và có kết quả chính xác. Bộ dữ liệu ung thu cổ tử cung là
một ví dụ xuất sắc cho trường hợp này. Áp dụng thuật toán “neo” dẫn đến
một trong các tình huống sau:

• Các mẫu dữ liệu được giải thích dán nhãn khoẻ mạnh tạo ra các quy tắc
trống vì tất cả các vùng lân cận được tạo ra sẽ đánh giá là khoẻ mạnh.

• Các mẫu dữ liệu được giải thích được dán nhãn ung thư bị cụ thể quá
mức, nghĩa là chứa quá nhiều đặc trưng predicates, bởi vì không gian
xáo trộn chủ yếu bao gồm các giá trị từ các mẫu dữ liệu khoẻ mạnh.

Đầu ra này có thể không được mong đợi và có thể tiếp cận qua nhiều
cách. Ví dụ, một không gian xáo trộn tuỳ chỉnh được định nghĩa cho những
mẫu trong đầu ra khác nhau, cụ thể từ một tập dữ liệu không cân bằng hoặc
một phân phối chuẩn. Tuy nhiên điều này kèm theo tác dụng phụ: Những
vùng lân cận được lấy mẫu không có tính thể hiện và thay đổi phạm vi của
độ phủ. Ngoài ra, ta có thể sửa đổi độ tin cậy δ của MAB và các giá trị tham
số lỗi . Điều này sẽ khiến MAB rút ra nhiều mẫu thử hơn, cuối cùng dẫn
đến lượng thiểu số được lấy mẫu thường xuyên hơn một cách tuyệt đối.
Trong ví dụ này, chúng ta sử dụng một tập hợp con của bộ ung thư cổ tử
cung với phần lớn dán nhãn là ung thư. Từ đó ta có khung để tạo một không
gian xáo trộn tương ứng. Hiện tượng xáo trộn có nhiều khả năng dẫn đến các
dự đoán khác nhau, và thuật toán neo có thể xác định các đặc trưng quan
Hình 5.40: Các mẫu dữ liệu giải thích gần với các vùng quyết định biên
cận (decision boundaries) dẫn đến các quy tắc cụ thể bao gồm một số lượng
lớn hơn các đặc trưng và độ phủ nhỏ hơn. Thêm nữa, quy tắc trống (empty
feature), tức là đặc trưng cơ sở, trở nên ít quan trọng. Điều này có thể hiểu
là một dấu hiệu cho một vùng quyết định biên cận, vì mẫu dữ liệu được vị
trí ở một vùng lân cận dễ thay đổi (volatile).

trọng. Tuy nhiên, định nghĩa của độ phủ cần được tính đến: nó chỉ được xác
định trong không gian xáo trộn. Ở các ví dụ trước, chúng ta sử dụng tập
huấn luyện làm cơ sở (basis) của không gian xáo trộn. Vì chúng ta chỉ dùng
một tập con, một độ phủ cao không nhất thiết chỉ ra sự quan trọng toàn cục
cao.
Hình 5.41: Thiết kết các “neo” trong các không gian xáo trộn không cân bằng
dẫn đến những kết quả không thể hiện được.

5.8.4 Ưu điểm

Cách tiếp cận mỏ neo cho ta nhiều ưu điểm hơn LIME. Trước hết, đầu
ra thuật toán dễ hiểu hơn, vì các quy tắc rất dễ giải thích. Thêm nữa, các
neo có thể được chia thành các tập con (subsettable) và định ra mức
đo độ quan trọng thông qua khái niệm độ phủ. Thứ hai, cách tiếp cận mỏ
neo hoạt động ngay cả khi dự đoán mô hình là phi tuyến tính hoặc
phức tạp trong một vùng lân cận của mẫu dữ liệu. Vì cách tiếp cận này
triển khai các kỹ thuật học tập củng cố thay vì khớp với các mô hình thay
Hình 5.42: Cân bằng tập dữ liệu trước khi lập các “neo” cho ta thấy lý lẽ của
mô hình cho các quyết định trong các trường hợp thiểu số.

thế, nên ít có khả năng dưới khớp mô hình. Ngoài ra mô hình có tính kiểu
mẫu (model-agnostic và áp dụng được cho mô hình tuỳ ý. Thêm nữa là
nó cực kỳ kiệu quả và có thể được song song hoá (parallelize) khi sử
dụng MABs có hỗ trợ lấy mẫu batch (ví dụ BatchSAR)
5.8.5 Nhược điểm
Thuật toán chịu thiệt trong thiết lập có cấu hình cao và có tác động,
giống như hầu hết các giải thích dựa trên xáo trộn (perturbation-based ex-
plainers). Không chỉ các siêu tham số như độ rộng chùm hoặc ngưỡng chính
xác phải được điều chỉnh để có kết quả ý nghĩa, mà cả hàm xáo trộn cũng
phải thiết kế cụ thể cho một miền/trường hợp sử dụng. Hãy nghĩ về cách dữ
liệu dạng bảng bị xáo trộn và cách áp dụng các khái niệm tương tự cho dữ
liệu ảnh (Gợi ý: chúng không thể được áp dụng). May mắn thay, các cách
tiếp cận mặc định có thể sử dụng trong một số miền xác định (domain) (ví
dụ: dạng bảng), thiết lập giải thích ban đầu dễ hơn. Đồng thời nhiều viễn
cảnh đòi hỏi sự rời rạc hoá vì nếu không kết quả sẽ quá cụ thể, ít độ phủ,
và không đóng góp vào việc hiểu mô hình. Trong khi discretization có thể tốt,
nó có thể những những vùng biên cận quyết định (decision boundaries) thiếu
rõ ràng nếu không dùng cẩn thận sẽ tạo nên tác dụng ngược lại. Do không
có kỹ thuật rời rạch hoá tốt nhất, người dùng cần lưu ý về dữ liệu trước khi
quyết định phương pháp làm rời rạc hoá dữ liệu để không thu về kết quả
không tốt. Xây dựng các “neo” cần dùng nhiều lần gọi mô hình học máy,
giống như tất cả các giải thích dựa trên xáo trộn. Trong khi thật toán triển
khai các MAB cực tiểu hoá số lần gọi, thời gian chạy vẫn phụ thuộc rất nhiều
vào chất lượng của mô hình và do đó có tính biến thiên cao (highly variable).
Cuối cùng, khái niệm độ phủ không xác định được trong một số miền.
Ví dụ không có định nghĩa hiển nhiên hoặc phổ cập về các siêu pixels trong
một ảnh được so sánh ra sao với trong hình ảnh khác.

5.8.6 Phần mềm và các gói thay thế


Hiện tại có hai lập trình có sẵn: neo, là gói trong Python (cũng được tích
hợp bởi Alibi) và lập trình Java. Phần mềm trước là tài liệu tham khảo của
các tác giả về thuật toán neo và sau là một lập trình hiệu năng cao đi kèm
với giao diện R, được gọi là các neo, được sử dụng cho các ví dụ trong chương
này. Cho đến nay, neo chỉ hỗ trợ dữ liệu dạng bảng. Tuy nhiên, về mặt lý
thuyết có thể được xây dựng cho bất kỳ miền hoặc loại dữ liệu.
5.9 Giá trị Shapley (Shapley Values)
Qua giả sử rằng mỗi giá trị đặc trưng của mẫu dữ liệu là một “người chơi”
trong một trò chơi mà dự đoán là thanh toán (payout), một dự đoán có thể
được giải thích. Cụ thể ở một ví dụ trong chương này, tác giả coi mô hình học
máy dự đoán số tiền thực tế làm trò chơi, lấy các đặc trưng làm người chơi
và thanh toán là số tiền một đặc trưng góp vào để tạo ra dự đoán. Giá trị
Shapley – một phương thức của lý thuyết trò chơi liên minh (coalition game
theory) – cho ta biết làm sao để phân phối công bằng (fairly distributed),
tức là phân phối không bị thiên vị với một nguời chơi cụ thể, các thanh toán
đến các đặc trưng.

5.9.1 Ý tưởng chung


Giả sử viễn cảnh sau: Bạn đã huấn luyện một mô hình học máy để dự
đoán các giá tiền căn hộ. Với một căn hộ nhất định nó dự đoán e300,000 và
bạn cần giải thích phép dự đoán này. Kích thước căn hộ là 50m2 , nằm trên
tầng 2, có một công viên gần đó và cấm nuôi mèo: Giá trị dự đoán trung

Hình 5.43: Giá trị dự đoán cho một căn hộ tầng 2 50m2 là e300,000 với công
viên gần đó và cấm nuôi mèo. Mục tiêu là giải thích làm sao các giá trị đặc
trưng đóng góp vào dự đoán.

bình cho các căn hộ là e310,000. Mỗi giá trị đặc trưng đóng góp bao nhiêu
cho dự đoán so với dự đoán trung bình?
Câu trả lời sẽ đơn giản với các mô hình hồi quy tuyến tính. Ảnh hưởng của
mỗi đặc trưng là trọng số của đặc trưng nhân với giá trị đặc trưng. Điều
này chỉ hiệu quả do tính tuyến tính của mô hình. Cho các mô hình phức tạp
hơn, ta cần giải pháp khác. Ví dụ LIME sử dụng các mô hình cục bộ để ước
lượng các ảnh hưởng. Một giải pháp khác đến từ lý thuyết trò chơi hợp tác
(cooperative game theory): Phương pháp giá trị Shapley, đặt ra bởi Shapley
(1953), chỉ định các thanh toán cho người chơi phụ thuộc vào đóng góp của
họ trong tổng giá trị thanh toán. Các người chơi hợp tác trong trong một
liên minh và nhận về lợi nhận nhất định từ sự hợp tác này.
Những người chơi? Trò chơi? Thanh toán? Sự kết nối giữa các dự đoán học
máy và tính khả giải thích ra sao? “Trò chơi” là nhiệm vụ dự đoán cho một
mẫu dữ liệu trong bộ dữ liệu. “Độ lợi” (gain) là dự đoán thực tế cho mấu
dữ liệu này trừ đi dự đoán trung bình của tất cả mẫu dữ liệu. “Những người
chơi” là các giá trị đặc trưng của mẫu dữ liệu đã cộng tác để nhận lại độ
lợi (= dự đoán một giá trị nhất định). Trong ví dụ căn hộ, những giá trị
đặc trưng công viên ở gần, cấm mèo, kích thước 50, và tầng 2 phối hợp với
nhau để thu được dự đoán e300,000. Mục tiêu chúng ta là giải thích sai khác
giữa dự đoán thật sự (e300,000) và dự đoán trung bình (e310,000): sai khác
-e10,000.
Câu trả lời có thể là: công viên ở gần e30,000; kích thước 50, đóng góp
e10,000; tầng 2 đóng góp e0; cấm mèo đóng góp -e50,000. Các đóng góp
tổng cộng tới tới - e10.000, là dự đoán cuối cùng trừ đi giá căn hộ dự đoán
trung bình.

Làm sao ta tính giá trị Shapley cho một đặc trưng? Ở hình sau ta
đánh giá đóng góp của giá trị đặc trưng cho đặc trưng cấm mèo khi được
thêm vào liên minh của công viên ở gần và kích thước 50. Chúng ta mô
phỏng rằng chỉ có công viên ở gần, cấm mèo, và kích thước 50 là một liên
minh thông qua rút ngẫu nhiên căn hộ khác từ dữ liệu và dùng giá trị của
nó cho đặc trưng tầng (floor). Giá trị tầng 2 được thay bằng rút ngẫu nhiên
tầng 1. Sau đó chúng ta dự đoán giá căn hộ qua sự kết hợp này (e310,000).
Bước thứ 2 ta loại đi cấm mèo từ liên minh thông qua thay thế nó với một
giá trị ngẫu nhiên từ đặc trưng phép/cấm mèo qua căn hộ được rút ngẫu
nhiên. Trong ví dụ nó là phép mèo, nhưng có thể là cấm mèo lần nữa. Ta dự
đoán giá căn hộ từ liên minh công viên ở gần và kích thước 50 (e320,000).
Đóng góp từ cấm mèo là e310,000 - e320,000 = -e10.000. Ước tính nào phụ
thuộc vào các giá trị từ căn hộ rút ngẫu nhiên với vai trò là “nhà tài trợ”
cho giá trị đặc trưng mèo và tầng. Chúng ta sẽ có được ước tínhtốt hơn nếu
chúng ta lặp lại bước lấy mẫu này và tính trung bình các khoản đóng góp.
Chúng ta lặp lại tính toán này cho tất cả các liên minh khả thi. Giá trị
Shapley là trung bình tất cả các đóng góp biên cho tất cả các liên minh khả
Hình 5.44: Một lần lập lại mẫu đề ước tính đóng góp từ cấm mèo trong dự
đoán khi được thêm vào liên minh của đậu xe ở gần và kích thước 50.

thi. Thời gian tính toán tăng theo cấp số nhân với số lượng các đặc trưng.
Một giải pháp để quản lý được thời gian tính toán là tính các đóng góp cho
chỉ với một vài mẫu của các liên minh khả thi.
Hình dưới đây cho thấy tất cả các liên minh của các giá trị đặc trưng cần
thiết để xác định giá trị Shapley cho cấm mèo. Hàng đầu tiên hiển thị liên
minh mà không có bất kỳ giá trị đặc trưng nào. Các hàng thứ hai, thứ ba và
thứ tư hiển thị các liên minh khác nhau với kích thước liên minh tăng dần,
cách nhau bởi “|”. Các liên minh sau đây là khả thi:

• Không có giá trị đặc trưng

• Công viên ở gần

• Kích thước 50

• Tầng 2

• Công viên ở gần + Kích thước 50

• Công viên ở gần + Tầng 2

• Kích thước 50 + Tầng 2

• Công viên ở gần + Kích thước 50 + Tầng 2


Với mỗi liên minh này, chúng ta tính toán dự đoán giá căn hộ lẫn có và
không có giá trị đặc trưng bị cấm và lấy hiệu chênh lệch để có được đóng
góp biên. Giá trị Shapley là trung bình (trọng số hoá) của các đóng góp cận
biên. Ta thay thế các giá trị đặc trưng từ các đặc trưng không nằm trong
liên minh bằng các giá trị đặc trưng ngẫu nhiên từ bộ dữ liệu căn hộ để lấy
dự đoán từ mô hình học máy.

Hình 5.45: Tất cả 8 liên minh cần thiết để tính toán giá trị Shapley chính
xác của giá trị đặc trưng cấm mèo.

Nếu chúng ta ước tính các giá trị Shapley cho tất cả các giá trị đặc trưng,
chúng ta nhận được phân phối hoàn chỉnh của dự đoán (trừ đi trung bình)
trong số các giá trị đặc trưng.

5.9.2 Các vị dụ và giải thích


Giải thích cho giá trị Shapley với giá trị đặc trưng j là: Giá trị từ đặc
trưng j-th đóng góp φj cho dự đoán của mẫu dữ liệu cụ thể này so với dự
đoán trung bình trong bộ dữ liệu.
Giá trị Shapley hiệu quả cho cả phép phân loại (nếu ta đang xem xét các
xác suất) và phép hồi quy.
Chúng ta sử dụng giá trị Shapley để phân tích dự đoán mô hình rừng
ngẫu nhiên dự đoán ung thư cổ tử cung:
Đối với tập dữ liệu thuê xe đạp, chúng ta cũng huấn luyện một khu rừng
Hình 5.46: Giá trị Shapley cho một phụ nữ từ bộ dữ liệu ung thư cổ tử cung.
Với dự đoán là 0,57, xác suất ung thư của người phụ nữ này cao hơn 0.54 so
với dự đoán trung bình là 0.03. Số ca STD được chẩn đoán gây nên sự tăng
xác suất nhiều nhất. Tổng các đóng góp cho ra sai khác giữa dự đoán thực
tế và trung bình (0,54).

ngẫu nhiên để dự đoán số lượng xe đạp được thuê trong một ngày, dựa trên
thông tin thời tiết và lịch. Các giải thích được tạo cho phép dự đoán rừng
ngẫu nhiên trong một ngày cụ thể như sau:
Hãy cẩn thận để giải thích chính xác giá trị Shapley: Giá trị Shapley là
đóng góp trung bình của một giá trị đặc trưng cho dự đoán trong các liên
minh khác nhau. Giá trị Shapley KHÔNG phải là sai khác trong dự đoán
khi chúng ta xóa đi đặc trưng này khỏi mô hình.
Hình 5.47: Giá trị Shapley của ngày 285. Với dự đoán 2409 chiếc xe đạp cho
thuê, ngày này thấp hơn -2108 so với dự đoán trung bình là 4518. Tình hình
thời tiết và độ ẩm đóng góp tiêu cực nhất và nhiệt độ thì lại có đóng góp tích
cực. Tổng các giá trị Shapley cho ra sai khác của dự đoán thực tế và trung
bình (-2108).

5.9.3 Chi tiết về giá trị Shapley


Phần này đi sâu hơn vào định nghĩa và tính toán của giá trị Shapley cho
các bạn đọc. Bỏ qua phần này và đi thẳng đến “Ưu điểm và nhược điểm” nếu
bạn không quan tâm đến các chi tiết kỹ thuật.
Chúng ta quan tâm đến cách mỗi đặc trưng ảnh hưởng đến dự đoán của
một điểm dữ liệu. Trong một mô hình tuyến tính, thật dễ dàng để tính toán
các ảnh hưởng riêng lẻ. Một dự đoán mô hình tuyến tính cho một mẫu dữ
liệu là như sau:

fˆpxq “ β0 ` β1 x1 ` . . . ` βp xp
trong đó x là điểm dữ liệu mà chúng ta muốn tính toán các đóng góp. Mỗi xj
là một giá trị đặc trưng, với j “ 1, ¨ ¨ ¨ , p. Các βj là trọng lượng tương ứng
với đặc trưng j.
Mức đóng góp φj của đặc trưng thứ j trên dự đoán fˆpxq là:

φj pfˆq “ βj xj ´ Epβj Xj q “ βj xj ´ βj EpXj q

trong đó Epβj Xj q là ảnh hưởng ước lượng trung bình cho đặc trưng j. Mức
đóng góp là hiệu giữa ảnh hưởng đặc trưng trừ đi ảnh hưởng trung bình. Tốt
lắm! Bây giờ ta đã biết mỗi đặc trưng đóng góp bao nhiêu cho dự đoán. Nếu
chúng ta tổng lại tất cả các đóng góp đặc trưng (feature contribution) cho
một mẫu dữ liệu, kết quả là như sau:

p
ÿ p
ÿ
φj pfˆq “ pβj xj ´ Epβj Xj qq
j“1 j“1
p
ÿ p
ÿ
“pβ0 ` βj xj q ´ pβ0 ` Epβj Xj qq
j“1 j“1

“fˆpxq ´ EpfˆpXqq

Đây là giá trị dự đoán cho điểm dữ liệu x trừ đi giá trị dự đoán trung
bình. Các đóng góp đặc trưng có thể âm.
Liệu chúng ta có thể làm tương tự cho một loại mô hình tuỳ ý? Thật sự
là sẽ tốt khi có công cụ làm dạng phân tích kiểu mẫu (model-agnostic tool).
Vì chúng ta thường không có trọng lượng như nhay trong các loại mô hình
khác, ta cần giải pháp khác.
Sự trợ giúp đến từ những nơi không ngờ tới: lý thuyết trò chơi hợp tác.
Giá trị Shapley là giải pháp để tính các đóng góp theo đặc trưng cho các dự
đoán đơn lẻ trong bất kì mô hình học máy nào.

5.9.4 Giá trị Shapley


Giá trị Shapley được định nghĩa thông quan một hàm giá trị của các
người chơi trong S.
Giá trị Shapley của một giá trị đặc trưng là đóng góp của nó lên thanh
toán, được trọng lượng hoá và tổng hợp trên tất cả các kết hợp trong tất cả
giá trị đặc trưng:
ÿ |S|! pp ´ |S| ´ 1q!
φj pvalq “ pval pS Y txj uq ´ valpSqq
p!
SĎtx1 ,...,xp uztxj u

trong đó S là tập con của các đặc trưng dùng trong mô hình, x là vector
cho các giá trị đặc trưng của mẫu dữ liệu được giải thích và p là số lượng
đặc trưng. valx pSq là dự đoán cho các gái trị đặc trưng trong tập S đã được
biên hoá trên các đặc trưng nằm ngoài tập S:
ż
valx pSq “ fˆpx1 , . . . , xp qdPxRS ´ EX pfˆpXqq

Bạn đang thực hiện nhiều phép tích phân cho mỗi đặc trưng nằm ngoài
tập S. Một ví dụ cụ thể: Mô hình học máy hoạt động với 4 đặc trưng x1, x2,
x3 và x4 và chúng ta đánh giá dự đoán cho liên minh S bao gồm các giá trị
đặc trưng x1 và x3:
ż ż
valx pSq “ valx ptx1 , x3 uq “ fˆpx1 , X2 , x3 , X4 qdPX2 X4 ´ EX pfˆpXqq
R R

Công thức này trông tương tự như các đóng góp đặc trưng trong mô hình
tuyến tính!
Đừng nhầm lẫn bởi nhiều cách sử dụng từ “gía trị”: Giá trị đặc trưng là
giá trị số hoặc hạng mục của một đặc trưng và mẫu dữ liệu; giá trị Shapley
là đóng góp đặc trưng cho dự đoán; hàm giá trị là hàm xuất chi cho liên kết
người chơi (giá trị đặc trưng).
Giá trị Shapley là phương pháp phân bổ duy nhất thỏa mãn các tính
chất Hiệu lực (Efficiency), Đối xứng (Symmetry), Nộm (Dummy)
và Cộng (Additivity), cùng nhau được coi là một định nghĩa về thanh toán
công bằng.

Hiệu lực Các đóng góp đặc trưng phải cộng lên để bằng hiệu giữa dự đoán
trên x và giá trị trung bình.
ÿp
φj “ fˆpxq ´ EX pfˆpXqq
j“1

Đối xứng Các đóng góp cho hai gía trị đặc trưng j và k nên như nhau nếu
chúng đóng góp như nhau cho mọi liên minh có thể. Nếu
valpS Y txj uq “ valpS Y txk uq
Với mọi
S Ď tx1 , . . . , xp uztxj , xk u

Thì
φj “ φk

Bù nhìn (dummy) Một đặc trưng j mà không thay đổi giá trị dự đoán –
mặc cho mọi liên minh của các giá trị đặc trưng được cộng vào – nên có một
giá trị Shapley bằng 0. Nếu

valpS Y txj uq “ valpSq

Với mọi
S Ď tx1 , . . . , xp u

Thì
φj “ 0

Cộng tính Cho trò chơi với các kết hợp thanh toán val ` val` thì các giá
trị Shapley tương ứng là
φj ` φ`
j

Giả sử rằng bạn huấn luyện một rừng ngẫu nhiên, nghĩa là dự đoán là
trung bình trong các cây quyết định. Tính chất Cộng tính đảm bào rằng cho
một giá trị đặc trưng, bạn có thể tính toán gía trị Shapley cho mỗi cây riêng,
tính trung bình của chúng, và lấy giá trị Shapley cho giá trị đặc trưng cho
rừng ngẫu nhiên.

5.9.5 Trực giác


Ta có cách trực quan để hiểu giá trị Shapley qua minh họa sau: Các giá
trị đặc trưng sẽ vào một phòng theo thứ tự ngẫu nhiên. Tất cả giá trị đặc
trưng trong phòng tham gia vào một trò chơi (= đóng góp vào dự đoán). Giá
trị Shapley của một giá trị đặc trưng là thay đổi trung bình trong dự đoán
mà liên minh đã có trong phòng nhận được khi giá trị đặc trưng kết hợp với
chúng.
5.9.6 Ước tính giá trị Shapley
Tất cả các liên kết (các tập hợp) giá trị đặc trưng có thể được đánh giá
kèm theo và không kèm theo đặc trưng thứ j để tính chính xác giá trị Shapley.
Đối với nhiều hơn một vài đặc trưng, nghiệm chính xác cho vấn đề này sẽ
gặp vấn đề khi số lượng liên minh có thể tăng theo cấp số nhân khi nhiều
đặc trưng được thêm vào. Strumbelj et al. (2014) đề xuất phép ước tínhbằng
lấy mẫu Monte-Carlo:
M
1 ÿ ´ˆ m ˆ m
¯
φ̂j “ f px`j q ´ f px´j q
M m“1

trong đó fˆpxm
`j q là dự đoán cho x, nhưng với một lượng ngẫu nhiên các
gái trị đặc trưng từ điểm dữ liệu ngẫu nhiên z, ngoại trừ cho giá trị tương
ứng với đặc trưng j. X-vector xm m
´j gần như tương đương với x`j , như giá trị
xm
j được lấy ra từ mẫu z. Mỗi số lượng M mẫu dự liệu mới là một loại “Quái
vật Frankenstein” tập hợp từ hai mẫu dữ liệu.

Ước tính Shapley gần đúng cho duy nhất một giá trị đặc trưng

• Đầu ra: Giá trị Shapley cho giá trị của đặc trưng j-th

• Yêu cầu: Số lần lặp M, mẫu dữ liệu đang quan tâm x, chỉ số đặc trưng j,
ma trận dữ liệu X và mô hình học máy f.

• Với mọi m “ 1, . . . , M :

– Lấy ra mẫu dữ liệu z ngẫu nhiên từ ma trận dữ liệu X


– Chọn một hoán vị ngẫu nhiên o của các giá trị đặc trưng
– Sắp thứ tự mẫu dữ liệu x: xo “ pxp1q , . . . , xpjq , . . . , xppq q
– Sắp thứ tự mẫu dữ liệu z: zo “ pzp1q , . . . , zpjq , . . . , zppq q
– Xây dựng hai mẫu dữ liệu mới
∗ Với đặc trưng j: x`j “ pxp1q , . . . , xpj´1q , xpjq , zpj`1q , . . . , zppq q
∗ Không có đặc trưng j: x´j “ pxp1q , . . . , xpj´1q , zpjq , zpj`1q , . . . , zppq q
– Tính toán đóng góp cận biên: φm ˆ ˆ
j “ f px`j q ´ f px´j q

• Tính giá trị Shapley qua trung bình: φj pxq “ M1 M m


ř
m“1 φj
Đầu tiên, chọn một mẫu dữ liệu đang quan tâm x, một đặc trưng j và số
lần lặp M. Với mỗi lần lặp, một mẫu dự liệu ngẫu nhiên z được chọn từ dữ
liệu và một thứ tự ngẫu nhiên của các đặc trưng được tạo nên. Hai trường
hợp mới được tạo bằng cách kết hợp các giá trị từ mẫu dữ liệu đang quan
tâm x và mẫu z. Mẫu dữ liệu x`j là mẫu dự liệu đang quan tâm, nhưng tất
cả các giá trị sắp thứ tự trước đặc trưng j được thay thế bằng các giá trị đặc
trưng từ mẫu z. Mẫu dữ liệu x´j giống như x`j , nhưng ngoài ra có đặc trưng
j được thay thế bằng giá trị cho đặc trưng j từ mẫu z. Sự khác biệt trong dự
đoán từ hộp đen được tính toán:

φm ˆ m ˆ m
j “ f px`j q ´ f px´j q

Tất cả các hiệu được trung bình hoá và kết quả là:
M
1 ÿ m
φj pxq “ φ
M m“1 j

Việc tính trung bình ngầm trọng lượng hoá các mẫu theo phân phối xác suất
của X.
Quy trình phải được lặp lại cho từng đặc trưng để thu được tất cả các
giá trị Shapley.

5.9.7 Ưu điểm
Điểm khác nhau giữa dự đoán và trung bình dự đoán được phân phối
công bằng (fairly distributed) giữa các giá trị đặc trưng của mẫu dữ liệu
– tính hiệu lực của giá trị Shapley. Tình chất này phân biệt giá trị Shapley
khỏi tất cả các phương pháp khác như là LIME. LIME không đảm bảo rằng
dự đoán được phân phối công bằng giữa các đặc trưng. Giá trị Shapley có
thể là phương pháp duy nhất để đưa ra đầy đủ kết qủa giải thích. Trong tình
huống như luật pháp yêu cầu khả năng giải thích – như “quyền giải thích”
của EU - giá trị Shapley có phương pháp “tuân thủ pháp lý” duy nhất, bởi vì
nó dựa trên lý thuyết vững chắc và phân phối các ảnh hưởng một cách công
bằng. Ta không phải là một luật sư, vì vậy điều này chỉ phản ánh trực giác
của ta về các yêu cầu trong phương pháp.
Giá trị Shapley cho phép giải thích tương phản. Thay vì so sánh một
dự đoán với dự đoán trung bình của toàn bộ tập dữ liệu, bạn có thể so sánh
với một tập hợp con hoặc thậm chí với một điểm dữ liệu duy nhất. Sự tương
phản này là điều mà các mô hình cục bộ như LIME không có.
Giá trị Shapley là phương pháp giải thích duy nhất với một lý thuyết
vững chắc. Các tiên đề – hiệu lực, đối xứng, nộm tính, cộng tính – đưa ra
một nền tảng hợp lý cho kết qủa giải thích. Các phương thức như LIME giả
định hành vi tuyến tính của mô hình học máy cục bộ, nhưng không có lý do
trên mặt lý thuyết nào về tại sao hành vi đó hiệu quả.
Thật là ấn tượng cực kì để giải thích một dự đoán bằng một trò chơi được
chơi bởi các giá trị đặc trưng.

5.9.8 Nhược điểm


Giá trị Shapley đòi hỏi lượng tính toán cao. Trong 99.9% tình huống
đời thực, chỉ có nghiệm ước tính là khả thi. Tính toán chính xác của giá trị
Shapley rất đắt vì có 2k các liên minh của các giá trị đặc trưng (giống như số
lượng tập con từ tập k phần tử) và sự “vắng bóng” của một đặc trưng phải
được mô phỏng bằng phác hoạ các mẫu dữ liệu ngẫu nhiên, làm tăng phương
sai (variance) cho ước lượng giá trị Shapley. Số lượng mũ các liên minh được
xử lý bằng cách lấy mẫu liên minh và giới hạn số lần lặp M. Giảm M sẽ giảm
đi thời gian tính toán nhưng làm tăng phương sai của giá trị Shapley. hông
có quy tắc tốt nào cho số lần lặp M. M phải đủ lớn để ước tínhchính xác các
giá trị Shapley, nhưng đủ nhỏ để hoàn thành tính toán trong thời gian hợp
lý. Có thể chọn M dựa trên giới hạn của Chernoff, nhưng ta chưa thấy bài
báo nào làm phương pháp này cho các giá trị Shapley cho các dự đoán học
máy.
Giá trị Shapley có thể bị hiểu sai. Giá trị Shapley của một giá trị đặc
trưng không phải là sai khác của giá trị dự đoán sau khi loại bỏ đặc trưng
này khỏi huấn luyện mô hình. Ta giải thích giá trị Shapley như sau: cho tập
hợp các giá trị đặc trưng, sự đóng góp của một giá trị đặc trưng cho phương
sai giữa dự đoán thực tế và dự đoán trung bình là giá trị Shapley xấp xỉ.
Giá trị Shapley giải thích sai nếu bạn tìm kiếm các kết quả giải thích
thưa (sparse) (giải thích chứa trong một vài đặc trưng). Các kết quả giải
thích được tạo với phương pháp giá trị Shapley luôn sử dụng tất cả các
đặc trưng. Con người ưu tiên giải thích có chọn lọc (selective), chẳng hạn
như những giải thích từ LIME. LIME có thể là lựa chọn tốt hơn cho
những vấn đề giải thích mà laypersons đối mặt. Một giải pháp khác là
https://github.com/slundberg/shap được giới thiệu bởi Lundberg và Lee
(2016) [lundberg2016], dựa trên giá trị của Shapley, nhưng cũng có thể cung
cấp kết quả giải thích với một vài đặc trưng.
Giá trị Shapley trả về một giá trị đơn giản cho mỗi đặc trưng, nhưng
không có mô hình dự đoán như LIME. Điều này nghĩa là nó không thể
được sử dụng để đưa ra kết luận về những thay đổi trong dự đoán hay những
thay đổi đầu vào, chẳng hạn như: “Nếu ta kiếm được e300 mỗi năm, điểm
tín dụng của ta sẽ tăng thêm 5 điểm.
Một nhược điểm khác là bạn cần truy cập vào dữ liệu nếu bạn muốn
tính toán giá trị Shapley cho một mẫu dữ liệu mới. Truy cập vào hàm dự
đoán sẽ không đủ vì bạn cần dữ liệu để thay đổi các phần của mẫu dữ liệu
đang quan tâm với các mẫu dữ liệu được rút ngẫu nhiên từ tập dữ liệu. Điều
này chỉ có thể tránh nếu bạn có thể tạo các mẫu dữ liệu nhìn giống thiệu
nhưng không phải từ dữ liệu huấn luyện.
Như nhiều phương pháp giải thích dựa trên hoán vị khác, phương pháp
giá trị Shapley chịu sự bao hàm (inclusion) các mẫu dữ liệu không
thực tế khi có tương quan đặc trưng. Để mô phỏng việc một giá trị đặc
trưng bị thiếu trong liên minh, chúng ta làm biên hoá đặc trưng. Điều này
đạt được qua lấy mẫu các giá trị từ phân phối biên của đặc trưng. Điều này
tốt miễn là các đặc trưng độc lập. Khi các đặc trưng phụ thuộc nhau, chúng
ta có thể lấy thêm mẫu các giá trị đặc trưng mà không có ý nghĩa cho trường
hợp này. Nhưng chúng ta sẽ sử dụng chúng để tính giá trị Shapley của đặc
trưng. Theo hiểu biết tốt nhất của ta, không có nghiên cứu nào về ý nghĩa
của các giá trị Shapley, cũng như không có gợi ý nào về cách khắc phục nó.
Một giải pháp có thể là hoán vị các đặc trưng tương quan với nhau và nhận
một giá trị Shapley chung cho chúng. Hoặc quy trình lấy mẫu có thể phải
điều chỉnh để tính đến sự phụ thuộc từ các đặc trưng.

5.9.9 Phần mềm và các gói thay thế


Các giá trị Shapley được triển khai trong cả gói iml và
https://github.com/bgreenwell/fastshap cho R.
SHAP, một phương pháp ước tính khác cho các giá trị Shapley, được trình
bày trong chương tiếp theo.
Một cách tiếp cận khác được gọi là breakDown, thực hiện trong gói break-
Down R40. BreakDown cũng cho thấy đóng góp từng đặc trưng cho dự đoán,
nhưng lại tính toán chúng từng bước một. Chúng ta hãy xem phép loại suy
với trò chơi: Chúng ta bắt đầu với một đội rỗng, thêm giá trị đặc trưng mà
đóng góp nhiều nhất cho dự đoán và lặp lại cho đến khi đã thêm hết tất cả
các giá trị đặc trưng. Mỗi giá trị đặc trưng đóng góp bao nhiêu tùy thuộc vào
các giá trị đặc trưng tương ứng đã có trong “đội”, và cũng là nhược điểm lớn
của phương thức breakDown. Nó nhanh hơn phương pháp giá trị Shapley và
đối với các mô hình không tương quan, kết quả là như nhau.
5.10 SHAP (Shapley Additive exPlanations)
SHAP là một phương pháp giải thích các dự đoán riêng lẻ. SHAP dựa
trên trò chơi giá trị Shapley tối ưu về mặt lý thuyết.
Có hai lý do mà SHAP có chương riêng và không phải là chương con của
giá trị Shapley. Đầu tiên, tác giả SHAP đã đề xuất KernelSHAP, một phương
pháp thay thế mà ước tính dựa trên hạt nhân cho các giá trị Shapley lấy cảm
hứng từ các mô hình thay thế cục bộ (local surrogate models). Từ đó họ đề
xuất TreeSHAP, một phương pháp ước tính hiệu quả cho các mô hình dựa
trên cây (tree-based). Thứ hai, SHAP đi kèm với nhiều phương pháp giải
thích toàn cầu dựa trên sự tổng hợp các giá trị của Shapley. Chương này giải
thích cả các phương pháp ước tính mới và phương pháp giải thích toàn cầu.
Chúng ta gợi ý đọc chương về giá trị Shapley và LIME trước.

5.10.1 Định nghĩa


Mục tiêu của SHAP là giải thích dự đoán của một mẫu dữ liệu x thông
qua tính mức đóng góp của mỗi đặc trưng cho phép dự đoán. Phương pháp
giải thích SHAP tính các giá trị Shapley dựa trên lý thuyết trò chơi liên minh
(coalition). Các giá trị đặc trưng của một mẫu dữ liệu làm các nguời chơi
trong một liên minh. Giá trị Shapley cho biết các để phân phối công bằng
các “payout” (= phép dự đoán) giữa các đặc trưng. Một người chơi có thể là
một giá trị đặc trưng riêng, ví dụ: cho dữ liệu dạng bảng, và cũng có thể là
một nhóm các giá trị đặc trưng. Ví dụ, để giải thích một hình ảnh, pixel có
thể được nhóm thành siêu pixel và phép dự đoán được phân phối giữa chúng.
Một cải tiến mà SHAP mang đến cho bảng là giải thích giá trị Shapley được
biểu diễn dưới dạng phương pháp cộng tính thuộc tính đặc trưng (additive
feature attribution method ), một mô hình tuyến tính. Quan điểm này kết
nối các giá trị LIME và Shapley. SHAP chỉ định giải thích là:

M
ÿ
1
gpz q “ φ0 ` φj zj1
j“1

Với g là mô hình giải thích, z 1 P t0, 1uM là vector liên minh, M là kích
cỡ liên minh tối đa và φj P R là phân bổ đặc trưng cho đặc trưng j, các giá
trị Shapley. Cái mà ta gọi là “vector liên minh” được gọi là “các đặc trưng
đơn giản hóa” (simplified feature) trong bài báo SHAP. Ta nghĩ tên này đã
được chọn, vì ví dụ: dữ liệu hình ảnh, hình ảnh không được biểu thị ở mức
pixel, nhưng được tổng hợp thành siêu pixel. Ta nghĩ sẽ hữu ích khi nghĩ về
z như mô tả các liên minh: Trong vector liên minh, đầu vào 1 có nghĩa là
giá trị tính năng tương ứng là “có mặt” và 0 là “vắng mặt”. Điều này sẽ quen
thuộc với bạn nếu bạn đọc về các giá trị Shapley. Để tính toán các giá trị
Shapley, chúng ta mô phỏng rằng chỉ một số giá trị tính năng đang tham gia
(“có mặt”) và một số thì không (“vắng mặt”). Việc biểu diễn dưới dạng mô
hình tuyến tính của các liên minh là mẹo để tính toán các φ. Đối với x, mẫu
dự liệu đang quan tâm, vector liên minh x’ là vector tất cả các giá trị 1, tức
là tất cả các giá trị đặc trưng đều “có mặt”. Công thức đơn giản thành:

M
ÿ
1
gpx q “ φ0 ` φj
j“1

Bạn có thể tìm thấy công thức này qua ký hiệu tương tự trong chương
giá trị Shapley. hông tin thêm về ước tính thực tế đến sau. Trước tiên chúng
ta hãy nói về các tính chất của φ trước khi chúng ta đi vào chi tiết ước tính
của chúng.
Các giá trị của Shapley là nghiệm duy nhất thỏa mãn các tính chất của
Hiệu lực, Đối xứng, Nộm tính và Cộng tính. SHAP cũng thỏa mãn những
điều này, vì nó tính toán các giá trị của Shapley. Trong bài báo về SHAP, bạn
sẽ tìm thấy sự khác biệt giữa các tính chất SHAP và các tính chất Shapley.
SHAP mô tả ba tính chất mong muốn sau:

1. Tính chính xác cục bộ:


M
ÿ
1
f pxq “ gpx q “ φ0 ` φj x1j
j“1

Nếu bạn cho φ0 “ EX pfˆpxqq và cho các x1j bằng 1, đây là tính chấn hiệu
lực của Shapley. Chỉ với tên khác và dùng vector liên minh.
M
ÿ M
ÿ
f pxq “ φ0 ` φj x1j “ EX pfˆpXqq ` φj
j“1 j“1

2. Tính thiếu:
x1j “ 0 ñ φj “ 0
Tính thiếu cho rằng một đặc trưng thiếu cho một biểu hiện là 0. Lưu ý
rằng x1j đề cập đến các liên minh, trong đó giá trị 0 biểu thị sự vắng mặt
một giá trị đặc trưng. Trong ký hiệu liên minh, các giá trị liên minh x1j
cho một mẫu dữ liệu được giải thích nên là 1 11 . Sự hiện diện của số 0 nghĩa
là giá trị đặc trưng bị thiếu cho mô hình đang quan tâm. Tính chất này
không nằm trong các tính chất của giá trị Shapley “thông thường”. Vậy
tại sao ta cần nó cho SHAP? Lundberg gọi nó là “minor book-keeping
property”. Một đặc trưng thiếu có thể – trong lý thuyết – có một giá trị
Shapley từ ý mà không làm hỏng tính chính xác cục bộ, vì chúng được
nhân với x1j “ 0. Tính thiếu thực thi các đặc trưng bị thiếu có giá trị
Shapley là 0. Trong thực hành điều này chỉ liên quan tới các đặc trưng
không thay đổi.

3. Nhất quán: Cho fx pz 1 q “ f phx pz 1 qq và zzj


1
cho rằng zj1 “ 0. Cho hai mô
hình f và f 1 thoả mãn:

fx1 pz 1 q ´ fx1 pzzj


1
q ě fx pz 1 q ´ fx pzzj
1
q
1
Với mọi đầu vào z P t0, 1uM , thì:

φj pf 1 , xq ě φj pf, xq

Tính nhất quán nói rằng nếu mô hình thay đổi sao cho đóng góp biên
(marginal contribution) cho một giá trị đặc trưng tăng lên hoặc giữ
nguyên (mặc cho các đặc trưng khác), giá trị Shapley cũng tăng hoặc
giữ nguyên. Từ tính Nhất quán, các tính chất Shapley Tuyến tính, Nộm
tính, hoặc Đối xứng đi theo, như miêu tả trong phần Appendix của
Lundberg và Lee.

5.10.2 KernelSHAP

KernelSHAP ước lượng cho một mẫu dữ liệu x cho các đóng góp của mỗi
giá trị đặc trưng lên phép dự đoán. KernelSHAP bao gồm 5 bước:
1
(a) Mẫu liên minh zk P t0, 1uM , k P t1, . . . , Ku (1 = đặc trưng có mặt
trong liên minh, 0 = đặc trưng vắng mặt)
(b) Cho dự đoán với mỗi zk1 qua trước hết đổi zk1 qua không gian đặc
1
trưng gốc rồi áp dụng mô hình f : f phx pzk qq
(c) Tính trọng số (weight) cho mỗi zk1 tới hạt nhân SHAP.
(d) Khớp mô hình tuyến tính đã trọng số hoá.
(e) Trả lại các giá trị Shapley φk , các hệ số từ mô hình tuyến tính.

Ta có thể tạo ra một liên minh ngẫu nhiên qua các phép lật đồng xu liên
tục cho tới khi thu được các chuỗi 0 và 1. Ví dụ vector của p0, 1, 0, 1q
nghĩa rằng ta có một liên minh của đặc trưng thứ nhất và thứ ba. Số
lượng K liên minh đã lấy mẫu (sampling) làm thành tập dữ liệu cho mô
hình hồi quy. Đối tượng cho mô hình hồi quy là phép dự đoán cho một
liên minh (“Đợi đã!”, bạn sẽ nói, “Mô hình chưa được huấn luyện trên dữ
liệu liên minh nhị phân và không thể dự đoán được!) Để đi từ các liên
minh của các giá trị đặc trưng tới các mẫu dữ liệu hợp lệ, ta cần hàm
hx pz 1 q “ z với hx : t0, 1uM Ñ Rp . Hàm hx ánh xạ từ 1 tới giá trị tương
ứng từ mẫu dữ liệu x ta đang muốn giải thích. Với dữ liệu dạng bảng, nó
ánh xạ các số 0 tới các giá trị của một mẫu dữ liệu khác ta lấy mẫu từ
dữ liệu. Điều này nghĩa là ta đánh đồng “gía trị đặc trưng là vắng mặt”
với “gía trị đặc trưng bị thay đổi bởi gía trị đặc trưng ngẫu nhiên từ dữ
liệu.” Từ dữ liệu dạng bảng, hình sau mô phỏng ánh xã từ các liên minh
tới các giá trị đặc trưng:
Hàm hx cho dữ liệu dạng bảng xử lý XC và XS độc lập và tích phân
trong phân phối biên:

f phx pz 1 qq “ EXC rf pxqs

Lấy mẫu từ phân phối biên nghĩ là bỏ qua cấu trong phụ thuộc giữa các
đặc trưng có mặt và vắng mặt. KernelSHAP do đó gặp vấn đề tương tự
như tất cả các phương pháp diễn giải dự trên hoán vị. Phép ước tính đặt
quá nhiều trọng số lên các mẫu dữ liệu không chắc chắn. Kết quả có thể
trở nên không tin cậy. Nhưng cần thiết phải lấy mẫu từ phân phối biên.
Nếu các giá trị đặc trưng vắng mặt sẽ được lấy mẫu từ phân phối có điều
kiện, các giá trị kết qủa sẽ không còn là giá trị Shapley. Các kết quả sẽ vi
phạm tiên đề Shapley về Nộm tính, nói rằng một đặc trưng không đóng
góp lên kết quả nên có giá trị Shapley bằng 0.
Hình 5.48: hàm hx ánh xạ một liên minh tới một mẫu dữ liệu hợp lệ. Cho
đặc trưng có mặt (1), hx ánh xạ từ các giá trị đặc trưng cũa x. Cho các đặc
trưng vắng mặt p0q, ánh xạ từ các giá trị của một mẫu dữ liệu lấy mẫu ngẫu
nhiên

Cho các ảnh, hình sau miêu tả một hàm ánh xạ khả thi.
Khác biệt lớn nhất của LIME là trọng số của các mẫu dữ liệu trong mô
hình hồi quy. LIME trọng số hoá các mẫu dữ liệu theo mức độ gần gũi
của chúng với thể hiện ban đầu. Càng nhiều 0 trong vector liên minh,
trọng số trong LIME càng nhỏ. SHAP trọng số hoá các mẫu dự liệu được
lấy mẫu dựa trên trọng lương của liên minh sẽ lấy trong ước tính giá
trị Shapley. Các liên minh nhỏ (ít lượng số 1) và liên minh lớn (nhiều
lượng số 1) có các trọng số lớn nhất. Trực giác là như sau: ta học hầu
hết các đặc trưng riêng lẻ nếu chúng ta học được các ảnh hưởng (effects)
một cách riêng lẻ. Nếu một liên minh chứ một đặc trưng duy nhất, ta có
thể học được ảnh hưởng riêng lẻ chính của các đặc trưng lên dự đoán.
Nếu một liên minh bao gồm tất cả trừ một đặc trưng, ta có thể học ảnh
hưởng toàn phần của các đặc trưng này (ảnh hưởng chính cộng thêm các
tương tác đặc trưng). Nếu một liên minh bào gồm nửa các đặc trưng, ta
học rất ít về đóng góp từng đặc trưng riêng lẻ, vì có thể có nhiều liên
minh khả thi chỉ có một nửa đặc trưng. Để đạt được trọng số tuân thủ
Shapley, Lundberg et. al đề xuất hạt nhận SHAP:

pM ´ 1q
πx pz 1 q “ ` M ˘
|z 1 | |z 1 |pM ´ |z 1 |q
Hình 5.49: Hàm hx ánh xạ các liên minh của siêu pixels(sp) lên các ảnh. Siêu
pixels là nhóm các pixels. Cho giá trị đặc trưng có mặt p1q, hx trả về phần
tương ứng cho ảnh gốc. Cho các giá trị đặc trưng vắng mặt p0q, hx làm xám
đi khu vực tương ứng. Cho trung bình hoá màu của pixel xung quanh hoặc
tương tự cũng là một phương án.n

Ở đây, M là kích cỡ liên minh tối đa và |z 1 | là số lượng các đặc trưng


có mặt trong mấu dữ liệu z 1 . Lundberg và Lee chứng minh rằng hồi quy
tuyến tính với trọng số hạt nhân này mang lại các giá trị Shapley. Nếu
bạn sửa dụng hạt nhân SHAP với LIME trong dữ liệu liên minh, LIME
sẽ ước lượng các giá trị Shapley!
Chúng ta có thể khôn ngoan hơn về việc lấy mẫu các liên minh: Các
liên minh nhỏ nhất và lớn nhất chiếm phần lớn trọng số. Ta thu ước
lượng giá trị Shapley tốt hơn bằng các dùng một số mẫu với ngân sách
K (sampling budget K) để thêm vào những liên minh trọng số lớn thay
vì lấy mẫu mù quáng. Chúng ta bắt đầu với mọi liên minh có thể có từ
1 tới M ´ 1 đặc trưng, tổng cộng có 2 lần liên minh M . Khi ta đã có đủ
ngân sách còn lại (ngân sách hiện tại là K ´ 2M ), ta có thể kèm theo
các liên minh với hai đặc trưng và với M ´ 2 đặc trưng, và tiếp diễn như
vậy. Từ các kích thước (size) của liên minh còn lại, ta lấy mẫu với trọng
số được điều chỉnh lại.
Ta đã có dữ liệu, mục tiêu (target) và các trọng số. Mọi thứ dùng để xây
dụng mô hình hồi quy tuyến tính đã trọng số hoá:

M
ÿ
1
gpz q “ φ0 ` φj zj1
j“1

Ta huấn luyện mô hình tuyến tính g qua tối ưu hoá hàm mất mát L:

ÿ
Lpf, g, πx q “ rf phx pz 1 qq ´ gpz 1 qs2 πx pz 1 q
z 1 PZ

Với Z là dữ liệu huấn luyện. Đây là tổng sai số bình phương cũ quen
thuộc mà chúng ta thường tối ưu hóa cho các mô hình tuyến tính. Các
hệ số ước tính của mô hình, φj là các giá trị Shapley.

5.10.3 TreeSHAP

Lundberg et. al (2018) đề xuất TreeSHAP, một biến thể của SHAP cho
các mô hình học máy dựa trên cây như cây quyết định, rừng ngẫu nhiên
và cây tăng cường gradient (gradient boosted trees). TreeSHAP được
giới thiệu là một giải pháp thay thế nhanh, theo mô hình cụ thể cho
KernelSHAP, nhưng hóa ra nó có thể tạo ra các thuộc tích (attributions)
về đặc trưng không trực quan.
TreeSHAP xác định hàm giá trị bằng cách sử dụng kỳ vọng có điều
kiện (conditional expectation) EXS |XC pf pxq|xS q thay vì kỳ vọng cận biên
(marginal expectation). Vấn đề với kỳ vọng có điều kiện là các đặc trưng
không có ảnh hưởng lên hàm dự đoán f có thể nhận ước tính TreeSHAP
khác 0. Ước tính khác 0 xảy ra khi đặc trưng tương quan với một đặc
trưng khác mà gây ảnh hưởng thực sự lên dự đoán.

TreeSHAP nhanh hơn bao nhiêu? So với KernelSHAP, nó làm giảm độ


phức tạp tính toán từ OpT L2M q to OpT LD2 q, với T là số lượng cây, L
là số lượng lớn nhất các lá trong một cây và D là độ sâu tối đa của bất
kì cây nào.

TreeSHAP dùng kỳ vọng có điều kiện EXS |XC pf pxq|xS q để ước lượng các
ảnh hưởng. Ta sẽ cho bạn một số trực giác về các chúng ta tính kì vọng
dự đoán (prediction expectation) cho một cây, một mẫu dữ liệu x và một
tập con đặc trưng S. Nếu ta điều kiện hoá tất cả các đặc trưng – nếu S
là tập tất cả các đặc trưng – phép đặc trưng từ một nút (node) trong đó
mẫu dữ liệu x nằm trong là kỳ vọng dự đoán. Nếu chúng ta không điều
kiện hoá lên bất cứ đặc trưng nào – tập S rỗng – ta sẽ dùng trung bình
trọng số hoá (weighted average) của các dự đoán trong tất cả các nút
đầu cuối (terminal nodes). Nếu S chứa một số, nhưng không phải tất cả,
các đặc trưng, ta bỏ qua các dự đoán của các nút không truy cập được
(unreachable nodes). Không thể truy cập có nghĩa là đường quyết định
(decision path) mà dẫn đến nút này mẫu thuẫn với các gía trị xS . Từ
các nút đầu cuối còn lại, ta trung bình các dự đoán trọng số hoá bằng
kích thước các nút (tức số lượng mẫu huấn luyện trong nút đó). Trung
bình của các nút đầu cuối còn lại, trọng số hoá bằng số lượng mẫu dữ
liệu trên một nút, là kỳ vọng dự đoán cho x với S cho trước. Vấn đề ở
đây là chúng ta phải áp dụng quy trình này cho mỗi tập con các gái trị
đặc trưng S. TreeSHAP tính toán trong thời gian đa thức thay vì theo
cấp số nhân (exponential). Ý tưởng cơ bản là đẩy tất cả các tập con có
thể S xuống cây cùng một lúc. Cho mỗi nút quyết định (decision node)
ta phải theo dỏi chung số lượng các tập con. Điều này phụ thuộc vào các
tập con trong nút cha-mẹ (parent node). Ví dụ khi phần tách (split) đầu
tiên trong một cây là đặc trưng x3, mọi tập con chứa đặc trưng x3 đều
về một nút (nút mà x về). Các tập con không chứa x3 sẽ chuyển đến cả
hai nút với trọng số giảm. Không may các tập con với kích thước khác
nhau có trọng số khác nhau. Thuật toán phải theo dõi trọng số tổng thể
(overall) của các tập con trong một nút. Điều này tăng phức tạp cho
thuật toán. Ta để cho bài báo gốc cho chi tiết về TreeSHAP. Phép tính
toán có thể mở rộng cho nhiều cây hơn: Nhờ vào Cộng tính của các giá trị
Shapley, các giá trị Shapley của một nhóm cây (tree ensemble) là (trọng
số) trung bình của các giá trị Shapley của các cây riêng lẽ.
Tiếp theo, chúng ta sẽ xem xét các cách giải thích SHAP.

5.10.4 Các ví dụ:

Ta huấn luyện một rừng ngẫu nhiên với 100 cây để dự đoán nguy cơ ung
thư cổ tử cung. Chúng ta dùng SHAP để giải thích các dự đoán riêng
lẽ. Ta có thể dùng phương pháp ước tính TreeSHAP nhanh hơn thay vì
KernelSHAP chậm hôn, vì một rừng ngẫu nhiên là một nhóm các cây.
Thay vì dựa vào các phân phối có điều kiện, ví dụ này dùng phân phối
biên. ĐIều này được miêu tả trong gói thư viện mà không phải trong tài
liệu gốc. Hàm Python TreeSHAP chậm hơn với phân phối biên, nhưng
vẫn nhanh hơn KernelSHAP, ví nó tỉ lệ tuyến tính với số lượng hàng
trong dữ liệu.
Bởi vì chúng ta sử dụng phân phối biên ở đây, cách giải thích giống
ở trong chương giá trị Shapley. Nhưng gói Python SHAP có một cách
hình dung khác: bạn có thể hình dung các thuộc tính đặc trưng (feature
attributions) như là các giá trị Shapley làm “các lực” (forces). Mỗi giá
trị đặc trưng là một lực làm tăng hay giảm dự đoán. Dự đoán bắt đầu
từ đường cơ sở (baseline). Đường cơ sở của giá trị Shapley là trung bình
tất cả các dự đoán. Trong phác hoạ, mỗi giá trị Shapley là một mũi tên
đẩy để tăng lên (giá trị dương) hoặc giảm đi (giá trị âm) dự đoán. Các
lực này cân bằng lẫn nhau ở dự đoán thật sự của mẫu huấn luyện.
Hình sau đây cho thấy các phác hoạ lực giải thích SHAP cho hai phụ nữ
trong tập dữ liệu ung thư cổ tử cung:
Đây là các giải thích cho các dự đoán cá nhân.
Giá trị Shapley có thể kết hợp vào các giải thích toàn cục. Nếu ta chạy
SHAP cho mỗi mẫu dữ liệu, ta có ma trận các gái trị Shapley. Ma trận
này gồm một hàng mỗi mẫu dũ liệu và một cột mỗi đặc trưng. Ta có thể
giải thích cả mô hình qua phân tích các giá trị Shapley trong ma trận
này.
Ta bắt đầu với mức quan trọng của đặc trưng SHAP.
Hình 5.50: Giá trị SHAP để giải thích dự đoán xác suất ung thư cho hai cá
nhân. Đường cơ sở – xác suất dự đoán trung bình – là 0.066. Người phụ nữ
đầu có nguy cơ dự đoán thấp với 0.06. Các ảnh hưởng tăng nguy cơ như là
STDs được bỳ đắp bằng các ảnh hưởng giảm như là tuổi. Người phụ nữ thứ
hai có nguy cơ dự đoán cao với 0.71. Tuổi 51 và với 34 năm hút thuốc làm
tăng nguy cơ ung thư dự đoán.

5.10.5 Mức quan trọng của đặc trưng SHAP (SHAP


feature importance)

Ý tưởng đằng sau SHAP feature importance khá đơn giản: Các đặc trưng
với gía trị tuyệt đối Shapley cao rất quan trọng. Vì chúng ta muốn mức
quan trọng toàn cục (global importance), ta trung bình các giá trị tuyệt
đối Shapley với mỗi đặc trưng xuyên suốt các dữ liệu:
n
ÿ piq
Ij “ |φj |
i“1

Tiếp theo, ta sắp xếp các đặc trưng giảm dần theo độ quan trọng và phác
hoạ chúng. Hình dưới đây cho thấy mức quan trọng gía trị SHAP cho
huấn luyện rừng ngẫu nhiên trước đó để dự đoán ung thư cổ tử cung.
Hình 5.51: Mức quan trọng của đặc trưng SHAP được đo bằng trung bình
giá trị tuyệt đối Shapley. Số năm sử dụng các biện pháp tránh thai nội tiết tố
là đặc trưng quan trọng nhất, thay đổi xác suất ung thư tuyệt đối dự đoán
trên trung bình 2.4 điểm phần trăm (0.024 trên trục x).

Mức quan trọng của đặc trưng SHAP là một thay thế cho tầm quan
trọng của đặc trưng hoán vị. Có một sự khác biệt lớn giữa cả hai mức
đo độ quan trọng (important measures): Mức quan trọng của đặc trưng
hoán vị dựa trên sự giảm hiệu suất của mô hình. SHAP dựa trên mức
của các thuộc tính đặc trưng (feature attributions).
Đồ thị mức quan trọng đặc trưng hữu ích, nhưng không chứa thông tin
khác ngoài các mức quan trọng.

5.10.6 Phác hoạ tổng quan SHAP (SHAP Summary


Plot)

Phác hoạ tổng quan kết hợp mức quan trọng với các ảnh hưởng đặc
trưng. Mỗi điểm trong phác hoạ tổng quan là một giá trị Shapley cho
một đặc trưng và một mẫu dữ liệu. Vị trí trên trục y được quyết định
bởi đặc trưng và trên trục x qua giá trị Shapley. Màu thể hiện giá trị
của đặc trưng từ thấp tới bé. Các điểm chồng (overlapping points) lộn
xộn ở hướng trục y, nên ta hiểu được phân phối của các giá trị Shapley
trên mỗi đặc trưng. Các đặc trưng được sắp xếp theo mức quan trọng
của chúng.

Hình 5.52: Phác hoạ tổng quan SHAP. Ít năm dùng các biện pháp tránh thai
nội tiết tố thì giảm nguy cơ ung thư dự đoán, nhưng nhiều năm hơn thì sẽ
tăng nguy cơ. Các ảnh hưởng thường mô tả hành vi của mô hình và không
nhất thiết phải thông dụng trong thế giới thực.

Trong phác hoạ tổng quan, chúng ta thấy những dấu hiệu đầu tiên về
mối quan hệ của một đặc trưng và ảnh hưởng lên dự đoán. Nhưng để
thấy hình thức chính xác của mối quan hệ này, ta phải nhìn qua các phác
hoạ phụ thuộc SHAP.

5.10.7 Các phác hoạ phụ thuộc SHAP (SHAP De-


pendence Plot)

Các phác hoạ phụ thuộc SHAP có thể là phác hoạ giải thích toàn cục đơn
giản nhất (simplest global intepretation plot): 1) Chọn một đặc trưng.
2) VỚi mỗi mẫu dữ liệu, phác hoạ một điểm với giá trị đặc trưng trên
trục x và giá trị Shapley tương ứng trên trục y. 3) Đã xong.

piq piq
Về mặt toán học, phác hoạ chứa các điểm sau: tpxj , φj quni“1 . Hình sau
cho thấy sự phụ thuộc đặc trưng SHAP trong nhiều năm vào các biện
pháp tránh thai nội tiết tố:

Hình 5.53: Phác hoạ phụ thuộc riêng SHAP cho nhiều năm vào các biện pháp
tránh thai nội tiết tố. So với 0 năm, một vài năm làm thấp hơn xác suất dự
đoán và số năm làm tăng xác suất ung thư dự đoán.

Các phác hoạ phụ thuộc SHAP là thay thế cho phác hoạ phụ thuộc riêng
(PDP) và các phác họa tích lũy ảnh hưởng cục bộ (ALE). Trong khi PDP
và ALE cho thấy các ảnh hưởng trung bình, phác hoạ phụ thuộc SHAP
cũng cho thấy phương sai trên trục y. Đặc biệt trong trường hợp tương
tác, phác hoạ phụ thuộc SHAP sẽ phân tán nhiều hơn trong trục y. Phác
hoạ phụ thuộc có thể cải thiện bằng cách làm nổi bật các tương tác đặc
trưng.
5.10.8 Giá trị tương tác SHAP (5.10.8 SHAP Inter-
action Values):

Ảnh hưởng tương tác (interaction effect) là ảnh hưởng đặc trưng kết hợp
bổ sung (additional combined feature effect) sau khi tính đến các hiệu
ứng đặc trưng riêng lẻ. Chỉ số tương tác Shapley (Shapley interaction
index) từ lý thuyết trò chơi được định nghĩa là:
ÿ |S|!pM ´ |S| ´ 2q!
φi,j “ δij pSq
2pM ´ 1q!
SĎzti,ju

Với i ‰ j và:

δij pSq “ fx pS Y ti, juq ´ fx pS Y tiuq ´ fx pS Y tjuq ` fx pSq

Công thức này trừ đi ảnh hưởng chính của các đặc trưng khi tính đến
các ảnh hưởng riêng lẻ để thu được ảnh hưởng đặc trưng thuần tuý. Ta
lấy trung bình tất cả khác liên minh đặc trưng có thể S, như trong phép
tính giá trị Shapley. Khi ta tính các giá trị tương tác SHAP cho tất cả
đặc trưng, ta thu về một đặc trưng trên một mẫu dữ liệu với kích thước
M ˆ M , với M là số lượng các đặc trưng.
Đây là các phác hoạ “lực” (force plots), với mỗi phác hoạ giải thích dự
đoán trên một mấu dữ liệu. Ta xoay các biểu đồ lực theo chiều dọc và
đặt chúng cạnh nhau theo như sự giống nhau từ phân cụm.

5.10.9 Ưu điểm

Vì SHAP tính toán các giá trị Shapley nên nó có tất cả các ưu điểm của
Shapley: SHAP có nền tảng lý thuyết vững chắc trong lý thuyết trò
chơi. Dự đoán được phân phối công bằng giữa các giá trị đặc trưng.
Ta thu được các giải thích trái ngược nhau (contrasive explanantions)
mà so sánh dự đoán với trung bình dự đoán.
SHAP kết nối LIME và các giá trị Shapley. Điều này rất cần thiết
để hiểu thêm cả hai phương pháp. Điều này giúp thống nhất ngành học
máy khả giải thích.
Hình 5.54: Phác hoá phụ thuộc đặc trưng SHAP với tương tác trực quan
hoá. Nhiều năm dùng biện pháp tránh thai nội tiết tố có tương tác với STDs.
Trong những trường hợp gần với 0 năm, sự xuất hiện của STD làm tăng nguy
cơ ung thư dự đoán. Một lần nữa, đây không phải mô hình nhân quả. Các
hiệu ứng có thể do nhiễu rối (confounding) (ví dụ STDs và nguy cơ ung thư
thấp có thể tương quan với đi khám bác sĩ nhiều hơn).

SHAP triển khai nhanh chóng cho cách mô hình dựa trên cây.
Ta tin rằng đây là chìa khoá cho sự phổ biến của SHAP, vì rào cản lớn
nhất cho áp dụng các giá trị Shapley là sự tính toán chậm.

Việc tính toán nhanh giúp khả thi việc tính nhiều các giá trị Shapley
cần thiết cho các diễn giải mô hình toàn cục (global intepretation
models). Các phương pháp diễn giải toàn cục gồm mức quan trọng của
đặc trưng, tính phụ thuộc đặc trưng, các tương tác, phân cụm và các
phác hoạ tổng quan, vì các giá trị Shapley là “đơn vị nguyên tử” cho các
diễn giải toàn cầu. Nếu bạn dùng LIME cho giải thích cục bộ và phác
hoạ phụ thuộc riêng chung với mức quan trọng hoán vị đặc trưng cho
giải thích toàn cục, bạn đã thiếu nền tảng chung.
Hình 5.55: Các giải thích SHAP chồng lên nhau được phân cụm theo tính
tương đồng khi khả giải thích. Mỗi vị trí trên trục x là một mẫu dữ liệu
của dữ liệu. Giá trị SHAP màu đỏ làm tăng dự đoán, giá trị màu xanh làm
giảm dự đoán. Có một cụm nổi bật: Bên phải là một nhóm có nguy cơ ung
thư dự đoán cao.

5.10.10 Nhược điểm

KernelSHAP chậm. Điều này làm KernelSHAP phi thực tế khi bạn
muốn tính toán giá trị Shapley cho nhiều điểm dữ liệu. Ngoài ra các
phương pháp SHAP toàn cục như là mức độ quan trọng đặc trưng SHAP
yêu cầu tính các gía trị Shapley cho rất nhiều điểm dữ liệu.
KernelSHAP bỏ qua sự phụ thuộc đặc trưng. Hầu hết các phương
pháp diễn giải dự trên hoán vị có vấn đề này. Qua thay đổi các giá trị
đặc trưng với các giá trị từ các mẫu dự liệu ngẫu nhiên, thường sẽ dễ
hơn để lấy mẫu ngẫu nhiên từ phân phối biên. Tuy nhiên, nếu các đặc
trưng phụ thuộc, tức tương quan, điều này dẫn đến đặt quá nhiều trọng
số lên các điểm dữ liệu không khả thi. TreeSHAP giải quyết vấn đề này
qua mô hình hoá cụ thể dự đoán kỳ vọng có điều kiện.
TreeSHAP có thể tạo ra các thuộc tính đặc trưng không trực
quan. Khi TreeSHAP giải quyết vấn đề ngoại suy (extrapolating) tới các
điểm dữ liệu không khả thi, nó thêm vào một vấn đề mới. TreeSHAP
thay đổi hàm giá trị bằng cách dựa vào dự đoán kỳ vọng có điều kiện.
Thay đổi hàm giá trị làm các đặc trưng mà không ảnh hưởng lên dự đoán
có thể nhận giá trị TreeSHAP khác 0.
Những nhược điểm của giá trị Shapley cũng áp dụng cho SHAP: Giá trị
Shapley có thể bị hiểu sai và cần có quyền truy cập dữ liệu để tính toán
chúng cho dữ liệu mới (ngoại trừ TreeSHAP).

5.10.11 Phần mềm và các gói thay thế

Các tác giả đã triển khai SHAP trong gói Python shap. Việc triển khai
này hoạt động với các mô hình dựa trên cây trong thư viện học máy
scikit-learn cho Python. Gói shap cũng được dùng cho các ví dụ trong
chương này. SHAP được tích hợp vào các cơ chế tăng cường cây xgboost
và LightGBM. Trong R có các gói shapper và fastshap. SHAP cũng được
bao gồm trong gói R xgboost.
Chương 6

Giải thích dựa trên mẫu


dữ liệu
Các phương pháp giải thích dựa trên mẫu dữ liệu lựa chọn các mẫu dữ
liệu cụ thể trong tập dữ liệu để giải thích hành vi của các mô hình học máy
hoặc để giải thích phân bố của dữ liệu.
Các phương pháp này chủ yếu có dạng nguyên mẫu (model-agnostic), bởi
vì chúng có thể hoạt động trên bất cứ loại mô hình học máy nào. Sự khác
nhau nhau so với các phương pháp model-agnostic có chăng là các phương
pháp này giải thích một mô hình bằng cách chọn lựa các mẫu dữ liệu trong
tập dữ liệu và không cần tạo tổng quan đặc trưng (feature summary) giống
như phương pháp feature importance hay PDP. Các phương pháp giải thích
dựa trên mẫu dữ liệu chỉ có ý nghĩa nếu ta có thể biểu diễn mẫu dữ liệu
một cách mà con người có thể hiểu được. Với dữ liệu là ảnh, điều này không
thành vấn đề, bởi vì ta có thể xem ảnh một cách trực tiếp. Nhìn chung, các
phương pháp này sẽ làm việc tốt nếu các giá trị đặc trưng của mẫu dữ liệu
chứa nhiều thông tin và có cấu trúc ví dụ như ảnh hoặc văn bản. Với dữ liệu
dạng bảng (tabular), mọi thứ sẽ khó khăn hơn bởi vì một mẫu dữ liệu có thể
chứa hàng trăm thậm chí hàng ngàn đặc trưng. Liệt kê tất các các giá trị đặc
trưng để biểu diễn một mẫu dữ liệu trong trường hợp này sẽ không hiệu quả.
Các phương pháp giải thích dựa trên mẫu dữ liệu giúp con người hiểu về
mô hình và tập dữ liệu đã được dùng cho việc huấn luyện. Chúng đặc biệt
giúp ta nắm bắt các phân phối dữ liệu phức tạp. Nhưng giải thích dựa trên
mẫu dữ liệu nghĩa là gì? Thực tình ta thường chúng các phương pháp này
trong đời sống hàng ngày, hãy bắt đầu bằng vài ví dụ nhé.

252
Một bác sĩ trông thấy một bệnh nhân có triệu chứng ho và sốt nhẹ một
cách không bình thường. Các triệu chứng này làm bác sĩ nhớ tới một bệnh
nhân khác của cô ta vài năm về trước với các triệu chứng tương tự. Cô ấy
nghi ngờ rằng bệnh nhân hiện tại có thể có cùng bệnh và cô ấy lấy mẫu máu
của bệnh nhân để xét nghiệm.
Một nhà khoa học dữ liệu làm việc với một dự án mới cho một trong
những khách hàng của anh ta: Phân tích các nhân tố nguy hiểm dẫn đến
lỗi hoạt động của một máy sản xuất bàn phím. Nhà khoa học dữ liệu nhớ
rằng một dự án tương tự anh ta đã làm và tái sử dụng một số phần của mã
code từ dự án cũ đó bởi vì anh ta nghĩ rằng khách hàng muốn kiểu phân tích
tương tự.
Một chú mèo con ngồi bên cửa sổ của một ngôi nhà hoang đang bị cháy.
Lính cứu hỏa vừa tới nơi và một trong số họ suy nghĩ có nên lao vào đống
lửa để cứu chú mèo hay không. Anh ta nhớ một số trường hợp tương tự mà
anh ta đã chứng kiến: các ngôi nhà gỗ cũ kĩ thường cháy âm ỉ và sẽ dễ dàng
sập xuống bất cứ lúc nào. Bởi vậy, anh ta quyết định không lao vào, bởi vì
nguy cơ là quá lớn. May mắn rằng, chú mèo đã nhảy ra khỏi cửa sổ và an
toàn, cũng như không ai bị thương.
Những câu chuyện trên phản ánh cách con người chúng ta suy nghĩ trong
các trường hợp thực tế. Đại thể của phương pháp giải thích dựa trên mẫu
dữ liệu đó là: B giống với A và A dẫn đến Y, do đó tôi dự đoán rằng B cũng
sẽ dẫn đến Y. Ta có thể thấy điều này với một số phương pháp học máy.
Các cây quyết định phân tách dữ liệu thành các nốt dựa trên điểm tương
đồng giữa các mẫu dữ liệu dựa vào các đặc trưng quan trọng cho việc dự
đoán mục tiêu. Một cây quyết định tạo ra dự đoán cho một mẫu dữ liệu mới
bằng cách tìm ra các mẫu dữ liệu tương đồng (tương đương với nốt cuối -
terminal node) và trả về giá trị đầu ra trung bình của các mẫu dữ liệu đó
như là các dự đoán. Với một mẫu dữ liệu mới, một mô hình k hàng xóm gần
nhất (knn) định vị k hàng xóm gần nhất và trả về giá trị đầu ra trung bình
của các hàng xóm như là dự đoán. Kết quả của một thuật toán k hàng xóm
gần nhất có thể được giải thích bằng cách diễn giải k hàng xóm, và điều này,
một lần nữa, chỉ có ý nghĩa nếu ta có thể biểu diễn chúng theo cách mà con
người có thể hiểu được.
Chương này bao gồm các phương pháp giải thích dựa trên mẫu dữ liệu:
- Giải thích phản chứng (counterfactual explanations): Cho ta biết mẫu
dữ liệu cần thay đổi như thế nào để đầu ra cũng bị thay đổi. Bằng cách tạo
ra các mẫu dữ liệu phản chứng, ta biết mô hình tạo ra dự đoán như thế nào
và có thể giải thích cho các dự đoán riêng rẽ.
- Các mẫu dữ liệu đối kháng (adversarial examples): Là các phản chứng
dùng để đánh lừa các mô hình học máy. Phần này tập trung vào việc thay
đổi dự đoán và không đi kèm giải thích.
- Nguyên mẫu (prototypes): Là việc lựa chọn ra các mẫu dữ liệu đại diện
từ một tập dữ liệu và ngoại lại (criticisms) là các mẫu dữ liệu không được
bao hàm bởi các nguyên mẫu.
- Các mẫu dữ liệu có ảnh hưởng (influential instances): Là các mẫu dữ
liệu quan trọng bậc nhất cho các tham số của một mô hình hoặc dự đoán.
Việc xác định và phân tích các mẫu dữ liệu này giúp ta hiểu được các vấn đề
trong tập dữ liệu, gỡ rối mô hình và nắm bắt hành vi của mô hình tốt hơn.
- Mô hình k hàng xóm gần nhất (k-nearest neighbors model): Là một
dạng mô hình học máy khả diễn giải dựa trên các mẫu dữ liệu.

6.1 Giải thích phản chứng - Counterfactual


Explanations
Một lời giải thích phản chứng mô tả một tình huống có dạng nhân quả
dưới dạng: “Nếu X không xảy ra, Y sẽ không xảy ra”. Ví dụ: “Nếu tôi không
uống một ngụm cà phê nóng này, tôi sẽ không bị bỏng lưỡi”. Sự kiện Y là tôi
bị bỏng lưỡi; nguyên nhân X là tôi đã uống cà phê nóng. Suy nghĩ theo lối
phản chứng đòi hỏi phải tưởng tượng ra một giả định mâu thuẫn với các sự
kiện được quan sát (ví dụ, một thế giới trong đó tôi không uống cà phê nóng),
do đó có tên là “phản chứng”. Khả năng suy nghĩ ra những phản chứng khiến
con người chúng ta thông minh hơn nhiều so với các loài động vật khác.
Trong học máy khả giải thích, những giải thích phản chứng có thể được
sử dụng để giải thích các dự đoán của các trường hợp riêng lẻ. “Sự kiện” là
kết quả dự đoán của một thể hiện (instance), “nguyên nhân” là các giá trị
đặc trưng cụ thể của thể hiện này được đưa vào mô hình và “gây ra” một dự
đoán tất yếu. Được hiển thị dưới dạng biểu đồ, mối quan hệ giữa các yếu tố
đầu vào và dự đoán rất đơn giản: Các giá trị đặc trưng gây ra sự dự đoán.
Ngay cả trong thực tế, mối quan hệ giữa các yếu tố đầu vào và kết quả
Hình 6.1: Mối quan hệ nhân quả giữa các yếu tố đầu vào của mô hình học
máy và dự đoán, khi mô hình chỉ được xem như một hộp đen. Các đầu vào
gây ra dự đoán (không nhất thiết phản ánh mối quan hệ nhân quả thực sự
của dữ liệu).

được dự đoán có thể không phải là mối quan hệ nhân quả, chúng ta có thể
xem đầu vào của một mô hình là nguyên nhân của dự đoán.
Với biểu đồ đơn giản này, thật dễ dàng để xem làm thế nào chúng ta có
thể mô phỏng các phản chứng cho dự đoán của các mô hình học máy: Chúng
ta chỉ cần thay đổi các giá trị đặc trưng của một thể hiện (instance) trước khi
đưa ra dự đoán và chúng ta phân tích dự đoán thay đổi như thế nào. Chúng
ta quan tâm đến các kịch bản trong đó dự đoán thay đổi theo cách có liên
quan, như lật (flip) trong lớp dự đoán (ví dụ: đơn tín dụng được chấp nhận
thành từ chối) hoặc trong đó dự đoán đạt đến ngưỡng nhất định (ví dụ: xác
suất ung thư đạt 10%). Một giải thích phản chứng của dự đoán mô tả
sự thay đổi nhỏ nhất trên các giá trị đặc trưng nhằm thay đổi dự
đoán thành một giá trị được định trước.
Có cả phương pháp giải thích phản chứng dạng mô hình mẫu (model-
agnostic) và mô hình cụ thể (model-specific), nhưng trong chương này chúng
ta chỉ tập trung vào các phương pháp mô hình mẫu - chỉ yêu cầu đầu vào
và đầu ra (chứ không cần biết cấu trúc bên trong của các mô hình cụ thể).
Các phương pháp này cũng sẽ tương tự chương mô hình mẫu, vì cách diễn
giải có thể được biểu thị dưới dạng tóm tắt các sự khác biệt trong các giá
trị đặc trưng (“thay đổi đặc trưng A và B để thay đổi dự đoán”). Nhưng một
giải thích phản chứng tự nó là một mẫu dữ liệu mới, vì vậy nó nằm trong
chương này (“bắt đầu từ thể hiện X, thay đổi A và B để có được một thể
hiện phản chứng). Không giống như các nguyên mẫu (prototypes), các phản
chứng không nhất thiết phải là các mẫu dữ liệu thực tế từ dữ liệu huấn luyện,
mà có thể là một tổ hợp mới của các giá trị đặc trưng.
Trước khi thảo luận cách tạo nên các phản chứng, tôi muốn đề cập tới
một số công dụng của phản chứng và một phản chứng được coi là tốt khi
nào?
Trong ví dụ đầu tiên, Peter nộp đơn vay và bị từ chối bởi một phần mềm
ngân hàng (chạy bởi học máy). Anh ấy tự hỏi tại sao đơn đăng ký của mình
bị từ chối và làm thế nào để anh ấy có thể cải thiện cơ hội được vay. Câu hỏi
“tại sao” có thể được hình thành như một phản chứng: Thay đổi nhỏ nhất
đối với các đặc trưng (thu nhập, số thẻ tín dụng, độ tuổi, ...) sẽ thay đổi dự
đoán từ bị từ chối thành được chấp thuận là gì? Một câu trả lời có thể là:
Nếu Peter kiếm được thêm 10.000 Euro mỗi năm, thì anh ta sẽ được vay.
Hoặc nếu Peter có ít thẻ tín dụng hơn và không bị vỡ nợ cách đây 5 năm,
anh ta sẽ được vay. Peter sẽ không bao giờ biết lý do từ chối, vì ngân hàng
không quan tâm đến sự minh bạch, nhưng đó là một câu chuyện khác.
Trong ví dụ thứ hai, ta muốn giải thích một mô hình dự đoán một đầu
ra có giá trị liên tục với các giải thích phản chứng. Anna muốn cho thuê căn
hộ của mình, nhưng cô không chắc phải đòi bao nhiêu cho căn hộ đó, vì vậy
cô quyết định huấn luyện một mô hình học máy để dự đoán giá thuê. Tất
nhiên, vì Anna là một nhà khoa học dữ liệu, đó là cách cô ấy giải quyết vấn
đề của mình. Sau khi nhập tất cả các thông tin chi tiết về kích thước, vị trí,
vật nuôi có được phép nuôi hay không, v.v., mô hình nói với cô ấy rằng cô ấy
có thể tính phí 900 Euro. Cô ấy mong đợi từ 1000 Euro trở lên, nhưng cô ấy
tin tưởng mô hình của mình và quyết định thay đổi các giá trị đặc trưng của
căn hộ để xem cô ấy có thể cải thiện giá trị của căn hộ như thế nào. Cô phát
hiện ra rằng căn hộ có thể được cho thuê với giá hơn 1000 Euro, nếu nó lớn
hơn 15 m2. Rất thú vị nhưng không thể thực hiện được, bởi vì cô ấy không
thể mở rộng căn hộ của mình. Cuối cùng, bằng cách chỉ điều chỉnh các giá
trị tính năng trong tầm kiểm soát của cô ấy (bếp tích hợp có / không, vật
nuôi được phép có / không, loại sàn, v.v.), cô ấy phát hiện ra rằng nếu cô ấy
cho phép vật nuôi và cài đặt cửa sổ có cách nhiệt tốt hơn, cô ấy có thể tính
phí 1000 Euro. Anna đã bằng cách nào đó làm việc với các phản chứng để
thay đổi kết quả.
Phản chứng là những giải thích thân thiện với con người, bởi vì chúng
trái ngược với thực tế hiện tại và vì chúng có tính chọn lọc, có nghĩa là chúng
thường tập trung vào một số thay đổi nhỏ về tính năng. Nhưng phản chứng
lại bị “hiệu ứng Rashomon”. Rashomon là một bộ phim Nhật Bản kể về vụ
giết hại một Samurai do những người khác nhau kể lại. Mỗi câu chuyện giải
thích kết quả tốt như nhau, nhưng các câu chuyện mâu thuẫn với nhau. Điều
tương tự cũng có thể xảy ra với các phản chứng, vì thường có nhiều cách
giải thích phản chứng khác nhau. Mỗi phản chứng kể một “câu chuyện” khác
nhau về cách đạt được một kết quả nhất định. Một phản chứng có thể nói
thay đổi đặc điểm A, phản chứng khác có thể nói giữ nguyên A nhưng thay
đổi đặc điểm B, đó là một mâu thuẫn. Vấn đề này có thể được giải quyết
bằng cách trình bày tất cả các giải thích phản chứng hoặc dùng một tiêu chí
để đánh giá các phản chứng và chọn giải thích tốt nhất.
Nói về tiêu chí, làm thế nào để chúng ta định nghĩa một giải thích phản
chứng là tốt? Đầu tiên, người sử dụng giải thích phản chứng xác định sự
thay đổi có liên quan trong dự đoán của một mẫu dữ liệu (thực tế ngược -
alternative reality). Một yêu cầu đầu tiên rõ ràng là ta cần một phản chứng
tạo ra dự đoán càng gần với đầu ra định trước càng tốt. Không phải
lúc nào bạn cũng có thể tìm ra phản chứng với đầu ra cho trước. Ví dụ, trong
bài toán phân loại có hai lớp, một lớp hiếm và một lớp phổ thông, mô hình
có thể luôn phân loại một đầu vào là lớp phổ thông. Việc thay đổi các giá
trị tính năng sao cho nhãn được dự đoán sẽ chuyển từ lớp phổ thông sang
lớp hiếm có thể là điều không thể. Do đó, ta muốn nới lỏng yêu cầu rằng dự
đoán phản chứng tế phải khớp chính xác với kết quả được xác định trước.
Trong ví dụ phân loại, chúng ta có thể tìm ra một phản chứng trong đó xác
suất dự đoán của loại hiếm được tăng lên 10% thay vì 2% hiện tại. Câu hỏi
đặt ra là, những thay đổi tối thiểu nào trong các tính năng để xác suất dự
đoán thay đổi từ 2% thành 10% (hoặc gần 10%)? Một tiêu chí chất lượng
khác là phản chứng phải tương đồng nhất có thể với với mẫu dữ liệu
gốc về mặt giá trị đặc trưng. Khoảng cách giữa phản chứng và mẫu dữ
liệu gốc có thể được đo, ví dụ, với khoảng cách Manhattan hoặc khoảng cách
Gower nếu ta có cả các đặc trưng rời rạc và liên tục. Phản chứng không chỉ
nên gần với mẫu dữ liệu gốc mà còn đòi hỏi thay đổi càng ít đặc trưng
càng tốt. Để tính toán chất lượng của một giải thích phản chứng bằng một
thông số cụ thể, ta có thể đơn giản đếm số lượng đặc trưng bị thay đổi, hoặc
dùng giá trị khoảng L0 (chuẩn) giữa phản chứng và mẫu dữ liệu gốc. Thứ ba,
ta thường mong muốn tạo ra nhiều giải thích phản chứng đa dạng để
chủ thể quyết định có thể tiếp cận với nhiều cách khả thi để tạo ra một kết
quả định trước. Ví dụ, tiếp tục ví dụ về khoản vay của, một giải thích phảng
chứng có thể đề xuất tăng gấp đôi thu nhập để được vay, trong khi một giải
thích khác có thể gợi ý chuyển đến một thành phố lân cận và tăng thu nhập
lên một khoản nhỏ để được vay. Có thể lưu ý rằng mặc dù phản chứng đầu
tiên có thể thực hiện được đối với một số người, nhưng phản chứng thứ hai
sẽ khả dĩ hơn rất nhiều. Do đó, bên cạnh việc cung cấp cho chủ thể quyết
định những cách thức khác nhau để có được kết quả mong muốn, sự đa dạng
còn cho phép các cá nhân “đa dạng” thay đổi các đặc trưng thuận tiện cho
họ. Yêu cầu cuối cùng là một phản chứng phải có các giá trị đặc trưng
hợp lý. Sẽ là phi lý nếu tạo ra một giải thích phản chứng cho ví dụ về giá
thuê trong đó diện tích căn hộ là âm hoặc số phòng được đặt thành 200.
Thậm chí còn tốt hơn nếu phản chứng có thể tuân theo phân phối chung của
dữ liệu, ví dụ, một căn hộ có 10 phòng và 20 m2 không nên được coi là phản
chứng (vì diện tích phòng quá nhỏ). Tốt nhất, nếu số mét vuông được tăng
lên, thì việc tăng số lượng phòng cũng nên được đề xuất.

6.1.1 Tạo ra giải thích phản chứng


Một cách tiếp cận đơn giản nhất để tạo ra các giải thích phản chứng đó
là tìm kiếm bằng cách thử và dò lỗi (trial and error). Cách tiếp cận này liên
quan đến việc thay đổi ngẫu nhiên các giá trị đặc trưng của mẫu dữ liệu được
quan tâm và dừng khi đạt được dự đoán đầu ra mong muốn. Như ví dụ khi
Anna cố gắng thay đổi căn hộ của mình để có thể tính thêm tiền thuê. Tuy
nhiên ta cũng có những cách tiếp cận tốt hơn. Đầu tiên, ta xác định một
hàm mất mát dựa trên các tiêu chí đã đề cập ở trên. Hàm mất mát này lấy
đầu vào là mẫu dữ liệu ta đang quan tâm, một phản chứng và đầu ra mong
muốn. Sau đó, chúng ta có thể tìm ra giải thích phản chứng giúp giảm thiểu
tổn thất này bằng cách sử dụng một thuật toán tối ưu. Nhiều phương pháp
tiến hành theo cách này nhưng khác nhau về định nghĩa của hàm mất mát
và phương pháp tối ưu hóa.
Sau đây, chúng ta tìm hiểu hai trong số chúng: thứ nhất, một của Wachter
et al. (2017), người đã giới thiệu giải thích phản chứng như một phương pháp
giải thích và thứ hai, phương pháp của Dandl et al. (2020) sử dụng cả bốn
tiêu chí nêu trên.
Phương pháp của Watcher et al. (2017)

Wachter et al. đề xuất hàm mất mát sau:

Lpx, x1 , y 1 , λq “ λ ¨ pfˆpx1 q ´ y 1 q2 ` dpx, x1 q


Thành phần đầu tiên là khoảng cách bậc hai giữa dự đoán của mô hình
cho phản chứng x1 và kết quả mong muốn y 1 , mà người dùng phải xác định
trước.Thành phần thứ hai là khoảng cách d giữa mẫu dữ liệu x được giải
thích và phản chứng x1 . Sự mất mát đo lường kết quả dự đoán của chứng
khác bao xa so với kết quả được xác định trước và phản chứng khác bao xa
so với mẫu dữ liệu quan tâm. Hàm khoảng cách d được định nghĩa là khoảng
cách Manhattan có trọng số với độ lệch tuyệt đối trung vị nghịch đảo (Inverse
mean absolute deviant - Inverse MAD) của mỗi đặc trưng.
p
1
ÿ |xj ´ x1j |
dpx, x q “
j“1
M ADj

Tổng khoảng cách là tổng của tất cả p khoảng cách theo đặc trưng, tức
là sự khác biệt tuyệt đối của các giá trị đặc trưng giữa mẫu x và mẫu x1 . Các
khoảng cách theo đặc trưng được chia tỷ lệ bởi nghịch đảo của độ lệch tuyệt
đối trung vị của đặc trưng j trên toàn tập dữ liệu được xác định là:

M ADj “ medianiPt1,...,nu p|xi,j ´ medianlPt1,...,nu pxl,j q|q


Trung vị của vectơ là giá trị mà tại đó một nửa giá trị vectơ lớn hơn và
nửa còn lại nhỏ hơn. MAD tương đương với phương sai của một đặc trưng,
nhưng thay vì sử dụng giá trị trung bình làm trung tâm và tính tổng trên
các khoảng cách bình phương, ta sử dụng trung vị làm tâm và tổng trên các
khoảng cách tuyệt đối. Hàm khoảng cách được đề xuất này có ưu điểm so với
khoảng cách Euclide là nó mạnh hơn đối với các điểm ngoại lai. Việc chia tỷ
lệ với MAD là cần thiết để đưa tất cả các đặc trưng về cùng một tỷ lệ - ví dụ
cho dù bạn đo kích thước của một căn hộ theo mét vuông hay mét vuông,
kết quả cũng không thay đổi.
Thông số λ cân bằng khoảng cách của dự đoán (số hạng đầu tiên) với
khoảng cách của các giá trị đặc trưng (số hạng thứ hai). Với mỗi λ, hàm mất
mát trả về một phản chứng x1 khác nhau. λ càng lớn nghĩa là ta muốn phản
chứng có dự đoán gần với kết quả mong muốn y 1 , giá trị λ càn thấp nghĩa
là ta muốn x1 giống với x về mặt các giá trị đặc trưng. Nếu λ rất lớn, mẫu
có dự đoán gần y 1 nhất sẽ được chọn, bất kể nó cách x bao xa. Cuối cùng,
người dùng phải quyết định cách cân bằng giữa yêu cầu rằng dự đoán cho
chứng khớp với kết quả mong muốn với yêu cầu phản chứng giống với x. Các
tác giả của phương pháp đề xuất thay vì chọn một giá trị cho λ thì nên chọn
một giá trị dung sai (tolerance)  cho phép giới hạn khoảng cách từ dự đoán
trên mẫu phản chứng tới y 1 . Ràng buộc này có thể được biểu diễn như sau:

|fˆpx1 q ´ y 1 | ď 
Để tối ưu hàm mất mát này, có thể sử dụng bất kỳ thuật toán tối ưu hóa
phù hợp nào, chẳng hạn như Nelder-Mead. Nếu ta có thể tiếp cận gradient
của mô hình học máy, ta có thể sử dụng các phương pháp tối ưu dựa trên
gradient như ADAM. Mẫu x được giải thích, đầu ra mong muốn y 1 và tham
số dung sai  phải được xác định trước. Hàm mất mát được tối ưu để tìm ra
x1 khi tăng giá trị λ cho đến khi đầu ra nằm giá khoảng giá trị mong muốn
(= trong tham số dung sai):

arg min
1
max Lpx, x1 , y 1 , λq.
x λ

Nhìn chung, các bước để tạo ra phản chứng sẽ như sau:


1. Lựa chọn một mẫu x để giải thích, đầu ra mong muốn y 1 , và giá trị
dung sai  và một giá trị λ đủ nhỏ.
2. Lấy một mẫu bất kỳ làm phản chứng khởi tạo.
3. Tối ưu hàm mất mát với phản chứng khởi tạo là điểm bắt đầu.
4. Khi |fˆpx1 q ´ y 1 | ą :
- Tăng λ.
- Tối ưu mất mát với phản chứng hiện tại là điểm bắt đầu.
- Trả về phản chứng tương ứng với giá trị mất mát nhỏ nhất.
5. Lặp lại các bước số 2 đến 4 và trả về danh sách các phản chứng mà tối
ưu giá trị mất mát.
Phương pháp nêu trên có một số nhược điểm. Nó chỉ tính đến tiêu chí
đầu tiên và tiêu chí thứ hai chứ không tính đến hai tiêu chí cuối cùng (“tạo
ra các phản chứng chỉ với ít thay đổi về đặc trưng và các giá trị đặc trưng là
hợp lệ”). Ta đương nhiên sẽ ưu tiên các phản chứng mà chỉ yêu cầu thay đổi
một đặc trưng lên 10 đơn vị hơn là các phản chứng tăng 10 đặc trưng, mỗi
đặc trưng một đơn vị. Các sự kết hợp phi thực tế của các đặc trưng cũng
không bị trừng phạt trong hàm mất mát kiểu này.
Phương pháp này cũng không thể xử lý tốt với các dữ liệu có dạng hạng
mục với nhiều cấp độ khác nhau. Các tác giả của phương pháp này đề xuất
chạy phương pháp một cách riêng biệt cho từng tổ hợp các giá trị đặc trưng
của các đặc trưng hạng mục, nhưng điều này sẽ dẫn đến sự bùng nổ về số
lượng tổ hợp nếu ta có nhiều đặc trưng hạng mục với nhiều giá trị. Ví dụ: 6
đặc trưng hạng mục với 10 cấp độ có thể dẫn tới 1 triệu lượt chạy.
Bây giờ chúng ta hãy xem xét một cách tiếp cận khác để khắc phục những
vấn đề này.

Phương pháp của Dandl et al. (2020)

Dandl et al. đề xuất tối ưu cùng lúc 4 hàm mất mát:

Lpx, x1 , y 1 , X obs q “ o1 pfˆpx1 q, y 1 q, o2 px, x1 q, o3 px, x1 q, o4 px1 , X obs q


` ˘

Mỗi hàm mất mát từ o1 tới o4 tương ứng với một trong 4 tiêu chí nêu
trên. Hàm mất mát đầu tiên o1 phản ánh tiêu chí rằng dự đoán trên phản
chứng x1 nên gần giống với giá trị y 1 mong muốn. Do đó, ta cần tối ưu khoảng
cách giữa fˆpx1 q và y 1 . Ở đây ta sử dụng công thức Manhattan (chuẩn L1 ).
$
&0 if fˆpx1 q P y 1
o1 pfˆpx q, y q “
1 1
% inf
1 1
|fˆpx1 q ´ y 1 | else
y Py

Hàm mục tiêu o2 phản ánh rằng phản chứng của ta nên gần giống với
mẫu dữ liệu x. Điều này được thể hiện bởi khoảng cách giữa x1 và x theo
khoảng cách Gower:

p
1 1ÿ
o2 px, x q “ δG pxj , x1j q
p j“1

với p là số lượng đặc trưng. Giá trị δG phụ thuộc vào loại đặc trưng của
xj :
$
& 1 |xj ´ x1 | if xj numerical
j
δG pxj , xj q “ Rj
1 p
%I
xj ‰x1j if xj categorical

Ở đây đặc trưng dạng số là numerical và dạng hạng mục là categorical.


Ta chia khoảng cách của một đặc trưng dạng số j cho R pj , là dải giá trị, và
thu được giá trị δG cho tất cả các đặc trưng giữa 0 và 1.
Khoảng cách Gower có thể dùng cho cả cả đặc trưng dạng số và hạng
mục, nhưng không cân nhắc đến số lượng đặc trưng bị thay đổi. Do đó, ta
tính số lượng đặc trưng bị thay đổi bằng hàm mục tiêu o3 sử dụng chuẩn L0 .
p
ÿ
1 1
o3 px, x q “ ||x ´ x ||0 “ Ix1j ‰xj .
j“1

Bằng cách tối ưu o3 , ta hướng tới tiêu chí thứ ba - số lượng đặc trưng bị
thay đổi ít.
Hàm mục tiêu thứ tư o4 phản ánh rằng phản chứng của ta nên có các giá
trị đặc trưng hoặc các tổ hợp hợp lý. Ta có thể tính toán “độ hợp lý” của một
mẫu dữ liệu bằng cách sử dụng tập huấn luyện hoặc một tập dữ liệu bất kỳ.
Đặt tập dữ liệu này tên là X obs . Như một phép xấp xỉ độ hợp lý (likelihood),
o4 tính toán khoảng cách Gower trung bình giữa x1 và mẫu dữ liệu quan sát
gần nhất xr1s P X obs .
p
1 1ÿ
obs r1s
o4 px , X q “ δG px1j , xj q
p j“1

So sánh với phương pháp của Wachter et al. thì Lpx, x1 , y 1 , X obs q không
có tham số cân bằng λ. Ta không muốn gộp cả bốn hàm mục tiêu này thành
một bằng cách cộng tổng và nhân trọng số chúng, điều ta muốn là tối ưu tất
cả bốn hàm mục tiêu này cùng một lúc.
Làm thế nào chúng ta có thể làm được điều đó? Ta sử dụng thuật toán di
truyền sắp xếp không thống trị (Nondominated Sorting Genetic Algorithm)
hoặc ngắn gọn hơn là NSGA-II. NSGA-II là một thuật toán lấy cảm hứng
từ việc áp dụng định luật của Darwin về chọn lọc tự nhiên (survival of the
fittest). Ta biểu diễn mức độ “mạnh” của một phản chứng bằng một vectơ
chứa giá trị của các hàm mục tiêu po1 , o2 , o3 , o4 q. Phản chứng càng có giá trị
vector thấp thì nó càng mạnh.
Thuật toán bao gồm bốn bước lặp đi lặp lại cho tới khi các với điều kiện
nhất định (ví dụ số lượng vòng lặp/tạo). Hình sau đây trực quan hóa 4 bước
cho việc tạo ra phản chứng.

Hình 6.2: Các bước tạo ra phản chứng sử dụng thuật toán NSGA-II.

Trong lần tạo phản chứng thứ nhất, một nhóm các ứng viên cho phản
chứng được khởi tạo bằng cách thay đổi ngẫu nhiên một số đặc trưng so với
mẫu x đang được giải thích. Theo ví dụ về tín dụng ở trên, một phản chứng
có thể đề xuất tăng thu nhập thêm 30.000 Euro trong khi một đối tượng
khác đề xuất không có vỡ nợ trong 5 năm qua và giảm 10 tuổi. Tất cả các
giá trị đặc trưng khác đều bằng giá trị của x. Mỗi ứng viên sau đó được đánh
giá bằng cách sử dụng bốn hàm mục tiêu ở trên. Trong số đó, ta chọn ngẫu
nhiên một số ứng viên, trong đó các ứng viên có độ mạnh lớn hơn có nhiều
khả năng được chọn hơn. Các ứng cử viên được kết hợp lại theo cặp để tạo
ra những phản chứng con giống với chúng bằng cách lấy trung bình các giá
trị đặc trưng số của chúng hoặc bằng cách loại bỏ các đặc trưng dạng hạng
mục. Ngoài ra, ta thay đổi một chút các giá trị đặc trưng của phản chứng
con để khám phá toàn bộ không gian đặc trưng.
Từ hai nhóm được sinh ra, gồm một phản chứng cha và một phản chứng
con, ta chỉ muốn một nửa tốt nhất bằng cách sử dụng hai thuật toán sắp xếp.
Thuật toán sắp xếp NSGA sắp xếp các ứng viên theo các giá trị của hàm mục
tiêu po1 , o2 , o3 , o4 q (objective values) của chúng. Nếu các ứng viên mạnh như
nhau, thuật toán phân bố đều mật độ ước lượng (crowding distance sorting
algorithm) sẽ sắp xếp các ứng viên theo mức độ đa dạng của chúng.
Với kết quả của hai thuật toán sắp xếp, ta chọn một nửa lượng ứng cử
viên có triển vọng nhất và/hoặc đa dạng nhất. Ta lại sử dụng tập ứng viên
này cho lần tạo phản chứng tiếp theo và bắt đầu lại với quá trình chọn lọc,
tái tổ hợp và biến đổi. Bằng cách lặp đi lặp lại các bước, ta hy vọng sẽ có
được một tập hợp đa dạng các ứng viên triển vọng với giá trị của hàm mục
tiêu thấp. Từ bộ này, ta có thể chọn những phản chứng mà ta hài lòng nhất
hoặc có thể đưa ra một bản tóm tắt về tất cả các phản chứng bằng cách đánh
dấu những tính năng nào và tần suất đã được thay đổi.

6.1.2 Ví dụ
Ví dụ dưới đây dựa trên ví dụ về điểm tín dụng trong Dandl et al. (2020).
Tập dữ liệu German Credit có thể được tìm thấy tại trang Kaggle. Các tác
giả đã huấn luyện một mô hình SVM với nhân bán kính cơ sở (radial basis
kernel) để dự đoán độ rủi ro tín dụng của một khách hàng. Tập dữ liệu này
có 522 mẫu hoàn chỉnh và 9 đặc trưng chứa thông tin tín dụng và khách
hàng. Mục tiêu là tìm ra các giải thích phản chứng (counterfactual) cho một
khách hàng với các giá trị đặc trưng trong bảng 6.1.

Bảng 6.1: Giá trị đặc trưng của một mẫu dữ liệu.
age sex job housing savings checking amount duration purpose
58 f unskilled free little little 6143 48 car

Mô hình SVM dự đoán rằng phụ nữ có rủi ro tín dụng thấp với xác suất
24,2%. Các phản chứng nên trả lời câu hỏi: Các đặc trưng đầu vào cần phải
thay đổi như thế nào để có xác suất dự đoán lớn hơn 50%? Bảng 6.2 chứa 10
phản chứng tốt nhất:
Năm cột đầu tiên chứa các đề xuất thay đổi đặc trưng (chỉ các đặc trưng
đã thay đổi được hiển thị), ba cột tiếp theo hiển thị các giá trị của hàm mục
tiêu (objective values) (o1 bằng 0 trong mọi trường hợp) và cột cuối cùng
hiển thị xác suất dự đoán.
Tất cả các phản chứng đều có xác suất dự đoán lớn hơn 50% và không
chi phối lẫn nhau. Sự không chi phối (non-dominated) có nghĩa là không có
phản chứng nào mà giá trị của cả 4 hàm mục tiêu đều nhỏ hơn 4 giá trị tương
ứng của một phản chứng khác. Chúng ta có thể coi các phản chứng như một
tập hợp các giải pháp mang tính đánh đổi (trade-off solutions).
Tất cả đều đề xuất giảm thời hạn từ 48 tháng xuống tối thiểu 23 tháng,
một số đề xuất rằng người vay nên có tay nghề cao. Một số phản chứng còn
đề nghị thay đổi giới tính từ nữ sang nam, cho thấy mô hình thiên vị giới
tính. Sự thay đổi này luôn đi kèm với việc giảm tuổi trong khoảng từ 1 đến
Bảng 6.2: 10 phản chứng tốt nhất.
age sex job amount duration o2 o3 o4 fˆpx1 q
skilled -20 0.108 2 0.036 0.501
skilled -24 0.114 2 0.029 0.525
skilled -22 0.111 2 0.033 0.513
-6 skilled -24 0.126 3 0.018 0.505
-3 skilled -24 0.120 3 0.024 0.515
-1 skilled -24 0.116 3 0.027 0.522
-3 m -24 0.195 3 0.012 0.501
-6 m -25 0.202 3 0.011 0.501
-30 m skilled -24 0.285 4 0.005 0.590
-4 m -1254 -24 0.204 4 0.002 0.506

30 tuổi. Chúng ta có thể thấy mặc dù một số phản chứng đề xuất thay đổi
đối với cả 4 đặc trưng, nhưng các phản chứng này rất gần với mẫu ta đang
xét trong bảng 6.1.

6.1.3 Ưu điểm
Việc giải thích bằng phản chứng rất rõ ràng. Nếu các giá trị đặc
trưng của một đối tượng được thay đổi theo phản chứng, thì dự đoán sẽ thay
đổi thành dự đoán đã xác định trước (predefined prediction). Do không có
thêm giả định, mô hình không có rủi ro như các phương pháp như LIME,
trong đó chúng ta không rõ chúng ta nên ngoại suy mô hình cục bộ bao xa
để tạo tính khả giải thích.
Phương pháp phản chứng tạo ra một mẫu dữ liệu (instance) mới, nhưng
ta cũng có thể tổng quan hóa một phản chứng thông qua các đặc trưng đã bị
thay đổi. Điều này cung cấp hai lựa chọn cho việc diễn giải kết quả. Ta
có thể diễn giải mẫu dữ liệu phản chứng hoặc đánh dấu các đặc trưng nào
đã được thay đổi giữa mẫu dữ liệu quan tâm và mẫu dữ liệu phản chứng.
Phương pháp phản chứng không yêu cầu quyền truy cập vào dữ
liệu hoặc mô hình. Nó chỉ yêu cầu truy nhập vào hàm dự đoán của mô
hình. Ví dụ, hàm dự đoán hoạt động thông qua API web. Điều này có ích cho
các công ty được kiểm toán bởi bên thứ ba hoặc giải thích cho người dùng
mà không tiết lộ mô hình hoặc dữ liệu. Công ty quan tâm đến việc bảo vệ mô
hình và dữ liệu vì bí mật thương mại hoặc lý do bảo vệ dữ liệu. Giải thích
phản chứng đưa ra sự cân bằng giữa giải thích các dự đoán của mô hình và
bảo vệ lợi ích của chủ sỡ hữu mô hình.
Phương pháp này cũng hoạt động với các hệ thống không sử
dụng học máy. Chúng ta có thể tạo phản chứng cho bất kỳ hệ thống nào
nhận đầu vào và trả đầu ra. Hệ thống dự đoán giá thuê căn hộ cũng bao gồm
các đặc trưng thủ công và các giải thích phản chứng vẫn hoạt động được tốt.
Phương pháp giải thích phản chứng tương đối dễ thực hiện. Vì
nó về cơ bản là một hàm mất mát (loss function) (với một hoặc nhiều mục
tiêu) có thể được tối ưu hóa với các gói tối ưu hóa tiêu chuẩn. Một số chi
tiết có thể bổ sung như giới hạn giá trị đặc trưng trong khoảng có ý nghĩa
(ví dụ: kích thước căn hộ trong khoảng số dương).

6.1.4 Nhược điểm


Đối với mỗi trường hợp, bạn thường sẽ tìm thấy nhiều lời giải
thích phản chứng (hiệu ứng Rashomon). Hầu hết mọi người cần lời giải
thích đơn giản hơn là phức tạp trong thế giới thực. Đó cũng là một thách
thức. Giả sử ta đã tạo ra 23 giải thích phản chứng cho một mẫu dữ liệu. Liệu
chúng ta đã báo cáo tất cả? Liệu ta đã báo cáo kết quả tốt nhất? Điều gì sẽ
xảy ra nếu tất cả đều tương đối “tốt”, nhưng rất khác nhau? Những câu hỏi
này phải được trả lời riêng cho mỗi tình huống. Việc có nhiều giải thích phản
chứng có thể có lợi, bởi vì sau đó ta có thể chọn lại những giải thích tương
ứng với tình huống trước đây.

6.1.5 Phần mềm và các phương pháp khác


Phương pháp giải thích phản chứng đa mục tiêu (multi-objective coun-
terfactual explanation) của Dandl et al. được triển khai trên Github.
Trong gói Python, các tác giả từ Alibi đã triển khai một phương pháp
phản chứng đơn giản với một phương pháp mở rộng sử dụng các lớp nguyên
mẫu để cải thiện tính khả diễn giải và hội tụ của đầu ra thuật toán.
Karimi et al. (2019) triển khai thuật toán MACE trên Github. Họ đã dịch
các tiêu chí cần thiết cho các phản chứng thích hợp thành các công thức logic
và sử dụng các bộ giải thỏa mãn (satisfiability solvers) để tìm ra các phản
chứng thỏa mãn.
Mothilal et al. (2020) đã phát triển DiCE (Giải thích phản chứng đa dạng)
(Diverse Counterfactual Explanation) để tạo ra một tập hợp đa dạng các giải
thích phản chứng dựa trên các quá trình điểm định thức (determinantal point
processes). Hiện tại, DiCE chỉ hoạt động cho các mô hình có thể đạo hàm
(differentiable models) được vì nó sử dụng gradient descent để tối ưu hóa.
Một cách khác để tìm kiếm phản chứng là thuật toán Hình cầu phát triển
(Growing Spheres) của Laugel et. al (2017). Họ không sử dụng từ phản chứng
trong bài báo của họ, nhưng phương pháp khá giống nhau. Họ cũng xác định
một hàm mất mát ưu tiên các phản chứng với càng ít thay đổi trong các
giá trị đặc trưng càng tốt. Thay vì trực tiếp tối ưu hóa hàm số, trước tiên
họ đề xuất vẽ một hình cầu xung quanh điểm quan tâm, lấy mẫu các điểm
trong hình cầu đó và kiểm tra xem một trong các điểm lấy mẫu có mang lại
dự đoán mong muốn hay không. Sau đó, ta thu nhỏ hoặc mở rộng hình cầu
tương ứng cho đến khi tìm thấy một phản chứng.
Neo (Anchors) của Ribeiro et. al (2018) đi ngược lại với các phản chứng,
xem chương về các quy tắc phạm vi (Scoped Rules).
6.2 Các mẫu dữ liệu đối kháng - Adversarial
examples
Một mẫu dữ liệu đối kháng là một mẫu có các thay đổi nhỏ trong giá trị
đặc trưng có chủ đích nhằm đánh lừa mô hình học máy. Khuyến khích bạn
đọc trước chương Giải thích phản chứng (chương 6.1), vì hai loại dữ liệu này
khá tương đồng. Các mẫu dữ liệu đối kháng chính là các mẫu dữ liệu phản
chứng với mục đích đánh lừa mô hình mà không phải để giải thích.
Tại sao chúng ta cần quan tâm đến các mẫu dữ liệu đối kháng? Các mẫu
dữ liệu đối kháng làm cho mô hình học máy “dễ bị tổn thương” (vulnerable),
như trong các kịch bản sau đây.
- Một xe hơi tự lái tông vào một chiếc xe khác vì nó bỏ qua một biển báo
dừng (stop sign). Một ai đó đã đặt một hình khác lên trên cái biển báo, lúc
này biển báo vẫn có thể nhận diện bởi mắt người chỉ có điều có thêm một
chút đất bẩn. Trên thực tế, nó được thiết kế cho phần mềm nhận diện biển
báo của xe hơi tự hành.
- Một bộ phát hiện thư rác không thể phân loại thư giác. Các thư rác
này được thiết kế giống như một email bình thường, nhưng với ý đồ lừa đảo
người nhận.
- Một máy quét chạy bằng học máy quét các vali để tìm vũ khí tại sân
bay. Một con dao đã được tạo nên trông giống một chiếc ô để tránh sự nhận
diện của hệ thống.
Chúng ta hãy xem xét một số cách để tạo ra các mẫu dữ liệu đối kháng.

6.2.1 Các phương pháp và ví dụ


Có nhiều phương pháp để tạo ra các mẫu dữ liệu đối kháng. Hầu hết
các cách tiếp cận đề xuất việc tối thiểu hóa khoảng cách giữa mẫu dữ liệu
đối kháng và mẫu gốc, trong khi thay đổi dự đoán thành các kết quả mong
muốn (đối kháng). Một số phương pháp yêu cầu can thiệp đến gradient của
mô hình, và tất nhiên chỉ hoạt động trên các mô hình dựa trên gradient như
các mạng nơ-ron. Những phương pháp khác chỉ yêu cầu can thiệp đến hàm
dự đoán, hoạt động trên các phương pháp mô hình mẫu (model-agnostic).
Các phương pháp trong phần này tập trung vào bài toán phân loại hình ảnh
với mạng nơ-ron sâu. Các mẫu dữ liệu đối kháng cho hình ảnh là các hình
ảnh với pixel nhiễu có chủ ý với mục đích đánh lừa mô hình. Các mẫu dữ
liệu đối kháng chứng minh rằng các mạng nơ-ron sâu có thể bị đánh lừa dễ
dàng như thế nào bởi các hình ảnh mà tưởng chừng như bình thường với con
người. Nếu bạn chưa bao giờ nhìn thấy các mẫu dữ liệu như vậy, bạn có thể
bị bất ngờ, bởi vì sự thay đổi trong các dự đoán là khó có thể nhận biết đối
với quan sát của con người. Các mẫu dữ liệu đối kháng giống như là ảo ảnh
quang học với máy móc.

Có thứ gì đó không đúng với chú chó của tôi Szegedy et al. (2013)
đã sử dụng phương pháp tối ưu dựa trên gradient trong bài báo “Intriguing
properties of neural networks” để tìm các mẫu dữ liệu đối kháng cho các
mạng học sâu trong hình 6.2.1
Các mẫu dữ liệu đối kháng này được sinh ra bởi tối thiểu hóa hàm nhiễu
sau với r:

losspfˆpx ` rq, lq ` c ¨ |r|

Trong công thức này, x là hình ảnh (đại diện bởi một vector của các
pixel), r là sự thay đổi đối với các pixel đó để tạo ra một hình ảnh đối kháng
(x ` r tạo ra một hình mới), l là dự đoán mong muốn, và tham số c được sử
dụng để làm cân bằng khoảng cách giữa các hình ảnh và khoảng cách giữa
các dự đoán. Biểu thức thứ nhất là khoảng cách giữa dự đoán đầu ra trên
mẫu dữ liệu đối kháng với lớp l mong muốn, biểu thức thứ hai đo khoảng
cách giữa mẫu dữ liệu đối kháng với ảnh gốc. Công thức trên hầu như giống
với hàm mất mát để tạo ra các giải thích phản chứng. Có thêm một số ràng
buộc cho r để các giá trị pixel nằm giữa 0 và 1. Tác giả đề xuất để giải quyết
bài toán tối ưu này bằng phương pháp L-BFGS, một thuật toán tối ưu hoạt
động với các gradient.

Xáo trộn gấu trúc: Fast gradient sign method) Goodfellow et al.
(2014) đã phát minh ra phương pháp FGSM cho việc sinh ra các hình ảnh
đối kháng. Phương pháp này sử dụng gradient của mô hình gốc để tìm mẫu
dữ liệu đối kháng. Hình ảnh gốc x được thay đổi bởi việc thêm hoặc bớt đi
một nhiễu nhỏ e cho mỗi pixel. Việc ta thêm hoặc bớt e phụ thuộc vào dấu
của gradient cho các pixel là dương hoặc âm. Thêm các nhiễu theo hướng
của gradient nhằm mục đích làm cho mô hình phân loại sai hình ảnh đó.
Hình 6.3: Các mẫu dữ liệu đối kháng đối với với mạng AlexNet bởi Szegedy
et al. (2013). Tất cả hình trên cột trái là đã được phân loại chính xác. Cột
giữa hiển thị nhiễu được thêm vào hình ảnh để tạo thành các hình trong
cột phải, tất cả được phân loại (không chính xác) là “Đà điểu”. “Intriguing
properties of neural networks”.

Công thức dưới đây mô tả FGSM:

x1 “ x `  ¨ signp5x Jpθ, x, yqq

Trong đó 5x J là gradient của hàm mất mát của mô hình tương ứng với
vector pixel đầu vào x, y là vector nhãn đúng cho x và θ là vector trọng số
mô hình. Từ vector gradient (cùng có kích thước giống như vector của các
pixel đầu vào) ta chỉ cần dấu: Dấu của gradient là dương (+1) nếu sự tăng
cường độ pixel làm tăng giá trị hàm mất mát (độ lệch mà mô hình tạo ra)
và âm (-1) nếu sự giảm đi của cường độ pixel làm giảm hàm mất mát. Mô
hình dễ bị tấn công khi một mạng nơ-ron coi mối quan hệ giữa cường độ
pixel đầu vào và đầu ra là tuyến tính. Đặc biệt, các kiến trúc mạng nơ-ron
thiên về tuyến tính, như là LSTMs, mạng Maxout, mạng với hàm kích hoạt
là ReLU hay các thuật toán học máy tuyến tính khác như hồi quy tuyến tính
là dễ bị tấn công bởi phương pháp FGSM. Sự tấn công được thực hiện bởi
phép ngoại suy. Liên kết tuyến tính giữa cường độ pixel đầu vào và đầu ra là
nguyên nhân của việc các mô hình dễ bị tấn công bởi các ngoại lai (outlier),
mẫu dữ liệu mà có thể được tạo ra bằng cách dịch chuyển giá trị pixel vào
khu vực ngoài vùng phân phối dữ liệu hiện tại. Tôi mong rằng các mẫu dữ
liệu đối kháng là chuyên biệt cho các kiến trúc mạng nơ-ron, nghĩa là chỉ một
vài kiến trúc mạng bị đánh lừa bởi chúng. Nhưng hóa ra, ta có thể tái sử
dụng các mẫu dữ liệu đối kháng để đánh lừa mạng với một kiến khác được
huấn luyện trên cùng một nhiệm vụ (ví dụ phân loại hình ảnh).
Goodfellow et al. (2014) đã đề xuất việc thêm các mẫu dữ liệu đối kháng
vào dữ liệu huấn luyện để tăng sức mạnh của mô hình.

Một con sứa... Không, chờ đã. Là một bồn tắm: Tấn công trên 1
pixel Phương pháp được phát minh bởi Goodfellow et al. (2014) yêu cầu
nhiều pixel thay đổi cùng lúc một lượng nhỏ. Nhưng chuyện gì xảy ra nếu ta
chỉ có thể thay đổi một pixel duy nhất? Ta có khả năng đánh lừa mô hình
học máy không? Su et al. (2019) đã chỉ ra rằng thực chất có thể đánh lừa
việc phân loại hình ảnh bằng cách thay đổi duy nhất một pixel.

Hình 6.4: Bằng việc thay đổi chủ ý một pixel, một mạng nơ-ron đã huấn
luyện trên ImageNet có thể bị đánh lừa để dự đoán sai lớp thay vì lớp đúng
ban đầu.
Tương tự như các phản chứng, tấn công trên 1-pixel tìm một mẫu dữ liệu
x1 mà nó gần với hình ảnh gốc x, nhưng thay dự đoán tới một đầu ra đối
kháng. Tuy nhiên, định nghĩa của việc “gần” là khác: chỉ một pixel có thể
thay đổi. Tấn công trên 1-pixel sử dụng phép vi phân để tìm ra pixel nào
được thay đổi và cách thay đổi. Phép vi phân này được lấy cảm hứng từ tiến
hóa sinh học của các loài. Một nhóm các ứng viên cho pixel được sửa đổi
được tái tổ hợp liên tục cho đến khi đáp án được tìm ra. Mỗi ứng viên ứng
với một pixel bị thay đổi và nó được thể hiện bởi một vector với 5 thành
phần: giá trị trục x, y và màu đỏ, xanh lá cây và xanh da trời (RGB). Việc
tìm kiếm bắt đầu với 400 ứng cử viên và tạo ra một thế hệ các giải pháp ứng
cử viên (con) mới từ thế hệ cha sử dụng công thức sau đây:

xi pg ` 1q “ xr1 pgq ` F ¨ pxr2 pgq ´ xr3 pgqq

Trong đó xi là một thành phần của một ứng viên (có thể là toạ độ x, tọa
độ y, đỏ, xanh lá cây và xanh da trời), g là thế hệ hiện tại, F là tham số tỷ
lệ (được chọn là 0.5) và r1, r2 và r3 là các con số ngẫu nhiên khác nhau. Mỗi
giải pháp trả con mới bao gồm 5 thuộc tính cho tọa độ và màu, mỗi thuộc
tính đó là sự pha trộn từ ba pixel cha ngẫu nhiên.
Việc tạo ra các ứng viên con được dừng lại nếu một trong ứng cử viên là
một mẫu dữ liệu đối kháng, nghĩa là nó đã được phân loại sai, hoặc nếu số
vòng lặp được chỉ định bởi người lập trình được đạt đến.

Tất cả đều là máy nướng bánh: Mảng đối kháng (adversarial patch)
Một trong những phương pháp ưa thích của tôi mang các mẫu đối kháng vào
đời thực. Brown et al. (2017) đã thiết kế một mảng có thể đính vào bên cạnh
các vật thể để một bộ phân loại hình ảnh luôn phân loại chúng là các máy
nướng bánh.
Phương pháp này khác xa với các phương pháp khác cho các mẫu dữ liệu
đối kháng, do ràng buộc rằng mẫu đối kháng phải rất gần với ảnh gốc được
loại bỏ. Thay vào đó, phương pháp này hoàn toàn thay thế một phần của
ảnh gốc với một mảng có hình dạng bất kỳ. Mảng được tối ưu trên các ảnh
nền (background images) khác nhau, với vị trí khác nhau mảng trên ảnh nền
(đôi lúc bị dịch, đôi lúc lại lớn hơn hay nhỏ hơn và bị xoay nên mảng hoạt
động được trong nhiều tình huống khác nhau). Cuối cùng, hình ảnh tối ưu
này có thể được in ra và sử dụng để đánh lừa các bộ phân loại hình ảnh trong
thực tế.
Hình 6.5: Một mảng làm cho mạng VGG16 huấn luyện trên tập ImageNet
phân biệt ảnh quả chuối thành máy nướng bánh.

Đừng bao giờ mang một con rùa in 3D đến một trận đấu súng,
thậm chí cả khi máy tính của ta cho đó là một ý tưởng tuyệt vời:
Các mẫu dữ liệu đối kháng linh hoạt Phương pháp tiếp theo về bản
chất chỉ là ta thêm một thành phần vào trong mảng đối kháng. Athalye et
al. (2017) đã in ra một con rùa 3D được thiết kế trông giống như một khẩu
súng trường đối với mạng nơ-ron sâu khi nhìn từ mọi góc cạnh. Đúng vậy,
bạn đọc đúng rồi đấy. Một vật trông giống như một con rùa đối với con người
lại trông giống như một khẩu súng trường đối với máy tính!
Các tác giả đã tìm ra cách để tạo các mẫu đối kháng 3D cho các bộ phân
loại làm việc trên ảnh 2D, đó là đối kháng dựa trên các biến đổi, ví dụ như
xoay, phóng to... Các phương pháp khác như FGSM không hoạt động khi
hình ảnh bị xoay hoặc hiển thị ở các góc khác nhau. Athalye et al. (2017)
đề xuất thuật toán Expection Over Transformation (EOT), là một phương
pháp sinh ra các mẫu dữ liệu đối kháng mà vẫn có thể hoạt động khi các
hình ảnh bị biến đổi. Ý tưởng chính đằng sau EOT là tối ưu hóa các mẫu dữ
liệu đối kháng qua nhiều biến đổi nhất có thể. Thay vì tối thiểu hóa khoảng
cách giữa các mẫu dữ liệu đối kháng và hình ảnh gốc, EOT giữ cho khoảng
cách kỳ vọng giữa hai mẫu này dưới một ngưỡng nhất định khi cho trước
một phân phối của các biến đổi (distribution of possible transformations).
Khoảng cách kỳ vọng theo biến đổi có thể được viết lại như sau:
Hình 6.6: Athalye et al. (2017) đã tạo ra một vật in 3D được nhận diện
trông giống như một khẩu súng bởi bộ phân loại InceptionV3 huấn luyện
trên Tensorflow.

Et„T rdptpx1 q, tpxqqs

Trong đó x là hình ảnh gốc, tpxq là hình ảnh đã qua biến đổi (ví dụ: xoay),
x1 là mẫu dữ liệu đối kháng và tpx1 q là phiên bản biến đổi của x1 . Bên cạnh
làm việc với phân phối của các biến đổi, EOT cũng dùng các phương pháp
tối ưu để tìm ra các mẫu dữ liệu đối kháng. Chúng ta cố gắng tìm một mẫu
dữ liệu đối kháng x1 mà cực đại hóa xác suất cho lớt yt (ví dụ: súng trường)
trên toàn bộ phân phối của các biến đổi T có thể:

arg max
1
Et„T rlogP pyt |tpx1 qqs
x

Với ràng buộc rằng khoảng cách kỳ vọng trên toàn bộ biến đổi có thể
giữa mẫu dữ liệu đối kháng x1 và hình ảnh gốc s duy trì ở dưới một ngưỡng
nhất định.

Et„T rdptpx1 q, tpxqqs ă  and x P r0, 1sd


Tôi nghĩ rằng ta nên cân nhắc phương pháp này. Các phương pháp khác
dựa trên các biến đổi của hình ảnh kỹ thuật số. Tuy nhiên, những hình in 3D
này, các mẫu dữ liệu đối kháng linh hoạt có thể được chèn vào bất cứ trường
hợp thực tế nào và đánh lừa máy tính để phân loại sai đối tượng. Hãy để tôi
chỉ ra vấn đề: Sẽ ra sao nếu ai đó tạo ra một khẩu súng nhưng lại giống như
một con rùa?

Đối thủ bịt mắt (The blindfolded adversary): Tấn công hộp đen
Hãy hình dung theo kịch bản sau: Tôi đưa cho bạn truy cập vào bộ phân
loại tốt nhất của tôi thông qua Web API. Bạn có thể lấy các dự đoán từ mô
hình, nhưng bạn không có quyền can thiệp vào các trọng số mô hình. Từ đó,
bạn có thể gửi dữ liệu lên và mô hình của tôi trả về các kết quả tương ứng.
Hầu hết các phương pháp tấn công dùng mẫu dữ liệu đối kháng không được
thiết kế để hoạt động trong kịch bản này bởi vì chúng yêu cầu truy cập vào
gradient của mạng nơ-ron sâu để tìm các mẫu dữ liệu đối kháng. Papernot
et al. (2017) đã chỉ ra rằng nó hoàn toàn có thể tạo ra các mẫu dữ liệu đối
kháng mà không cần thông tin bên trong của mô hình và không cần truy cập
vào dữ liệu huấn luyện. Đây là kiểu tấn công vô thức (zero-knowledge), hay
còn được gọi là tấn công hộp đen.
Nó làm việc như thế nào:
1. Bắt đầu với một vài hình ảnh nằm trong phân phối của dữ liệu huấn
luyện. Ví dụ, nếu bộ phân loại đang bị tấn công là một bộ phân loại chữ số
(từ 0 đến 9), ảnh được sử dụng cũng nên là các ảnh chữ số. Ta cần biết về
miền dữ liệu huấn luyện, nhưng không cần thiết truy cập chúng.
2. Lấy dự đoán cho tập hình ảnh hiện tại từ mô hình hộp đen đó.
3. Huấn luyện một mô hình đại diện (surrogate model) trên tập dữ liệu
ảnh hiện tại.
4. Tạo ra một tập dữ liệu ảnh nhân tạo mới bằng việc thay đổi các pixel
trên các hình ảnh này để làm mô hình có phương sai lớn hơn (more variance).
5. Lặp lại các bước 2 đến 4 cho một số epochs nhất định.
6. Tạo ra các mẫu dữ liệu đối kháng từ mô hình đại diện sử dụng phương
pháp FGSM (hoặc tương tự).
7. Tấn công mô hình ban đầu với các mẫu dữ liệu đối kháng.
Mục đích của mô hình đại diện là xấp xỉ ranh giới quyết định (decision
boundaries) của mô hình hộp đen, nhưng không cần thiết đạt độ chính xác
tương đương.
Các tác giả đã kiểm thử cách tiếp cạnh này bằng cách tấn công các bộ
phân loại được huấn luyện trên một số dịch vụ học máy đám mây (cloud
machine learning services). Những dịch vụ này huấn luyện bộ phân loại hình
ảnh trên dữ liệu và nhãn mà người dùng tải lên. Phần mềm huấn luyện mô
hình tự động, đôi khi bằng một thuật toán mà người dùng không biết và
triển khai nó. Bộ phân loại có thể cho các dự đoán cho các hình ảnh được
đăng tải lên, nhưng chính mô hình đó lại không thể được kiểm soát hoặc tải
về. Các tác giả đã tìm ra các mẫu dữ liệu đối kháng cho rất nhiều mô hình
kiểu đám mây, và lên đến 84% các mẫu dữ liệu đối kháng được phân loại sai
lớp.
Phương pháp trên thậm chí làm việc cả khi mô hình hộp đen không phải
là một mạng nơ-ron. Chúng bao hàm những mô hình học máy mà không có
gradient ví dụ như cây quyết định.

6.2.2 Góc nhìn bảo mật an ninh


Học máy xử lý vấn đề: Dự đoán các điểm dữ liệu mới từ một phân phối
đã biết. Hệ thống phòng thủ trước các tấn công đối kháng xử lý vấn đề: Dự
đoán một cách linh hoạt các điểm dữ liệu mới từ một phân phối chưa biết
của các đầu vào đối kháng (adversarial inputs). Vì học máy được tích hợp
vào càng nhiều hệ thống, như xe tự hành hay thiết bị y tế, nên chúng cũng
đang là các trọng điểm của các cuộc tấn công. Thậm chí nếu các dự đoán
của mô hình học máy trên tập dữ liệu kiểm thử là chính xác 100%, thì các
mẫu dữ liệu đối kháng vẫn có thể được tìm thấy để đánh lừa mô hình. Việc
bảo vệ các mô hình học máy chống lại các cuộc tấn công mạng là một lĩnh
vực mới của an ninh mạng.
Biggio et. at (2018) đã nhận xét về học máy đối kháng (adversarial ma-
chine learning), và phần này sẽ thảo luận về nhận xét đó. An ninh mạng là
một cuộc chạy đua vũ trang mà người tấn và kẻ phòng thủ đánh lừa nhau
hết lần này đến lần khác.
Có ba nguyên tắc vàng trong an ninh mạng: 1) Biết về đối thủ
của bạn 2) Chủ động và 3) Tự bảo vệ chính mình.
Các ứng dụng khác nhau có các đối thủ khác nhau. Những kẻ cố gắng lừa
gạt người khác qua email để lấy tiền của họ là đối của người dùng và nhà
cung cấp dịch vụ email. Những người cung cấp dịch vụ muốn bảo vệ người
dùng của họ, để họ tiếp tục sử dụng dịch vụ mail, những kẻ tấn công thì
muốn người khác đưa chúng tiền. Hiểu về các bất lợi bạn gặp phải nghĩa là
biết về mục đích của chúng. Giả sử rằng bạn không biết các thư rác đó tồn
tại và phiền hà duy nhất gặp phải chỉ là việc chúng lạm dụng dịch vụ email
để gửi các bản nhạc lậu, thì hệ thống phòng thủ sẽ phải khác đi (ví dụ: quét
các tệp đính kèm để xem xét bản quyền thay vì phân tích văn bản).
Tính chủ động nghĩa là chủ động kiểm thử và xác định các điểm yếu có
trong hệ thống. Bạn chủ động khi tự đánh lừa mô hình với các mẫu dữ liệu
đối kháng và sau đó phòng thủ chống lại chúng. Sử dụng phương pháp diễn
dịch để hiểu các đặc trưng quan trọng và ảnh hưởng của chúng đến việc dự
đoán cũng là một bước chủ động trong việc hiểu các điểm yếu của các mô
hình học máy. Là một nhà khoa học dữ liệu, bạn có tin vào mô hình của
bạn trong thế giới đầy nguy hiểm mà không viễn kiến vào năng lực dự đoán
trên tập dữ liệu kiểm thử? Bạn đã từng phân tích mô hình hành xử như thế
nào trong các kịch bản khác nhau, xác định đầu vào nào là quan trọng nhất,
kiểm tra các giải thích cho dự đoán trên một số mẫu dữ liệu? Bạn đã thử tìm
qua các đầu vào đối kháng? Khả năng diễn giải của các mô hình học máy
đóng một vai trò chính trong an ninh mạng. Tính thụ động, đối lập với chủ
động, nghĩa rằng chờ cho hệ thống bị tấn công và hiểu ra vấn đề sau đó lập
hệ thống phòng thủ.
Vậy làm sao chúng ta bảo vệ các hệ thống học máy chống lại các mẫu
dữ liệu đối kháng? Một phương pháp chủ động là liên tục lặp lại huấn luyện
các bộ phân loại với các mẫu dữ liệu đối kháng, hay được gọi là huấn luyện
đối kháng. Các phương pháp tiếp cận khác dựa trên lý thuyết trò chơi (game
theory), ví dụ như học các phép biến đổi bất biến của các đặc trưng hoặc tối
ưu một cách linh động - robust optimization (qua điều chuẩn). Các phương
pháp khác sử dụng nhiều bộ phân loại thay vì chỉ một và cho chúng bỏ phiếu
dự đoán (ensemble), nhưng không có gì để đảm bảo, vì chúng có thể chịu
các tấn công từ các mẫu dữ liệu đối kháng tương tự. Một phương pháp khác
không hoạt động tốt đó là loại bỏ gradient (gradient masking) - xây dựng mô
hình không dùng các gradient bằng cách sử dụng một bộ phân loại lân cận
gần nhất thay vì sử dụng mô hình gốc.
Chúng ta có thể phân biệt các loại tấn công bằng cách xác định kẻ tấn
công biết bao nhiêu về hệ thống. Các kẻ tấn công có thể có kiến thức toàn
bộ (tấn công hộp trắng), nghĩa là chúng biết tất cả mọi thứ về mô hình như
loại mô hình, các tham số và dữ liệu huấn luyện; kẻ tấn công có thể có một
phần kiến thức (tấn công hộp xám), nghĩa là chúng chỉ có thể biết về biểu
diễn và loại mô hình mà đã sử dụng, nhưng không thể truy cập và dữ liệu
huấn luyện hay các tham số mô hình; kẻ tấn công có thể không hề có kiến
thức gì (tấn công hộp đen), nghĩa rằng chúng chỉ truy vấn mô hình và không
truy cập vào dữ liệu huấn luyện hoặc thông tin của các tham số mô hình.
Phụ thuộc và cấp bậc thông tin, kẻ tấn công có thể sử dụng các kỹ thuật
khác nhau để tấn công mô hình. Vì chúng ta đã thấy trong các mẫu dữ liệu,
thậm chí trong trường hợp hộp đen, các mẫu dữ liệu đối kháng có thể được
tạo ra, vì vậy việc giấu đi thông tin về dữ liệu và mô hình là không đủ để
phòng thủ lại các cuộc tấn công.
Với bản chất của trò chơi “mèo vờn chuột” giữa kẻ tấn công và người
phòng thủ, chúng ta sẽ chứng kiến nhiều sự phát triển và đổi mới trong lĩnh
vực này. Hãy tưởng tượng có bao nhiêu loại email rác mới được sinh ra hàng
ngày. Các phương pháp mới cho việc tấn công các mô hình học máy được
phát minh ra thì lại có các biện pháp phòng thủ để chống lại chúng. Nhiều
phương pháp tấn công mạnh mẽ được phát triển để trốn tránh hệ thống
phòng thủ cuối cùng, vân vân và sẽ không có hồi kết. Với chương này tôi
mong rằng có thể giúp bạn có cái nhìn nhạy bén hơn về các vấn đề của dữ
liệu đối kháng và vì chỉ khi có tính chủ động nghiên cứu về các mô hình học
máy, chúng ta mới có thể khám phá và khắc phục được các điểm yếu của các
mô hình học máy.
6.3 Nguyên mẫu và ngoại lai - Prototypes and
criticisms

Nguyên mẫu là một cá thể dữ liệu đại diện cho cả tập dữ liệu. Ngoại lai
là một điểm dữ liệu không được bao hàm (không cùng phân phối dữ liệu với)
bởi tập hợp các nguyên mẫu. Mục đích sử dụng của ngoại lai là cung cấp
những hiểu biết sâu sắc về tập dữ liệu cùng với các nguyên mẫu, đặc biệt
là đối với các điểm dữ liệu mà nguyên mẫu không thể thể hiện. Các nguyên
mẫu và ngoại lai có thể được sử dụng độc lập với mô hình học máy để mô
tả dữ liệu, nhưng chúng cũng có thể được sử dụng để tạo mô hình khả diễn
giải nội tại (intrinsically interpretable) được hoặc để làm cho mô hình hộp
đen trở nên khả diễn giải.
Trong chương này, ta sử dụng cụm từ “điểm dữ liệu” để chỉ một mẫu dữ
liệu duy nhất, và để nhấn mạnh cách giải thích rằng một mẫu dữ liệu cũng là
một điểm trong hệ tọa độ đa chiều mà mỗi đặc trưng là một chiều. Hình sau
đây cho thấy một phân phối dữ liệu mô phỏng, với một số trường hợp được
chọn làm nguyên mẫu và một số trường hợp là ngoại lai. Những điểm nhỏ là
dữ liệu, những điểm lớn là ngoại lai và những ô vuông lớn là những nguyên
mẫu. Các nguyên mẫu được chọn (theo cách thủ công) để bao phủ các trung
tâm của các cụm dữ liệu và các ngoại lai là các điểm trong các cụm không
xuất hiện nguyên mẫu. Các nguyên mẫu và ngoại lai luôn là các mẫu dữ liệu
thực tế từ tập dữ liệu.
Ở đây tôi chọn các nguyên mẫu theo cách thủ công, do đó kết quả có thể
không được tốt. Có nhiều cách tiếp cận để tìm ra nguyên mẫu trong dữ liệu.
Một trong số đó là k-medoids, một thuật toán phân cụm liên quan đến thuật
toán k-means. Bất kỳ thuật toán phân cụm nào trả về các điểm dữ liệu thực
tế dưới dạng trung tâm cụm sẽ thỏa mãn cho việc chọn các nguyên mẫu.
Nhưng hầu hết các phương pháp này chỉ tìm thấy nguyên mẫu chứ không
trả về ngoại lai. Chương này trình bày thuật toán MMD-critic của Kim et.
al (2016), là một cách tiếp cận kết hợp việc tìm ra các nguyên mẫu và ngoại
lai một các đồng thời
MMD-critic so sánh phân phối dữ liệu thực tế và sự phân bố của các
nguyên mẫu đã chọn. Đây là khái niệm trung tâm cho việc hiểu phương pháp
này. MMD-critic chọn các nguyên mẫu giúp giảm thiểu sựsai khác giữa hai
phân phối đã nêu. Các điểm dữ liệu trong các cụm có mật độ cao là các
Hình 6.7: Nguyên mẫu và ngoại lai cho một phân phối dữ liệu với hai đặc
trưng x1 và x2.

nguyên mẫu tốt, đặc biệt khi các điểm được chọn từ các “cụm dữ liệu” khác
nhau. Các điểm dữ liệu từ các cụm không được giải thích rõ bởi các nguyên
mẫu được chọn làm ngoại lai.
Chúng ta hãy nghiên cứu sâu hơn về lý thuyết.

6.3.1 Lý thuyết
MMD-critic có thể được tóm tắt ngắn gọn như sau:
1. Chọn số lượng nguyên mẫu và ngoại lai bạn muốn tìm.
2. Tìm nguyên mẫu bằng tìm kiếm tham lam (greedy search). Các nguyên
mẫu được chọn sao cho phân phối của các nguyên mẫu gần với phân phối dữ
liệu.
3. Tìm ngoại lai bằng cách tìm kiếm tham lam. Các điểm được chọn làm
ngoại lai nằm trong cụm có phân phối của các nguyên mẫu khác với phân
phối của dữ liệu.
Chúng tôi cần một vài công cụ để tìm nguyên mẫu và ngoại lai cho tập dữ
liệu với MMD-critic. Cơ bản nhất, chúng ta cần một hàm nhân để ước tính
mật độ dữ liệu. Kernel là một hàm gán trọng số cho hai điểm dữ liệu theo
khoảng cách (proximity) của chúng. Dựa trên ước tính mật độ, ta cần một
thước đo cho ta biết hai phân phối khác nhau như thế nào để ta có thể xác
định xem liệu phân phối của các nguyên mẫu mà ta chọn có gần với phân
phối dữ liệu hay không. Điều này được giải quyết bằng cách đo sự khác biệt
trung bình tối đa (maximum mean discrepancy - MMD). Cũng dựa trên hàm
nhân, chúng ta cần hàm nhân chứng (witness function) để cho chúng ta biết
hai phân phối khác nhau như thế nào tại một điểm dữ liệu cụ thể. Với hàm
nhân chứng, chúng ta có thể chọn các ngoại lai, tức là các điểm dữ liệu mà
tại đó phân phối của các nguyên mẫu và dữ liệu khác nhau và hàm nhân
chứng nhận các giá trị tuyệt đối lớn. Cuối cùng, ta cần một phương pháp
tìm kiếm các nguyên mẫu và ngoại lai tốt, vấn đề này được giải quyết bằng
một thuật toán tìm kiếm tham lam đơn giản.
Chúng ta hãy bắt đầu với khác biệt trung bình tối đa (MMD), công thức
này đo lường sự khác biệt giữa hai phân phối. Việc lựa chọn các nguyên mẫu
tạo ra sự phân bố mật độ của các nguyên mẫu. Ta muốn đánh giá xem phân
phối nguyên mẫu có khác với phân phối dữ liệu hay không. Do đó, ta ước
tính cả hai phân phối với các hàm mật độ nhân. MMD đo lường sự khác biệt
giữa hai phân phối, trên một không gian hàm của sự khác biệt giữa các kỳ
vọng theo hai phân phối. Tất cả rõ ràng chứ? Cá nhân tôi hiểu những khái
niệm này tốt hơn nhiều khi tôi quan sát tính toán với dữ liệu cụ thể. Công
thức sau đây cho biết cách tính MMD bình phương (MMD2):

m m,n n
1 ÿ
2 2 ÿ 1 ÿ
MMD “ 2 kpzi , zj q ´ kpzi , xj q ` 2 kpxi , xj q
m i,j“1 mn i,j“1 n i,j“1

k là một hàm nhân đo sự giống nhau của hai điểm, ta sẽ nói thêm về
điều này sau. m là số nguyên mẫu z và n là số điểm dữ liệu x trong tập
dữ liệu ban đầu của chúng ta. Nguyên mẫu z là sự lựa chọn từ các điểm dữ
liệu x. Mỗi điểm là đa chiều, tức là nó có thể có nhiều đặc trưng. Mục tiêu
của MMD-critic là giảm thiểu MMD2. MMD2 càng gần bằng 0, phân phối
của các nguyên mẫu càng khớ với dữ liệu. Chìa khóa để đưa MMD2 xuống
0 là thành phần ở giữa trong công thức trên, tính toán khoảng cách trung
bình giữa các nguyên mẫu và tất cả các điểm dữ liệu khác (nhân với 2). Nếu
thành phần này cộng với thành phần đầu tiên (khoảng cách trung bình của
các nguyên mẫu với nhau) cộng với thành phần cuối cùng (khoảng cách trung
bình của các điểm dữ liệu với nhau), thì nguyên mẫu sẽ giải thích dữ liệu
một cách hoàn hảo. Hãy thử xem điều gì sẽ xảy ra với công thức trên nếu ta
sử dụng tất cả n điểm dữ liệu làm nguyên mẫu.
Hình ảnh sau đây minh họa cách tính MMD2. Hình đầu tiên hiển thị các
điểm dữ liệu với hai đặc trưng, theo đó ước tính mật độ dữ liệu được hiển thị
với nền bóng mờ. Mỗi hình còn lại là các lựa chọn nguyên mẫu khác nhau,
cùng với giá trị MMD2. Nguyên mẫu là các chấm lớn và phân bố của chúng
được thể hiện dưới dạng các đường đồng mức (contour lines). Việc lựa chọn
các nguyên mẫu mà phủ dữ liệu một cách tốt nhất (dưới cùng bên trái) cho
ta giá trị sai khác nhỏ nhất.

Hình 6.8: Giá trị MMD2 cho một tập dữ liệu với hai đặc trưng và các cách
lựa chọn nguyên mẫu khác nhau.

Hàm nhân có thể là hàm nhân xuyên tâm cơ sở:

` ˘
kpx, x1 q “ exp ´γ||x ´ x1 ||2
trong đó ||x ´ x1 ||2 là khoảng cách Euclidean giữa hai điểm và γ là thông
số mở rộng (scaling parameter). Giá trị của nhân giảm theo khoảng cách giữa
hai điểm và nằm trong khoảng 0 và 1: 0 khi hai điểm xa nhau vô cực và 1
khi hai điểm trùng nhau.
Ta gói gọn cách tính MMD2, nhân và tìm kiếm tham lam vào một thuật
toán để tìm nguyên mẫu:
1. Bắt đầu với một danh sách rỗng các nguyên mẫu.
2. Khi số lượng nguyên mẫu thấp hơn số m đã chọn:
- Đối với mỗi điểm trong tập dữ liệu, kiểm tra xem MMD2 bị giảm bao
nhiêu khi điểm đó được thêm vào danh sách các nguyên mẫu. Thêm điểm dữ
liệu mà làm giảm MMD2 vào danh sách.
3. Trả về danh sách các nguyên mẫu.
Để tìm ngoại lai ta cần hàm nhân chứng, cho ta biết hai phân phối khác
nhau như thế nào tại một điểm cụ thể. Giá trị này được tính như sau:

n m
1ÿ 1 ÿ
witnesspxq “ kpx, xi q ´ kpx, zj q
n i“1 m j“1

Đối với hai tập dữ liệu (có các đặc trưng giống nhau), hàm nhân chứng
cung cấp cho ta phương tiện đánh giá xem điểm x khớp hơn với phân phối
thực nghiệm nào. Để tìm ra các ngoại lai, ta tìm kiếm các giá trị cực trị của
hàm nhân chứng theo cả chiều âm và chiều dương. Số hạng đầu tiên trong
hàm nhân chứng là khoảng cách trung bình giữa điểm x và dữ liệu, tương ứng,
số hạng thứ hai là khoảng cách trung bình giữa điểm x và các nguyên mẫu.
Nếu hàm nhân chứng cho một điểm x gần bằng 0, thì hàm mật độ của dữ
liệu và các nguyên mẫu gần nhau, có nghĩa là phân phối của các nguyên mẫu
giống với phân phối của dữ liệu tại điểm x. Hàm nhân chứng nhận giá trị âm
tại điểm x có nghĩa là phân phối nguyên mẫu quá ước lượng (overestimate)
phân phối dữ liệu (ví dụ: nếu chúng ta chọn một nguyên mẫu nhưng chỉ có
vài điểm dữ liệu gần đó); một hàm nhân chứng là dương tại điểm x có nghĩa
là phân phối nguyên mẫu dưới ước lượng (underestimate) phân phối dữ liệu
(ví dụ: nếu có nhiều điểm dữ liệu xung quanh x nhưng ta chưa chọn bất kỳ
nguyên mẫu nào gần đó). Để cho bạn dễ hiểu, ta sử dụng lại các nguyên mẫu
từ hình ảnh trước đó với MMD2 thấp nhất và hiển thị hàm nhân chứng cho
một vài điểm được chọn thủ công. Các nhãn trong biểu đồ sau đây hiển thị
giá trị của hàm nhân chứng cho các điểm khác nhau được đánh dấu là hình
tam giác. Chỉ có điểm ở giữa có giá trị tuyệt đối cao và do đó là ứng cử viên
sáng giá cho một ngoại lai.
Hình 6.9: Giá trị của hàm nhân chứng tại các điểm khác nhau.

Hàm nhân chứng cho phép ta tìm kiếm một cách tường minh các mẫu dữ
liệu không được thể hiện tốt bởi các nguyên mẫu. Ngoại lai là những điểm
có giá trị tuyệt đối cao trong hàm nhân chứng. Giống như nguyên mẫu, các
ngoại lai cũng được tìm thấy thông qua việc tìm kiếm tham lam. Nhưng thay
vì giảm MMD2, ta đang tìm kiếm các điểm tối đa hóa hàm chi phí bao gồm
hàm nhân chứng và thông số điều chuẩn. Thanh phần được bổ sung trong
hàm tối ưu hóa làm tăng tính đa dạng của các điểm, điều này cần thiết để
các điểm đến từ các cụm dữ liệu khác nhau.
Bước thứ hai độc lập với cách các nguyên mẫu được tìm ra. Ta cũng có
thể chọn thủ công một số nguyên mẫu và sử dụng quy trình được mô tả ở
trên để tìm ra các ngoại lai. Hoặc các nguyên mẫu có thể được tìm ra từ bất
kỳ thuật toán phân cụm nào, như k-medoid.
Trên đây là các phần quan trọng về lý thuyết của MMD-critic. Vẫn còn
một câu hỏi: Làm cách nào ta có thể áp dụng MMD-critic trong học
máy khả diễn giải?
MMD-critic có thể bổ sung tính diễn giải theo ba cách: Bằng cách giúp
hiểu rõ hơn về phân phối dữ liệu; bằng cách xây dựng một mô hình khả diễn
giải; bằng cách làm cho mô hình hộp đen trở nên khả diễn giải.
Nếu bạn áp dụng MMD-critic vào phân tích dữ liệu để tìm nguyên mẫu và
ngoại lai, nó sẽ giúp bạn tăng thêm hiểu biết về dữ liệu bạn đang có, đặc biệt
nếu bạn có một phân phối dữ liệu phức tạp với nhiều nhiễu. Với MMD-critic
bạn có thể đạt được nhiều hơn thế!
Ví dụ: ta có thể tạo một mô hình dự đoán khải diễn giải: gọi là “mô hình
nguyên mẫu gần nhất”. Chức năng dự đoán được định nghĩa là:

fˆpxq “ argmaxiPS kpx, xi q


có nghĩa là chúng ta chọn nguyên mẫu i từ tập các nguyên mẫu S gần
nhất với điểm dữ liệu mới, trả về giá trị cao nhất cho hàm nhân. Bản thân
nguyên mẫu được trả về như một lời giải thích cho dự đoán. Quy trình này
có ba tham số: Loại nhân, tham số mở rộng nhân và số lượng nguyên mẫu.
Tất cả các tham số có thể được tối ưu hóa trong bước kiểm định chéo (cross
validation). Ngoại lai không được dùng trong trường hợp này.
Hoặc ta có thể sử dụng MMD-critic để biến bất kỳ mô hình học máy nào
cũng trở nên khả diễn giải một cách toàn tục bằng cách kiểm tra các nguyên
mẫu và ngoại lai cùng với các dự đoán của mô hình. Quy trình như sau:
1. Tìm nguyên mẫu và ngoại lai với MMD-critic.
2. Huấn luyện mô hình học máy như bình thường.
3. Dự đoán đầu ra cho các nguyên mẫu và ngoại lai với mô hình học máy.
4. Phân tích dự đoán: Thuật toán sai trong những trường hợp nào? Giờ
ta đã có một số mẫu dữ liệu đại diện cho tập dữ liệu và giúp ta tìm ra điểm
yếu của mô hình học máy.
Vậy chúng có ích như thế nào? Hãy nhớ lại khi bộ phân loại hình ảnh của
Google xác định người da đen là khỉ đột! Có lẽ họ nên sử dụng quy trình
được mô tả ở đây trước khi triển khai mô hình nhận dạng hình ảnh của họ.
Chỉ kiểm tra hiệu suất của mô hình thôi là chưa đủ, bởi vì nếu nó đúng
99%, vấn đề này vẫn có thể nằm trong 1% còn lại. Và nhãn cũng có thể sai!
Xem qua tất cả dữ liệu huấn luyện và thực hiện kiểm tra nhanh có thể chỉ
ra vấn đề, nhưng sẽ không khả thi. Nhưng việc lựa chọn - giả sử vài nghìn -
nguyên mẫu và ngoại lai là khả thi thì ta có thể nhìn ra vấn đề của dữ liệu:
Nó có thể cho ta biết dữ liệu thiếu hình ảnh của những người có làn da sẫm
màu, điều này tương đương với việc thiếu sự đa dạng trong tập dữ liệu. Hoặc
MMD-critic có thể hiển thị một hoặc nhiều hình ảnh của một người có làn da
đen như một nguyên mẫu hoặc (có thể) như một ngoại lai với cụm “khỉ đột”.
Tôi không chắc chắn tuyệt đối rằng MMD-critic sẽ giúp ngăn chặn những sai
lầm kiểu này, nhưng đây là một phép kiểm thử đúng đắn.

6.3.2 Ví dụ
Ví dụ sau về MMD-critic sử dụng tập dữ liệu chữ số viết tay.
Nhìn vào các nguyên mẫu thực tế, bạn có thể nhận thấy rằng số lượng
hình ảnh trên mỗi chữ số là khác nhau. Điều này là do nguyên mẫu đã được
tìm kiếm trên toàn bộ tập dữ liệu chứ không phải ta xác định trước số lượng
số cố định cho mỗi lớp. Đúng như dự đoán, các nguyên mẫu cho thấy các
cách viết chữ số khác nhau.

Hình 6.10: Nguyên mẫu cho tập dữ liệu chữ số viết tay.

6.3.3 Ưu điểm
Trong một nghiên cứu người dùng, các tác giả của MMD-critic đã đưa các
hình ảnh cho những người tham gia, họ phải so sánh trực quan với một trong
hai bộ hình ảnh, mỗi bộ đại diện cho một trong hai lớp (ví dụ: hai giống
chó). Những người tham gia thực hiện tốt nhất khi các bộ hiển thị
nguyên mẫu và ngoại lai thay vì hình ảnh ngẫu nhiên của một lớp.
Bạn có thể tự do lựa chọn số lượng nguyên mẫu và ngoại lai.
MMD-critic làm việc trên các ước lượng mật độ (density estimate) của
dữ liệu. Do đó, phương pháp sẽ này hoạt động với bất kỳ loại dữ liệu
nào và bất kỳ loại mô hình học máy nào.
Thuật toán dễ dàng cho việc lập trình
MMD-critic rất linh hoạt trong cách sử dụng để tăng khả năng diễn giải.
Nó có thể được sử dụng để hiểu các phân phối dữ liệu phức tạp. Nó có thể
được sử dụng để xây dựng một mô hình học máy khả giải thích. Hoặc nó có
thể làm sáng tỏ việc ra quyết định của một mô hình hộp đen.
Việc tìm kiếm ngoại lai độc lập với quá trình lựa chọn nguyên
mẫu. Nhưng sẽ hợp lý nếu chọn nguyên mẫu theo MMD-critic, vì cả nguyên
mẫu và ngoại lai đều được tạo ra bằng cách sử dụng cùng một phương pháp.

6.3.4 Nhược điểm


Mặc dù, về mặt toán học, nguyên mẫu và ngoại lai được định nghĩa khác
nhau, nhưng sự phân biệt của chúng lại dựa trên giá trị giới hạn
(cut-off value) (số lượng nguyên mẫu). Giả sử bạn chọn số lượng nguyên
mẫu quá thấp để bao phủ phân phối dữ liệu, ngoại lai sẽ nằm ở những khu
vực không được giải thích rõ ràng. Nhưng nếu bạn thêm nhiều nguyên mẫu
hơn, chúng cũng sẽ nằm ở cùng khu vực. Bất kỳ diễn giải nào cũng phải tính
đến rằng ngoại lai phụ thuộc mạnh mẽ vào các nguyên mẫu hiện có và giá
trị giới hạn (tùy ý) cho số lượng nguyên mẫu.
Bạn phải chọn số lượng nguyên mẫu và ngoại lai. Càng nhiều càng
tốt tuy nhiên nó cũng là một bất lợi. Chúng ta thực sự cần bao nhiêu nguyên
mẫu và ngoại lai? Càng nhiều càng tốt? Càng ít càng tốt? Một giải pháp
là chọn số lượng nguyên mẫu và ngoại lai bằng cách đo lượng thời gian con
người có, điều này sẽ phụ thuộc vào ứng dụng cụ thể. Chỉ khi sử dụng MMD-
critic để xây dựng bộ phân loại, ta mới có cách tối ưu hóa trực tiếp. Một giải
pháp có thể là hiển thị số lượng nguyên mẫu trên trục x và ước lượng MMD2
trên trục y. Chúng ta sẽ chọn số lượng nguyên mẫu nơi đường MMD2 bị làm
phẳng.
Các tham số khác là cách chọn nhân (kernel) và tham số mở rộng nhân.
Ta có cùng một vấn đề với số lượng nguyên mẫu và ngoại lai: Làm thế nào
để ta có thể chọn một nhân và tham số mở rộng? Một lần nữa, khi
chúng ta sử dụng MMD-critic, chúng ta có thể điều chỉnh các tham số nhân.
Tuy nhiên, đối với các trường hợp sử dụng không được giám sát của MMD-
critic (sử dụng tự động), việc này rõ ràng là hạn chế. (Có lẽ tôi hơi khắt khe
ở đây, vì tất cả các phương pháp không được giám sát đều có vấn đề này).
Phương pháp này lấy tất cả các đặc trưng làm đầu vào, bỏ qua thực tế
là một số đặc trưng có thể không liên quan để dự đoán kết quả. Một
giải pháp là chỉ sử dụng các đặc trưng có liên quan, ví dụ như sử dụng các
hình ảnh đã mã hóa thay vì các pixel gốc. Phương pháp này sẽ hoạt động
tốt miễn là ta có thể ánh xạ dữ liệu gốc tới dạng dữ liệu mà ta đang dùng
(chỉ chứa các đặc trưng có liên quan).
Có một số mã có sẵn cho MMD-critic, nhưng chúng chưa được đóng
gói và tài liệu hóa 1 cách tốt nhất.

6.3.5 Code và các phương pháp khác


Code của MMD-critic do tác giả viết có thể tìm thấy ở đây.
Phương pháp đơn giản nhất để tìm nguyên mẫu đó là k-medoids bởi
Kaufman et. al (1987).
6.4 Các mẫu dữ liệu có ảnh hưởng

Mô hình học máy là sản phẩm của dữ liệu huấn luyện và việc xóa một
trong các mẫu dữ liệu huấn luyện có thể ảnh hưởng đến mô hình cuối cùng.
Ta gọi một mẫu dữ liệu huấn luyện là “có ảnh hưởng” khi việc xóa nó khỏi
dữ liệu huấn luyện làm thay đổi đáng kể các tham số hoặc dự đoán của mô
hình. Bằng cách xác định các mẫu dữ liệu huấn luyện có ảnh hưởng, ta có
thể “gỡ lỗi” các mô hình học máy và giải thích tốt hơn các hành vi và dự
đoán của chúng.
Chương này chỉ cho ta hai phương pháp để xác định các mẫu dữ liệu có ảnh
hưởng, đó là chẩn đoán xóa (deletion diagnostics) và hàm ảnh hưởng(influence
functions). Cả hai phương pháp đều dựa trên thống kê linh động (robust
statistics), điều này giúp các phương pháp thống kê ít bị ảnh hưởng bởi các
giá trị ngoại lai hay các vi phạm về giả định của mô hình. Thống kê linh
động cũng cung cấp các phương pháp để đo lường độ linh động của các ước
lượng từ dữ liệu (chẳng hạn như ước lượng trung bình hay trọng số của mô
hình).
Hãy tưởng tượng bạn muốn ước lượng thu nhập trung bình của người
dân trong thành phố của bạn và hỏi mười người ngẫu nhiên trên đường phố
họ kiếm được bao nhiêu. Ngoài thực tế là mẫu dữ liệu có thể có chất lượng
kém, ước lượng thu nhập trung bình của bạn có thể bị ảnh hưởng bao nhiêu
bởi một người? Để trả lời câu hỏi này, bạn có thể tính toán lại giá trị trung
bình bằng cách bỏ qua các mẫu đơn lẻ hoặc suy ra bằng toán học thông qua
“hàm ảnh hưởng” lượng giá trị trung bình có thể bị ảnh hưởng khi loại bỏ
các mẫu đơn lẻ đó. Với phương pháp xóa, ta tính toán lại giá trị trung bình
mười lần, mỗi lần bỏ qua một trong các báo cáo thu nhập và đo lường mức
độ thay đổi ước lượng trung bình. Một sự thay đổi lớn có nghĩa là một mẫu
dữ liệu có ảnh hưởng rất lớn. phương pháp thứ hai làm tăng trọng số của
một người bằng một trọng số nhỏ nhất định, tương ứng với việc tính toán
đạo hàm bậc nhất của một thống kê hoặc mô hình. phương pháp này còn
được gọi là “phương pháp vô cực” hoặc “hàm ảnh hưởng”. Nhân tiện, câu trả
lời là ước lượng trung bình của bạn có thể bị ảnh hưởng rất mạnh bởi một
mẫu duy nhất, vì giá trị trung bình tỷ lệ tuyến tính với các giá trị đơn lẻ.
Một cách lựa chọn tốt hơn là sử dụng giá trị trung vị (median - giá trị mà
tại đó một nửa số người kiếm được nhiều hơn và nửa còn lại ít hơn), bởi vì
ngay cả khi người có thu nhập cao nhất trong mẫu của bạn kiếm được nhiều
hơn mười lần trung vị, giá trị trung vị sẽ không bị thay đổi.
Chẩn đoán xóa và hàm ảnh hưởng cũng có thể được áp dụng cho các
tham số hoặc dự đoán của mô hình học máy để hiểu hành vi của chúng tốt
hơn hoặc để giải thích các dự đoán riêng lẻ. Trước khi xem xét hai phương
pháp này để tìm các mẫu dữ liệu có ảnh hưởng, chúng ta sẽ xem xét sự khác
biệt giữa một mẫu dữ liệu ngoại lai và một mẫu dữ liệu có ảnh hưởng.

Ngoại lai Một mẫu dữ liệu ngoại lai là một mẫu dữ liệu khác xa với các
mẫu dữ liệu khác trong tập dữ liệu. “Xa” có nghĩa là khoảng cách, ví dụ
khoảng cách Euclide, đến tất cả các mẫu dữ liệu khác là rất lớn. Trong một
tập dữ liệu về trẻ sơ sinh, một trẻ sơ sinh nặng 6 kg sẽ được coi là một ngoại
lai. Trong tập dữ liệu các tài khoản ngân hàng chủ yếu là tài khoản séc, một
tài khoản cho vay chuyên dụng (số dư âm lớn, ít giao dịch) sẽ được coi là
ngoại lai. Hình sau đây cho thấy ngoại lai của phân phối 1 chiều.

Hình 6.11: Đặc trưng x tuân theo phân phối Gaussian với ngoại lai ở x=8.

Ngoại lai có thể là những điểm dữ liệu thú vị. Khi một ngoại lai ảnh
hưởng đến mô hình, nó cũng là một mẫu có ảnh hưởng.
Mẫu dữ liệu có ảnh hưởng Một mẫu có ảnh hưởng là một mẫu dữ liệu
mà việc loại bỏ nó có ảnh hưởng mạnh đến mô hình được huấn luyện. Các
tham số hoặc dự đoán của mô hình càng thay đổi khi mô hình được huấn
luyện lại với một mẫu cụ thể bị xóa khỏi dữ liệu huấn luyện, thì mẫu đó càng
có ảnh hưởng. Việc một mẫu có ảnh hưởng đối với một mô hình được huấn
luyện hay không cũng phụ thuộc vào giá trị của nó đối với mục tiêu y. Hình
dưới đây cho thấy một mẫu có ảnh hưởng đối với mô hình hồi quy tuyến
tính.

Hình 6.12: Một mô hình tuyến tính với một đặc trưng. Được huấn luyện lần
đầu với dữ liệu đầy đủ và lần sau không có mẫu dữ liệu có ảnh hưởng. Việc
loại bỏ mẫu dữ liệu có ảnh hưởng sẽ thay đổi đáng kể gradient(trọng số/hệ
số)

Tại sao các mẫu dữ liệu có ảnh hưởng lại giúp ta hiểu mô hình?
Các mẫu dữ liệu có ảnh hưởng có thể giúp ta đạt được tính khả diễn giải là
do chúng có thể giúp ta truy ngược lại (trace back) các tham số và dự đoán
để giải thích tại sao chúng được sinh ra, và điểm đầu chính là dữ liệu huấn
luyện. Bộ học, tức là, thuật toán tạo ra mô hình học máy, là một hàm nhận
dữ liệu huấn luyện bao gồm các đặc trưng X và mục tiêu y sau đó tạo ra một
mô hình học máy. Ví dụ, bộ học cây quyết định là một thuật toán chọn các
đặc trưng phân tách và các giá trị để phân tách. Một bộ học mạng nơ-ron
sử dụng phương pháp lan truyền ngược (backpropagation) để tìm ra trọng
số tốt nhất.

Hình 6.13: Một bộ học học một mô hình từ dữ liệu huấn luyện (các đặc trưng
và mục tiêu). Mô hình đưa ra dự đoán cho dữ liệu mới.

Ta tự hỏi các thông số mô hình hoặc các dự đoán sẽ thay đổi như thế nào
nếu ta xóa các mẫu dữ liệu khỏi dữ liệu huấn luyện trong quá trình huấn
luyện. Điều này trái ngược với các phương pháp diễn giải khác khi mà chúng
phân tích cách dự đoán thay đổi khi chúng ta biến đổi các đặc trưng của các
mẫu dữ liệu được dự đoán, chẳng hạn như PDP (5.1) hay PFI (5.5). Với các
mẫu dữ liệu có ảnh hưởng, ta không coi mô hình là cố định mà ta coi nó là
một hàm của dữ liệu huấn luyện. Các mẫu dữ liệu có ảnh hưởng giúp ta trả
lời các câu hỏi về hành vi của mô hình một cách toàn cục và các dự đoán
riêng lẻ. Những mẫu dữ liệu nào có ảnh hưởng nhất đến các thông số mô
hình hoặc dự đoán nói chung? Những mẫu dữ liệu nào có ảnh hưởng nhất
đối với một dự đoán cụ thể? Các mẫu dữ liệu có ảnh hưởng cho ta biết với
mẫu dữ liệu nào mô hình có thể có vấn đề, mẫu dữ liệu huấn luyện nào cần
được kiểm tra và đưa ra cái nhìn về mức độ linh động của mô hình. Chúng
ta có thể không tin tưởng một mô hình nếu một mẫu dữ liệu đơn lẻ có ảnh
hưởng mạnh mẽ đến các dự đoán và tham số của mô hình. Hay ít nhất điều
đó sẽ khiến ta phân vân.
Làm thế nào chúng ta có thể tìm ra các mẫu dữ liệu có ảnh hưởng? Ta có
hai cách để đo lường mức độ ảnh hưởng: Cách đầu tiên của ta là xóa mẫu dữ
liệu khỏi dữ liệu huấn luyện, huấn luyện lại mô hình trên tập dữ liệu huấn
luyện đã rút gọn và quan sát sự khác biệt trong các tham số hoặc dự đoán
của mô hình (riêng lẻ hoặc trên toàn bộ tập dữ liệu). Cách thứ hai là tăng
trọng số của một mẫu dữ liệu bằng cách xấp xỉ các thay đổi tham số dựa
trên gradient của các tham số mô hình. Phương pháp xóa dễ hiểu hơn và là
cơ sở của phương pháp tăng trọng số, vì vậy ta bắt đầu với phương pháp này
trước.

6.4.1 Chẩn đoán xóa


Các chuyên gia thống kê đã thực hiện rất nhiều nghiên cứu với các mẫu
dữ liệu có ảnh hưởng, đặc biệt là đối với các mô hình hồi quy tuyến tính
(tổng quát). Khi bạn tìm kiếm “những quan sát có ảnh hưởng” (influential
observations), kết quả tìm kiếm đầu tiên sẽ là các phương pháp như DFBETA
và khoảng cách Cook. DFBETA đo lường tác động của việc xóa một mẫu
đối với các tham số mô hình. Khoảng cách Cook (Cook, 1977) đo lường ảnh
hưởng của việc xóa một mẫu đối với các dự đoán của mô hình. Đối với cả hai
phương pháp, ta phải huấn luyện lại mô hình nhiều lần, mỗi lần bỏ đi các
mẫu dữ liệu. Các tham số hoặc dự đoán của mô hình với tất cả các mẫu dữ
liệu được so sánh với các tham số hoặc dự đoán của mô hình với một trong
các mẫu dữ liệu bị xóa khỏi dữ liệu huấn luyện.
DFBETA được định nghĩa là:
DF BET Ai “ β ´ β p´iq
trong đó β là vector trọng số khi mô hình được huấn luyện trên tất cả các
mẫu dữ liệu và β p´iq là vector trọng số khi mô hình được huấn luyện mà
không có mẫu i. Tôi sẽ nói là phương pháp này khá trực quan. DFBETA chỉ
hoạt động với các mô hình có trọng số, chẳng hạn như hồi quy logistic hoặc
mạng nơ-ron, và không hoạt động với các mô hình như cây quyết định, tổ
hợp cây (tree ensembles), máy vector hỗ trợ, v.v. Khoảng cách Cook được
dùng cho các mô hình hồi quy tuyến tính và tồn tại các biến thể của các mô
hình hồi quy tuyến tính tổng quát. Khoảng cách Cook cho một mẫu dữ liệu
huấn luyện được định nghĩa là tổng (được chia tỷ lệ) của các sai khác bình
phương trong kết quả dự đoán khi mẫu dữ liệu thứ i bị loại bỏ.
řn p´iq 2
j“1 pŷj ´ ŷj q
Di “
p ¨ M SE
trong đó tử số là sai khác bình phương giữa dự đoán của mô hình có và không
có mẫu thứ i, được tính tổng trên tập dữ liệu. Mẫu số là số lượng đặc trưng
p nhân với sai số bình phương trung bình. Mẫu số giống nhau cho tất cả các
mẫu dữ liệu mà không quan tâm tới mẫu nào bị xóa. Khoảng cách Cook cho
chúng ta biết giá trị dự đoán của một mô hình tuyến tính thay đổi bao nhiêu
khi chúng ta loại bỏ mẫu thứ i khỏi quá trình huấn luyện.
Liệu chúng ta có thể sử dụng khoảng cách Cook và DFBETA cho bất kỳ
mô hình học máy nào? DFBETA yêu cầu các trọng số, vì vậy phương pháp
này chỉ hoạt động cho các mô hình được tham số hóa. Khoảng cách Cook
không yêu cầu bất kỳ thông số mô hình nào. Điều thú vị là khoảng cách
Cook thường không được sử dụng cho các mô hình khác mô hình tuyến tính
và mô hình tuyến tính tổng quát, nhưng ý tưởng về sự khác biệt giữa các
dự đoán của mô hình trước và sau khi loại bỏ một mẫu dữ liệu cụ thể là rất
chung chung. Một vấn đề với định nghĩa của khoảng cách Cook là MSE khi
nó không có ý nghĩa đối với tất cả các loại mô hình dự đoán (ví dụ: phân
loại). Công thức đơn giản nhất để tính độ tác động đến các dự đoán của mô
hình có thể được viết như sau:

n
p´iq 1 ÿ ˇˇ ˇ
p´iq ˇ
Influence “ ˇŷj ´ ŷj ˇ
n j“1

Biểu thức này về cơ bản là tử số của khoảng cách Cook, với sự khác biệt
là giá trị sai khác tuyệt đối được cộng lại thay vì giá trị sai khác bình phương.
Đây là lựa chọn của tôi, vì nó sẽ hữu ích đối với các ví dụ dưới đây. Công
thức chung của các phương pháp chẩn đoán xóa bao gồm việc chọn một đối
tượng (chẳng hạn như kết quả dự đoán) và tính toán sự khác biệt của đối
tượng cho mô hình được huấn luyện trên tất cả các mẫu dữ liệu và khi mẫu
dữ liệu bị xóa.
Chúng ta có thể dễ dàng chia nhỏ để giải thích cho dự đoán của mẫu dữ
liệu j bị ảnh hưởng bởi mẫu dữ liệu huấn luyện thứ i như thế nào:
ˇ ˇ
p´iq p´iq ˇ
Influencej “ ˇŷj ´ ŷj ˇ
ˇ

Phương pháp này cũng sẽ hoạt động tốt nếu ta tính sai khác giữa các
thông số mô hình hoặc sự sai khác về giá trị hàm mất mát. Trong ví dụ sau,
ta sẽ sử dụng các phương pháp đơn giản này.
Ví dụ về chẩn đoán xóa Trong ví dụ sau, ta huấn luyện một máy vector
hỗ trợ để dự đoán ung thư cổ tử cung do tố nguy cơ và chỉ ra các mẫu dữ
liệu huấn luyện nào có ảnh hưởng nhất đến tổng thể và cho một dự đoán cụ
thể. Vì dự đoán ung thư là bài toán phân loại, ta đo lường ảnh hưởng bằng
sự sai khác trong xác suất dự đoán ung thư. Một mẫu có ảnh hưởng nếu xác
suất được dự đoán tăng hoặc giảm giá trị trung bình một cách mạnh mẽ khi
mẫu đó bị xóa khỏi huấn luyện. Việc đo lường mức độ ảnh hưởng của tất cả
858 mẫu dữ liệu huấn luyện yêu cầu huấn luyện mô hình một lần trên tất cả
dữ liệu và huấn luyện lại nó 858 lần (= kích thước của dữ liệu huấn luyện)
với một mẫu dữ liệu bị xóa mỗi lần.
Mẫu có ảnh hưởng nhất có độ ảnh hưởng khoảng 0,01. Mức ảnh hưởng
0,01 có nghĩa là nếu chúng ta loại bỏ mẫu dữ liệu thứ 540, xác suất dự đoán
trung bình thay đổi 1 phần trăm. Điều này là khá quan trọng khi xem xét
xác suất dự đoán trung bình cho bệnh ung thư là 6,4%. Giá trị trung bình
của phương pháp trên tất cả các lần xóa có thể là 0,2 phần trăm. Bây giờ ta
biết mẫu dữ liệu dữ liệu nào có ảnh hưởng nhất đến mô hình. Điều này sẽ
hữu ích để gỡ lỗi dữ liệu. Có một mẫu dữ liệu có vấn đề? Có sai số đo lường?
Các mẫu dữ liệu có ảnh hưởng là những mẫu dữ liệu đầu tiên cần được kiểm
tra lỗi, bởi vì mỗi lỗi trong đó ảnh hưởng mạnh mẽ đến các dự đoán của mô
hình.
Ngoài gỡ lỗi mô hình, chúng ta có thể hiểu rõ hơn về mô hình không?
Việc in ra 10 mẫu dữ liệu có ảnh hưởng nhất sẽ không hữu ích, vì nó chỉ là
một bảng các mẫu dữ liệu với các đặc trưng. Tất cả các phương pháp trả về
mẫu dữ liệu chỉ có ý nghĩa nếu chúng ta có thể biểu diễn chúng một cách
hiệu quả. Nhưng chúng ta có thể biết loại mẫu dữ liệu nào có ảnh hưởng nếu
ta trả lời được câu hỏi: Điều gì phân biệt mẫu dữ liệu có ảnh hưởng với mẫu
dữ liệu thông thường? Chúng ta có thể biến câu hỏi này thành một bài toán
hồi quy và mô hình độ ảnh hưởng của một mẫu dưới dạng hàm của các giá
trị đặc trưng. Ta có thể tự do chọn bất kỳ mô hình nào từ chương 4. Đối với
ví dụ này, tôi chọn cây quyết định (hình sau), và nó cho thấy dữ liệu của phụ
nữ từ 35 tuổi trở lên có ảnh hưởng nhất đối với máy vector hỗ trợ. Trong số
tất cả phụ nữ trong tập dữ liệu, 153 trong số 858 phụ nữ lớn hơn 35 tuổi.
Trong chương 5.1, chúng ta đã thấy rằng sau 40 tuổi, xác suất dự đoán mắc
bệnh ung thư tăng mạnh và trong chương 5.4 ta cũng đã phát hiện tuổi là
một những đặc trưng quan trọng nhất. Phân tích ảnh hưởng cho chúng ta
biết rằng mô hình ngày càng trở nên không ổn định khi dự đoán ung thư cho
các độ tuổi cao hơn. Điều này có giá trị, có nghĩa là các lỗi trong các mẫu
dữ liệu này có thể ảnh hưởng mạnh đến mô hình.

Hình 6.14: Một cây quyết định mô hình hóa mối quan hệ giữa ảnh hưởng của
các mẫu và các đặc trưng của chúng. Độ sâu tối đa của cây được đặt là 2.

Phân tích ảnh hưởng đầu tiên này đã tiết lộ mẫu dữ liệu tổng thể có ảnh
hưởng nhất. Bây giờ ta chọn một trong các mẫu dữ liệu, cụ thể là mẫu dữ
liệu thứ 7, mà ta muốn giải thích dự đoán bằng cách tìm các mẫu dữ liệu dữ
liệu huấn luyện có ảnh hưởng nhất. Nó giống như một câu hỏi phản chứng:
Dự đoán cho mẫu số 7 sẽ thay đổi như thế nào nếu chúng ta bỏ mẫu i khỏi
quá trình huấn luyện? Ta lặp lại việc loại bỏ này cho tất cả các mẫu dữ liệu.
Sau đó, ta chọn các mẫu dữ liệu huấn luyện dẫn đến thay đổi lớn nhất trong
dự đoán của mẫu dữ liệu 7 khi chúng bị bỏ qua tronh huấn luyện và sử dụng
chúng để giải thích dự đoán của mô hình cho mẫu dữ liệu đó. Tôi chọn giải
thích dự đoán cho mẫu 7 vì đây là mẫu dữ liệu có xác suất dự đoán ung thư
cao nhất (7,35%), và tôi nghĩ là một mẫu dữ liệu thú vị để phân tích. Ta có
thể trả về 10 mẫu dữ liệu có ảnh hưởng nhất đến dự đoán trên mẫu dữ liệu
thứ 7 dưới dạng bảng. Điều này không hữu ích lắm vì ta không thể có nhiều
thông tin dưới dạng bảng. Một lần nữa, sẽ có ý nghĩa hơn nếu ta tìm ra các
đặc trưng giúp phân biệt các mẫu dữ liệu có ảnh hưởng với các mẫu dữ liệu
thông thường. Ta sử dụng một cây quyết định được huấn luyện để dự đoán
ảnh hưởng của các đặc trưng, thực tế trong ví dụ này, ta chỉ dùng cấu trúc
thay vì quan tâm đến dự đoán của cây. Cây quyết định sau đây cho thấy loại
mẫu dữ liệu huấn luyện nào có ảnh hưởng nhất đến việc dự đoán mẫu dữ
liệu thứ 7.

Hình 6.15: Cây quyết định giải thích mẫu dữ liệu nào có ảnh hưởng nhất đến
việc dự đoán mẫu dữ liệu thứ 7. Dữ liệu từ những phụ nữ hút thuốc trong
18,5 năm hoặc lâu hơn có ảnh hưởng lớn đến dự đoán của mẫu dữ liệu thứ
7, với sự thay đổi trung bình trong dự đoán tuyệt đối là 11,7 phần trăm xác
suất ung thư.

Dữ liệu về các mẫu dữ liệu phụ nữ hút thuốc hoặc đã hút thuốc từ 18,5
năm trở lên có ảnh hưởng lớn đến dự đoán của mẫu dữ liệu thứ 7. Người
phụ nữ trong mẫu số 7 đã hút thuốc trong 34 năm. Trong dữ liệu, 12 phụ
nữ (1,40%) hút thuốc từ 18,5 năm trở lên. Bất kỳ sai sót nào trong việc thu
thập số năm hút thuốc của một trong những phụ nữ này sẽ có tác động rất
lớn đến kết quả dự đoán cho mẫu dữ liệu thứ 7.
Sự thay đổi lớn nhất trong dự đoán xảy ra khi ta loại bỏ mẫu dữ liệu
số 663. Bệnh nhân được cho là đã hút thuốc trong 22 năm, phù hợp với kết
quả từ cây quyết định. Xác suất dự đoán cho mẫu dữ liệu thứ 7 thay đổi từ
7,35% thành 66,60% nếu chúng ta loại bỏ mẫu dữ liệu 663!
Nếu chúng ta xem xét kỹ hơn các đặc trưng của mẫu dữ liệu có ảnh hưởng
nhất, chúng ta có thể thấy một vấn đề khác có thể xảy ra. Dữ liệu nói rằng
phụ nữ 28 tuổi và đã hút thuốc được 22 năm?!! Hoặc đó là một mẫu dữ liệu
đúng và cô ấy thực sự bắt đầu hút thuốc từ năm 6 tuổi, hoặc đây là một
lỗi dữ liệu. Tôi tin vào giải thiết số 2. Đây chắc chắn là một tình huống mà
chúng ta phải đặt câu hỏi về tính chính xác của dữ liệu.
Những ví dụ này cho thấy sự hữu ích khi xác định được các mẫu dữ liệu
có ảnh hưởng để gỡ lỗi mô hình. Một vấn đề với phương pháp được đề xuất
là mô hình cần được huấn luyện lại cho mỗi mẫu dữ liệu huấn luyện. Toàn
bộ quá trình huấn luyện lại có thể khá chậm, bởi vì nếu bạn có hàng nghìn
mẫu dữ liệu huấn luyện, bạn sẽ phải huấn luyện lại mô hình của mình hàng
nghìn lần. Giả sử mô hình mất một ngày để huấn luyện và bạn có 1000 mẫu
dữ liệu huấn luyện, thì việc tính toán các mẫu dữ liệu có ảnh hưởng - khi làm
việc tuần tự - sẽ mất gần 3 năm. Không ai có thời gian cho việc này. Trong
phần còn lại của chương này, tôi sẽ chỉ cho bạn một phương pháp không yêu
cầu huấn luyện lại mô hình.

6.4.2 Hàm ảnh hưởng


Bạn: Tôi muốn biết ảnh hưởng của một mẫu dữ liệu huấn luyện đối với
một dự đoán cụ thể.
Nghiên cứu: Bạn có thể xóa mẫu dữ liệu huấn luyện, huấn luyện lại mô
hình và đo lường sự khác biệt trong dự đoán. Bạn: Thật tuyệt! Nhưng bạn
có phương pháp nào mà không cần huấn luyện lại không? Nó mất rất nhiều
thời gian. Nghiên cứu: Bạn có một mô hình với các tham số là đạo hàm bậc
2 của hàm mất mát không?
Bạn: Tôi đã huấn luyện một mạng nơ-ron với hàm mất mát logistic. Vì
vậy, có.
Nghiên cứu: Vậy bạn có thể ước tính ảnh hưởng của mẫu dữ liệu đối
với các thông số mô hình và dự đoán bằng các hàm ảnh hưởng (influence
functions). Hàm ảnh hưởng là thước đo mức độ phụ thuộc của các tham số
hoặc dự đoán của mô hình vào một mẫu dữ liệu huấn luyện. Thay vì xóa
mẫu, phương thức này tăng trọng số của mẫu bị xóa trong hàm mất mát
lên một lượng rất nhỏ. Phương pháp này liên quan đến việc tính gần đúng
mất mát xung quanh các tham số của mô hình hiện tại bằng cách sử dụng
gradient và ma trận Hessian. Tăng trọng số mất mát tương đương với phương
pháp xóa mẫu.
Bạn: Tuyệt vời, đó là thứ tôi đang tìm kiếm!
Koh và Liang (2017) đề xuất sử dụng các hàm ảnh hưởng, một phương
pháp thống kê, để đo lường cách một thể hiện ảnh hưởng đến các tham số
hoặc dự đoán của mô hình. Cũng như chẩn đoán xóa, các hàm ảnh hưởng
theo dõi các tham số và dự đoán của mô hình từ mẫu dữ liệu huấn luyện ta
đang quan tâm. Tuy nhiên, thay vì xóa các mẫu dữ liệu huấn luyện, phương
pháp này ước lượng mức độ thay đổi của mô hình khi mẫu đó được tăng
trọng số (tổng của mất mát trên dữ liệu huấn luyện).
Phương pháp hàm ảnh hưởng yêu cầu quyền truy cập vào gradient liên
quan đến các tham số mô hình, mà điều này chỉ hoạt động đối với một tập
nhỏ các mô hình học máy. Hồi quy logistic, mạng nơ-ron và máy vector hỗ
trợ là đủ điều kiện, còn các phương pháp dựa trên cây như rừng ngẫu nhiên
thì không. Các hàm ảnh hưởng giúp hiểu hành vi của mô hình, gỡ lỗi mô hình
và phát hiện lỗi trong tập dữ liệu. Phần sau giải thích các hàm ảnh hưởng.

Cơ sở toán học của các hàm ảnh hưởng. Ý tưởng đằng sau các hàm
ảnh hưởng là tăng trọng số trong hàm mất mát của một mẫu dữ liệu huấn
luyện bằng một bước nhỏ tối ưu , dẫn đến các thông số mô hình mới:

n
1ÿ
θ̂,z “ arg minp1 ´ q Lpzi , θq ` Lpz, θq
θPΘ n i“1

Với θ là vector tham số mô hình và θ̂,z là vector tham số sau khi tăng
trọng số z lên một lượng rất nhỏ .L là hàm mất mát mà mô hình được huấn
luyện, zi là dữ liệu huấn luyện và z là mẫu huấn luyện mà chúng ta muốn
tăng trọng số để mô phỏng việc loại bỏ nó. Ý tưởng đằng sau công thức này
là: Mất mát sẽ thay đổi bao nhiêu nếu chúng ta tăng trọng số một mẫu dữ
liệu cụ thể zi từ dữ liệu huấn luyện bởi 1 lượng nhỏ  và giảm trọng số của
các mẫu dữ liệu dữ liệu khác cho phù hợp? Vector tham số ứng với hàm mất
mát mới này sẽ là gì? Hàm ảnh hưởng của các tham số, tức là ảnh hưởng của
mẫu dữ liệu huấn luyện tăng trọng số z lên các tham số, có thể được tính
như sau.
ˇ
dθ̂,z ˇˇ
Iup,params pzq “ ˇ “ ´Hθ̂´1 ∇θ Lpz, θ̂q
d ˇ
“0

Biểu thức ∇θ Lpz, θ̂q là gradient liên quan đến các tham số cho mẫu dữ
liệu huấn luyện. Gradient là tỷ lệ thay đổi của mất mát với mẫu dữ liệu
huấn luyện. Nó cho chúng ta biết mức độ mất mát thay đổi ra sao khi chúng
ta thay đổi các thông số mô hình θ̂ 1 lượng nhỏ. Dấu dương trong vector
gradient có nghĩa là sự gia tăng nhỏ của tham số mô hình tương ứng sẽ làm
tăng mất mát, dấu âm có nghĩa là sự gia tăng của tham số làm giảm mất
mát. Phần đầuHθ̂´1 là ma trận Hessian nghịch đảo (đạo hàm cấp hai của mất
mát đối với các tham số mô hình). Ma trận Hessian là tốc độ thay đổi của
gradient, hoặc được biểu thị bằng mất mát, nó là tốc độ thay đổi của mất
mát. Nó có thể được ước tính bằng:

n
1ÿ 2
Hθ “ ∇ Lpzi , θ̂q
n i“1 θ̂

Chính xác hơn: Ma trận Hessian thể hiện độ cong của mất mát tại một
điểm nhất định. Hessian là một ma trận và không chỉ là một vector, bởi vì nó
mô tả độ cong mất mát và độ cong phụ thuộc vào hướng mà chúng ta nhìn.
Việc tính toán thực tế của ma trận Hessian sẽ tốn thời gian nếu ta có nhiều
tham số. Koh và Liang đã đề xuất một số thủ thuật để tính toán một cách
hiệu quả (nằm ngoài phạm vi của chương này). Việc cập nhật các tham số
mô hình, như được mô tả bởi công thức trên, tương đương với việc thực hiện
một bước Newton sau khi hình thành một khai triển bậc hai xung quanh các
tham số mô hình được ước lượng.
Công thức hình thành từ khai triển bậc hai xung quanh các tham số θ̂.
Điều đó có nghĩa là ta thực sự không biết, hoặc quá phức tạp để tính toán
chính xác mất mát trên mẫu z sẽ thay đổi như thế nào khi nó bị loại bỏ/tăng
trọng số. Ta ước lượng cục bộ hàm bằng cách sử dụng thông tin về gradient
và độ cong (= ma trận Hessian) ở cài đặt thông số mô hình hiện tại. Với ước
lượng mất mát này, chúng ta có thể tính toán các tham số mới sẽ như thế
nào nếu chúng ta tăng trọng số mẫu z:

1
θ̂´z « θ̂ ´ Iup,params pzq
n
Vector tham số gần đúng về cơ bản là tham số ban đầu trừ đi gradient của
mất mát trên z (vì chúng ta muốn giảm mất mát) được chia tỷ lệ theo độ
cong (= nhân với ma trận Hessian nghịch đảo) và chia tỷ lệ 1 trên n, vì đó là
trọng số của một mẫu dữ liệu huấn luyện duy nhất. Hình sau cho thấy cách
hoạt động của việc tăng trọng số. Trục x hiển thị giá trị của tham số và trục
y là giá trị tương ứng của mất mát với mẫu dữ liệu z. Tham số mô hình ở
đây là 1 chiều cho mục đích biểu diễn, nhưng trong thực tế nó thường là đa
chiều. Ta chỉ dịch chuyển từ 1 đến n để cải thiện mất mát, ví dụ z. Ta không
biết mất mát sẽ thực sự thay đổi như thế nào khi ta xóa z, nhưng với đạo
hàm thứ nhất và thứ hai của mất mát, ta tạo ra xấp xỉ bậc hai xung quanh
tham số mô hình hiện tại của ta và giả sử rằng đây là cách hoạt động của
mất mát thực sự.

Hình 6.16: Cập nhật thông số mô hình (trục x) bằng cách hình thành một
khai triển bậc hai của mất mát xung quanh thông số mô hình hiện tại và di
chuyển 1/n sang hướng mà mất mát với mẫu dữ liệu có trọng số z (trục y)
được cải thiện nhiều nhất. Việc tăng trọng số của mẫu z trong mất mát này
xấp xỉ với những thay đổi tham số nếu chúng ta xóa z và huấn luyện mô hình
trên dữ liệu mới.

Chúng ta thực sự không cần phải tính toán các tham số mới, nhưng chúng
ta có thể sử dụng hàm ảnh hưởng như một phép đo mức độ ảnh hưởng của
z đến các tham số.
Các dự đoán thay đổi ra sao nếu ta tăng trọng số cho z? Chúng ta có
thể tính toán các tham số mới và sau đó đưa ra dự đoán bằng cách sử dụng
mô hình mới được tham số hóa hoặc chúng ta cũng có thể tính trực tiếp ảnh
hưởng của mẫu dữ liệu z lên các dự đoán, vì chúng ta có thể tính toán ảnh
hưởng bằng cách sử dụng quy tắc chuỗi:

ˇ
dLpztest , θ̂,z q ˇˇ
Iup,loss pz, ztest q “ ˇ
d ˇ
“0
ˇ
T dθ̂,z ˇ
ˇ
“ ∇θ Lpztest , θ̂q ˇ
d ˇ
“0
T ´1
“ ´∇θ Lpztest , θ̂q Hθ ∇θ Lpz, θ̂q

Dòng đầu tiên của phương trình này có nghĩa là ta đo lường ảnh hưởng
của một mẫu dữ liệu huấn luyện lên một dự đoán nhất định ztest (thay đổi
trong hàm mất mát với mẫu kiểm tra khi ta tăng trọng số mẫu z và nhận
các tham số mới θ̂,z ). Đối với dòng thứ hai của phương trình, ta áp dụng
quy tắc chuỗi của đạo hàm và lấy đạo hàm của mất mát của mẫu kiểm tra
đối với các tham số nhân với ảnh hưởng của z lên các tham số. Trong dòng
thứ ba, ta thay thế biểu thức bằng hàm ảnh hưởng cho các tham số. Số hạng
đầu tiên ở dòng thứ ba ∇θ Lpztest , θ̂qT là gradient của mẫu kiểm tra đối với
các tham số mô hình.
Ta đã có công thức. Nhưng tôi nghĩ điều quan trọng là hiểu được ý nghĩa
của công thức. Công thức cho Iup,loss cho ta biết rằng hàm ảnh hưởng của
mẫu dữ liệu huấn luyện z lên dự đoán của một mẫu ztest : “mẫu phản ứng
mạnh như thế nào với sự thay đổi của các tham số mô hình” nhân với “mức
độ thay đổi của các tham số khi chúng ta tăng trọng số mẫu z”. Một cách
khác để đọc công thức: Ảnh hưởng tỷ lệ với độ lớn của gradient đối với mất
mát huấn luyện (training loss) và mất mát kiểm tra (test loss). Gradient của
mất mát huấn luyện càng cao, ảnh hưởng của nó đến các tham số càng cao
và ảnh hưởng càng cao đến dự đoán kiểm tra (test prediction). Gradient của
dự đoán kiểm tra càng cao, thì mẫu kiểm tra càng có ảnh hưởng. Toàn bộ
cấu trúc cũng có thể được coi là thước đo mức độ giống nhau (như mô hình
đã học) giữa huấn luyện và kiểm tra.
Đó là lý thuyết. Phần tiếp theo giải thích cách các hàm ảnh hưởng có thể
được áp dụng.

Ứng dụng của các hàm ảnh hưởng Các hàm ảnh hưởng có nhiều ứng
dụng, một số ứng dụng đã được trình bày trong chương này.

Hiểu hành vi của mô hình Các mô hình học máy khác nhau có những
cách đưa ra dự đoán khác nhau. Ngay cả khi hai mô hình có cùng hiệu suất
(performance), cách chúng đưa ra dự đoán từ các đặc trưng có thể rất khác
nhau và do đó có thể thất bại trong các tình huống khác nhau. Hiểu được
những điểm yếu cụ thể của một mô hình bằng cách xác định các mẫu dữ
liệu có ảnh hưởng sẽ giúp hình thành “mô hình tinh thần” (mental model) về
hành vi của mô hình học máy trong tâm trí bạn.

Xử lý không khớp miền (domain mismatch)/Gỡ lỗi mô hình Xử lý


miền không khớp có liên quan chặt chẽ đến việc hiểu rõ hơn về hành vi của
mô hình. Miền không khớp có nghĩa là việc phân phối dữ liệu huấn luyện
và dữ liệu kiểm tra là khác nhau, có thể khiến mô hình hoạt động kém trên
dữ liệu kiểm tra. Các hàm ảnh hưởng có thể xác định các mẫu dữ liệu huấn
luyện gây ra lỗi. Giả sử bạn đã huấn luyện một mô hình dự đoán cho kết quả
của những bệnh nhân đã trải qua phẫu thuật. Tất cả những bệnh nhân này
đến từ cùng một bệnh viện. Bây giờ bạn sử dụng mô hình ở một bệnh viện
khác và thấy rằng nó không hoạt động tốt cho nhiều bệnh nhân. Tất nhiên,
bạn giả định rằng hai bệnh viện có các bệnh nhân khác nhau, và nếu bạn
nhìn vào dữ liệu của họ, bạn có thể thấy rằng họ khác nhau về nhiều đặc
trưng. Nhưng những đặc trưng hoặc mẫu dữ liệu nào đã “phá vỡ” mô hình?
Ở đây cũng vậy, các mẫu dữ liệu có ảnh hưởng là một cách tốt để trả lời câu
hỏi này. Bạn đưa một trong những bệnh nhân mới, người mà mô hình đã đưa
ra dự đoán sai, tìm và phân tích các mẫu dữ liệu có ảnh hưởng nhất. Ví dụ,
điều này có thể cho thấy rằng trung bình bệnh viện thứ hai có bệnh nhân
lớn tuổi hơn và các mẫu dữ liệu có ảnh hưởng nhất từ dữ liệu huấn luyện là
số ít bệnh nhân lớn tuổi từ bệnh viện đầu tiên và mô hình chỉ đơn giản là
thiếu dữ liệu để học để dự đoán tốt phân nhóm này. Kết luận là mô hình cần
được huấn luyện trên nhiều bệnh nhân lớn tuổi hơn để hoạt động tốt ở bệnh
viện thứ hai.
Sửa dữ liệu huấn luyện Nếu bạn bị giới hạn về số lần huấn luyện bạn
có thể kiểm tra tính đúng đắn, làm cách nào để bạn thực hiện lựa chọn hiệu
quả? Cách tốt nhất là chọn những mẫu dữ liệu có ảnh hưởng nhất, bởi vì -
theo định nghĩa - chúng có ảnh hưởng nhất đến mô hình. Ngay cả khi bạn có
một mẫu dữ liệu có giá trị sai, nếu mẫu dữ liệu đó không ảnh hưởng và bạn
chỉ cần dữ liệu cho mô hình, thì đó là lựa chọn tốt để kiểm tra các mẫu dữ
liệu có ảnh hưởng. Ví dụ, bạn huấn luyện một mô hình để dự đoán liệu một
bệnh nhân nên ở lại bệnh viện hay xuất viện sớm. Bạn thực sự muốn đảm
bảo rằng mô hình đó đưa ra dự đoán chính xác, bởi vì việc cho xuất viện sai
bệnh nhân có thể gây ra hậu quả xấu. Hồ sơ bệnh nhân có thể rất lộn xộn,
vì vậy bạn không có niềm tin hoàn hảo vào chất lượng của dữ liệu. Nhưng
việc kiểm tra thông tin bệnh nhân và chỉnh sửa nó có thể rất mất thời gian,
vì khi bạn đã báo cáo bệnh nhân nào cần kiểm tra, bệnh viện cần cử người
xem xét hồ sơ của những bệnh nhân được chọn, hồ sơ này có thể được viết
tay và nằm trong kho lưu trữ nào đó. Kiểm tra dữ liệu cho một bệnh nhân
có thể mất một giờ hoặc hơn. Theo quan điểm này, chỉ nên kiểm tra một vài
mẫu dữ liệu dữ liệu quan trọng. Cách tốt nhất là chọn những bệnh nhân có
ảnh hưởng cao đến mô hình dự đoán. Koh và Liang (2017) đã chỉ ra rằng
kiểu lựa chọn này hoạt động tốt hơn nhiều so với lựa chọn ngẫu nhiên hoặc
lựa chọn những người có mất mát cao nhất hoặc phân loại sai.

6.4.3 Ưu điểm của việc xác định các mẫu dữ liệu có


ảnh hưởng
Các phương pháp của chẩn đoán xóa và hàm ảnh hưởng rất khác so với
các phương pháp dựa trên nhiễu loạn đặc trưng (feature perturbation) được
trình bày trong chương 5. Việc xem xét các mẫu dữ liệu có ảnh hưởng nhấn
mạnh vai trò của dữ liệu huấn luyện trong quá trình đi tìm tính khả diễn
giải. Điều này làm cho các hàm ảnh hưởng và chẩn đoán xóa trở thành một
trong những công cụ gỡ lỗi tốt nhất cho các mô hình học máy. Trong số các
kỹ thuật được trình bày trong cuốn sách này, chúng là những kỹ thuật duy
nhất trực tiếp giúp xác định các mẫu dữ liệu cần được kiểm tra lỗi.
Chẩn đoán xóa có dạng mô hình mẫu (model-agnostic), có nghĩa
là phương pháp này có thể được áp dụng cho bất kỳ mô hình nào. Ngoài ra,
các hàm ảnh hưởng dựa trên đạo hàm có thể được áp dụng cho nhiều loại
mô hình.
Chúng ta có thể sử dụng các phương pháp này để so sánh các mô hình
học máy khác nhau và hiểu rõ hơn về các hành vi khác nhau của chúng, hơn
là chỉ so sánh hiệu suất dự đoán.
Ta chưa nói về chủ đề này trong chương này, nhưng các hàm ảnh hưởng
thông qua các đạo hàm cũng có thể được sử dụng để tạo dữ liệu
huấn luyện đối kháng. Đây là các mẫu dữ liệu được thay đổi theo cách mà
mô hình không thể dự đoán chính xác chúng khi mô hình được huấn luyện
trước đó trên các mẫu dữ liệu gốc. Sự khác biệt đối với các phương pháp
trong phần 6.2 là việc tấn công diễn ra trong quá trình huấn luyện, còn được
gọi là cuộc tấn công bằng chất độc (poisoning attacks). Nếu bạn quan tâm,
hãy đọc bài báo của Koh và Liang (2017).
Đối với chẩn đoán xóa, ta xem xét sự khác biệt trong dự đoán và đối
với hàm ảnh hưởng là sự gia tăng mất mát. Tuy nhiên, thực sự, các phương
pháp này có thể khái quát hóa cho bất kỳ câu hỏi nào thuộc dạng: “Điều gì
xảy ra với ... khi ta xóa hoặc tăng trọng số mẫu dữ liệu z?”, nơi bạn có thể
điền “...” bằng bất kỳ hàm nào của mô hình mà bạn mong muốn. Bạn có thể
phân tích mức độ ảnh hưởng của một mẫu dữ liệu huấn luyện đến mất mát
chung của mô hình. Bạn có thể phân tích mức độ ảnh hưởng của một mẫu
dữ liệu huấn luyện đến tầm quan trọng của đặc trưng. Bạn có thể phân tích
mức độ ảnh hưởng của một mẫu dữ liệu huấn luyện đến đặc trưng nào được
chọn cho nhánh đầu tiên khi huấn luyện cây quyết định.

6.4.4 Nhược điểm của việc xác định các mẫu dữ liệu
có ảnh hưởng
Việc tính toán chẩn đoán xóa rất mất thời gian vì chúng yêu cầu huấn
luyện lại. Nhưng lịch sử đã chứng minh rằng tài nguyên máy tính không ngừng
tăng lên. Một phép tính mà 20 năm trước là không tưởng về tài nguyên có
thể dễ dàng được thực hiện với điện thoại thông minh của bạ hiện nay. Bạn
có thể huấn luyện các mô hình với hàng nghìn mẫu dữ liệu huấn luyện và
hàng trăm tham số trên máy tính xách tay trong vài giây/phút. Do đó, không
phải là vô lý khi cho rằng chẩn đoán xóa sẽ hoạt động mà không gặp vấn đề
gì ngay cả với các mạng nơ-ron lớn trong 10 năm nữa.
Các hàm ảnh hưởng là một giải pháp thay thế tốt cho chẩn đoán xóa,
nhưng chỉ dành cho các mô hình có các tham số, chẳng hạn như mạng nơ-ron.
Chúng không hoạt động đối với các phương pháp dựa trên cây như rừng ngẫu
nhiên, cây tăng cường hoặc cây quyết định. Ngay cả khi bạn có các mô hình
với các tham số và một hàm mất mát, mất mát có thể không có đạo hàm.
Nhưng đối với vấn đề cuối cùng, có một mẹo nhỏ: Sử dụng một mất mát có
thể đạo hàm được để thay thế cho việc tính toán ảnh hưởng khi, ví dụ, mô
hình sử dụng mất mát Hingle thay vì một số mất mát có đạo hàm.
Các hàm ảnh hưởng chỉ mang tính chất gần đúng, vì phương pháp này
tạo thành một khai triển bậc hai xung quanh các tham số. Sự xấp xỉ có thể
sai và ảnh hưởng của một mẫu dữ liệu thực sự cao hơn hoặc thấp hơn khi
bị loại bỏ. Koh và Liang (2017) đã chỉ ra một số ví dụ chứng minh rằng ảnh
hưởng được tính toán bởi hàm ảnh hưởng gần với ảnh hưởng thu được khi
mô hình được huấn luyện lại sau khi mẫu dữ liệu bị xóa. Nhưng không có gì
đảm bảo rằng giá trị gần đúng sẽ luôn gần với giá trị thực tế.
Không có giới hạn rõ ràng giữa mẫu có ảnh hưởng và mẫu thông thường.
Sẽ rất hữu ích nếu ta sắp xếp các mẫu dữ liệu theo mức ảnh hưởng, nhưng sẽ
tuyệt hơn nếu ta có thể phân biệt giữa có ảnh hưởng và không có ảnh hưởng.
Ví dụ: nếu bạn xác định 10 mẫu dữ liệu huấn luyện có ảnh hưởng nhất hàng
đầu cho một mẫu kiểm tra, một số mẫu dữ liệu trong số đó có thể không có
ảnh hưởng, ví dụ: chỉ 3 mẫu dữ liệu hàng đầu thực sự có ảnh hưởng.
Các phương pháp này chỉ tính đến việc xóa các mẫu dữ liệu riêng lẻ chứ
không phải xóa một số mẫu dữ liệu cùng một lúc. Các nhóm mẫu dữ liệu
lớn hơn có thể có một số tương tác ảnh hưởng mạnh đến việc huấn luyện và
dự đoán mô hình. Nhưng vấn đề nằm ở tổ hợp: Có n khả năng xóa một mẫu
riêng lẻ khỏi dữ liệu. Có n nhân (n-1) khả năng xóa hai mẫu dữ liệu khỏi dữ
liệu huấn luyện. Có n nhân (n-1) nhân (n-2) khả năng xóa ba ... Tôi đoán
bạn có thể thấy điều này sẽ xảy ra, chỉ có quá nhiều sự kết hợp.

6.4.5 Phần mềm và giải pháp thay thế


Chẩn đoán xóa rất đơn giản để thực hiện. Hãy xem đoạn mã tôi đã viết
cho các ví dụ trong chương này.
Đối với mô hình tuyến tính và mô hình tuyến tính tổng quát, nhiều
phương pháp ảnh hưởng như khoảng cách Cook được tích hợp trong gói stats
với ngôn ngữ R.
Koh và Liang đã xuất bản mã Python cho các hàm ảnh hưởng từ bài báo
của họ trong một kho lưu trữ. Mã này tập trung vào thư viện Tensorflow, vì
vậy bạn không thể sử dụng nó trực tiếp cho các mô hình hộp đen sử dụng
các framework khác, như sci-kit learning.
Keita Kurita đã viết một bài blog tuyệt vời về các hàm ảnh hưởng và đã
giúp tôi hiểu bài báo của Koh và Liang tốt hơn. Blog đi sâu hơn một chút
vào toán học đằng sau các hàm ảnh hưởng cho các mô hình hộp đen và cũng
nói về một số “thủ thuật” để phương pháp này hoạt động một cách hiệu quả.
Chương 7

Diễn giải mạng nơ-ron


Chương này tập trung vào các phương pháp diễn giải cho mạng nơ-ron.
Các phương pháp trực quan hóa đặc trưng và khái niệm (concepts) được học
bởi một mạng nơ-ron, giải thích các dự đoán và đơn giản hóa mạng nơ-ron.
Học sâu (deep learning) đã trở nên cực kỳ thành công, đặc biệt trong các
tác vụ liên quan đến xử lý hình ảnh và văn bản như phân loại ảnh (image
classification) và dịch máy (translation). Câu chuyện thành công của các
mạng nơ-ron sâu bắt đầu từ năm 2012, khi mà cuộc thi phân loại ảnh trên
tập dữ liệu ImageNet có nhà vô địch sử dụng phương pháp học sâu. Từ đó
tới nay, ta đã chứng kiến sự bùng nổ mạnh mẽ của các cấu trúc mạng nơ-ron
sâu, với xu thế tăng dần về độ sâu và số lượng các trọng số của mạng nơ-ron.
Để tạo ra các dự đoán, dữ liệu được đưa qua rất nhiều tầng hay lớp (layer)
và nhân với các trọng số đã được học cùng với các phép biến đổi phi tuyến.
Một dự đoán đơn lẻ có thể liên quan đến hàng triệu phép tính toán phụ thuộc
vào cấu trúc của mạng nơ-ron. Rõ ràng ta không thể theo dõi từng ánh xạ và
các biến đổi diễn ra trong mạng nơ-ron. Ta có thể xem xét hàng triệu trọng
số tương tác với nhau theo các cách phức tạp để sáng tỏ cách mà một dự
đoán được tạo ra. Để diễn giải cách thức hoạt động và các dự đoán của các
mạng nơ-ron, ta cần các phương pháp diễn giải cụ thể. Bạn cần có kiến thức
về học sâu và mạng nơ-ron tích chập trước khi đi vào chương này.
Ta chắc chắn có thể sử dụng các phương pháp phân tích kiểu mẫu (model-
agnostic), ví dụ như LIME hoặc PDP (Partial Dependence Plot), nhưng có
hai lý do chính tại sao ta lại cần những phương pháp khác, mà đặc biệt dùng
để phân tích các mạng nơ-ron. Thứ nhất, mạng nơ-ron học các đặc trưng và
khái niệm ở trong các lớp ẩn (hidden layers) và ta cần các công cụ đặc biệt

308
để có thể khai phá chúng. Thứ hai, gradient có thể được dùng để tạo ra các
phương pháp mà có độ phức tạp về tính toán thấp hơn so với các công cụ
kiểu mẫu (phân tích mạng từ bên ngoài). Hầu hết các phương pháp trong
cuốn sách này nhằm giải thích các mô hình xây dựng từ dữ liệu dạng bảng
(tabular). Ảnh và văn bản cần các phương pháp khác.

7.1 Các đặc trưng được học


Mạng thần kinh tích chập học các đặc trưng trừu tượng và khái niệm trừu
tượng từ các điểm ảnh của hình ảnh gốc. Trực quan hóa đặc trưng biểu diễn
các đặc trưng đã được học thông qua việc cực đại hóa kích hoạt (activation
maximization). Phân tách mạng Network Dissection gán nhãn các đặc trưng
của mạng thần kinh (ví dụ như các kênh) với các khái niệm của con người.
Các mạng nơ-ron sâu học các đặc trưng cấp cao (high-level features)
trong các lớp ẩn của mạng. Đây là một trong những thế mạnh to lớn nhất
và điều này làm giảm thiểu sự cần thiết của các kỹ thuật đặc trưng (feature
engineering). Giả sử bạn muốn xây dựng một bộ phân loại hình ảnh với
Support Vector Machine (SVM). Ma trận các điểm ảnh thô không phải là
đầu vào tốt nhất cho việc huấn luyện mô hình SVM của chúng ta, nên ta cần
tạo ra các đặc trưng mới dựa trên màu sắc, miền tần số (frequency domain),
phát hiện cạnh, vân vân. Với mạng thần kinh tích chập, hình ảnh được đưa
vào trong mạng là các mẫu thô (điểm ảnh), sau đó mạng biến đổi hình ảnh
đầu vào nhiều lần. Đầu tiên, hình ảnh đi qua nhiều lớp tích chập. Trong
những lớp tích chập này, mạng học những đặc trưng mới và ngày càng tăng
độ phức tạp trong các lớp đó. Sau đó những thông tin của hình đã được ảnh
biến đổi đi qua các lớp liên kết đầy đủ (fully connected) và trả về kết quả.
Hình 7.1: Các đặc trưng học được bởi mạng thần kinh tích chập (Inception
V1) được huấn luyện trên tập dữ liệu ImageNet. Các đặc trưng được sắp
xếp thứ tự từ những đặc trưng đơn giản trong các lớp tích chập thấp hơn
(trái) đến trừu tượng hơn trong các lớp tích chập cao hơn (phải). Hình ảnh
từ Olah, et al. 2017 (CC-BY 4.0) xem thêm.

- Các đặc trưng của những lớp tích chập đầu tiên là cạnh và một số kết
cấu đơn giản.
- Các đặc trưng của các lớp tích chập sau đó là các họa tiết (patterns or
textures) và kết cấu phức tạp hơn một chút.
- Các đặc trưng của các lớp tích chập cuối là vật thể hoặc một phần của
vật thể.
- Các lớp kết nối đầy đủ liên kết các kích hoạt từ các đặc trưng bậc cao
đến các lớp độc lập để tạo ra dự đoán cuối cùng.
Vậy là ta đã nắm một số khái niệm để hình dung về các đặc trưng được
học bởi mạng nơ-ron, vậy bằng cách nào chúng ta có thể biểu diễn chúng
một cách trực quan?

7.1.1 Trực quan hóa đặc trưng


Cách tiếp cận việc tạo ra các đặc trưng một cách minh bạch như thế này
được gọi là trực quan hóa đặc trưng (feature visualization). Trực quan hóa
đặc trưng cho một thành phần của mạng thần kinh là việc tìm ra đầu vào
mà sẽ làm tối đa hóa kích hoạt của thành phần đó.
“Thành phần” nghĩa là nơ-ron đơn lẻ, hoặc các kênh (hay còn gọi là bản
đồ đặc trưng (feature maps)), hay toàn bộ lớp hoặc xác suất trả về bởi lớp
cuối cùng trong bộ phân loại (hoặc tương đương với nơ-ron pre-softmax mà
ta đang quan tâm). Các nơ-ron độc lập là thành phần nguyên tử của mạng,
nên chúng ta sẽ lấy được hầu hết thông tin bằng cách tạo các trực quan hóa
đặc trưng cho mỗi nơ-ron. Nhưng có một vấn đề: Các mạng nơ-ron thường
chứa hàng triệu các nơ-ron. Nếu nhìn vào mỗi trực quan hóa của từng đặc
trưng thì sẽ rất tốn thời gian. Các kênh (thường được gọi là các bản đồ kích
hoạt - activation maps) là một lựa chọn không tồi cho việc trực quan hóa
đặc trưng. Chúng ta có thể đi một bước xa hơn và trực quan hóa cả một lớp
tích chập hoàn toàn (entire convolutional layer). Việc coi các lớp như là một
thành phần được sử dụng trong DeepDream của Google, khi ta liên tục lặp
đi lặp lại các trực quan hóa đặc trưng của một lớp vào hình ảnh gốc, kết quả
cuối cùng là một phiên bản như mơ ước của đầu vào (ảnh mà sẽ làm cực đại
hóa tất cả các thành phần của mạng nơ-ron).

Hình 7.2: Trực quan hóa có thể tạo ra từ các thành phần khác nhau. A) Nơ-
ron tích chập, B) Kênh tích chập, C) Lớp tích chập, D) Nơ-ron, E) Lớp ẩn,
F) Nơ-ron xác suất phân loại lớp (hoặc tương đương với nơ-ron pre-softmax).
Trực quan hóa đặc trưng thông qua tối ưu hóa

Trong các thuật ngữ toán học, trực quan hóa là một vấn đề tối ưu. Chúng
ta giả sử rằng các trọng số của mạng là được cố định, có nghĩa rằng một
mạng được huấn luyện. Chúng ta tìm kiếm một hình ảnh mới mà tối đa hóa
(trung bình) kích hoạt một thành phần, ở đây là một nơ-ron đơn:

img ˚ “ arg max hn,x,y,z pimgq


img

Hàm h là hàm kích hoạt của một nơ-ron, img là đầu vào của một mạng
(thường là hình ảnh), x và y mô tả không gian vị trí của nơ-ron, n là chỉ số
lớp và z là chỉ số kênh. Đối với kích hoạt trung bình của toàn bộ kênh z trong
lớp n chúng ta tối đa hóa:

ÿ
˚
img “ arg max hn,x,y,z pimgq
img
x,y

Trong công thức này, tất cả nơ-ron trong kênh z là có trọng số như nhau.
Ngoài ra, ta cũng có thể tối đa hóa các hướng ngẫu nhiên, nghĩa là các nơ-
trong sẽ được nhân bởi các tham số khác nhau, bao gồm cả các chiều âm.
Trong trường hợp này, chúng ta nghiên cứu cách mà các nơ-ron tương tác với
nhau trong kênh. Thay vì tối đa hóa kích hoạt, ta cũng có thể tối thiểu hóa
các giá trị này (tương đương với tối đa hóa theo chiều âm). Một điều rất thú
vị, khi ta tối đa hóa theo chiều âm, ta tạo sẽ thu về đặc trưng rất khác biệt
cho cùng thành phần:
Chúng ta có thể giải quyết bài toán tối ưu này theo các cách khác nhau.
Đầu tiên, tại sao chúng ta lại sinh ra các hình ảnh mới? Chúng ta có thể
đơn giản hóa bằng cách tìm kiếm trên các ảnh trong tập huấn luyện và lựa
chọn những bức ảnh làm cực đại kích hoạt. Đây là một cách tiếp cận hợp lý,
nhưng sử dụng dữ liệu huấn luyện có một vấn đề là các thành phần trong
các hình ảnh có thể bị tương quan và chúng ta không thể nhìn thấy những
gì mà mạng nơ-ron thực sự nhìn thấy. Nếu các hình ảnh trên sinh ra một
kích hoạt (activation) cao trên kênh hiện tại và ảnh đó thể hiện một con chó
và một quả bóng tennis, chúng ta không biết cái nào mà mạng nơ-ron đang
quan tâm, là con chó, là quả bóng tennis hay là có thể cả hai.
Một cách tiếp cận khác là tạo ra các hình ảnh mới, bắt đầu từ các nhiễu
ngẫu nhiên (random noise). Để thu được các hình ảnh trực quan có nghĩa,
Hình 7.3: Kích hoạt dương (trái) và âm (phải) của Inception V1 nơ-ron 484
từ lớp mix4d pre relu. Trong khi nơ-ron là được kích hoạt (activation) mạnh
nhất bởi các bánh xe, thì có một thứ gì đó trông giống như có mắt sinh ra
từ kích hoạt âm (code).

ta chấp nhận những ràng buộc trong hình ảnh, ví dụ chỉ có các thay đổi nhỏ
là được cho phép. Để giảm thiểu nhiễu trong trực quan hóa đặc trưng, ta
có thể áp dụng các rung động (jittering), xoay hoặc thay đổi tỷ lệ hình ảnh
trước bước tối ưu hóa. Các phương pháp khác sẽ dựa trên việc diều chuẩn
(regularization) bao gồm trừng phạt tần suất (ví dụ giảm phương sai của các
điểm ảnh lân cận) hoặc sinh ra các hình ảnh với xác suất tiên nghiệm đã học
trước đó (learned priors), ví dụ với các mạng GANs (Generative adversarial
networks) hoặc mạng giảm nhiễu autoencoders (denoising autoencoders).

Hình 7.4: Tối ưu hóa lặp đi lặp lại từ các hình ảnh ngẫu nhiên để tối đa hóa
kích hoạt.

Nếu bạn muốn tìm hiểu sâu hơn về trực quan hóa đặc trưng, hãy xem
qua trang tạp chí distill.pub, đặc biệt các trực quan hóa đặc trưng được đăng
bởi Olah et al. Cuốn sách này có sử dụng nhiều hình ảnh cũng như các khối
(building blocks) liên quan đến tính khả năng diễn giải.
Liên hệ tới các ví dụ của học đối kháng (Adversarial Examples)

Có một liên kết giữa trực quan hóa đặc trưng và các ví dụ đối kháng:
Cả hai kỹ thuật đều tối đa hóa kích hoạt của thành phần mạng nơ-ron. Với
các ví dụ đối kháng, chúng ta tìm kiếm các kích hoạt tối đa của nơ-ron cho
các lớp phản nghich (= lớp không chính xác). Một khác biệt là với hình ảnh
chúng ta bắt đầu: Đối với các ví dụ đối kháng, nó là hình ảnh mà chúng ta
muốn sinh ra hình ảnh đối kháng. Đối với trực quan hóa đặc trưng nó là các
nhiễu ngẫu nhiên, và phụ thuộc vào phương pháp tiếp cận.

Dữ liệu văn bản và bảng

Các nghiên cứu hiện nay đang tập trung vào trực quan hóa đặc trưng mạng
nơ-ron tích chập trong bài toán nhận diện hình ảnh (image recognition). Về
mặt kỹ thuật, không có điều gì ngăn ta tìm đầu vào mà tối đa kích hoạt
của một nơ-ron của mạng nơ-ron liên kết đầy đủ cho dữ liệu bảng hoặc một
mạng nơ-ron hồi tiếp (recurrent neural network) cho dữ liệu văn bản. Bạn
có thể không thể gọi nó là trực quan hóa đặc trưng nữa, vì các đặc trưng sẽ
là dữ liệu đầu vào dạng bảng hoặc văn bản. Ví dụ đối với bài toán với dự
đoán tín dụng mặc định, các đầu vào có thể là số lượng các tín dụng trước
đó, số lượng các hợp đồng di động, địa chỉ và hàng tá các đặc trưng khác.
Các đặc trưng được học của một nơ-ron sẽ là sự kết hợp nhất định của hàng
tá các đặc trưng này. Còn đối với mạng nơ-ron hồi tiếp, nó có chút dễ dàng
hơn để trực quan những gì mạng nơ-ron học được: Karpatht et. al (2015) đã
chỉ ra rằng mạng nơ-ron hồi tiếp thực sự có các nơ-ron mà học những đặc
trưng khả diễn giải. Chúng huấn luyện một mô hình dưới cấp độ các ký tự,
nó dự đoán những ký tự tiếp theo trong chuỗi từ những ký tự trước đó. Một
khi dấu mở ngoặc “(” xuất hiện, một trong những nơ-ron đạt kích hoạt cao,
và nơ-ron bị vô hiệu hóa khi một dấu đóng ngoặc ")" xuất hiện. Các nơ-ron
khác được kích hoạt ở cuối dòng. Một số nơ-ron bị kích thích bở các đường
dẫn (URLs). Sự khác biệt so với trực quan hóa đặc trưng cho CNNs đó là
các mẫu dữ liệu không được tìm thấy thông qua tối ưu, mà thông qua việc
nghiên cứu các kích hoạt trong dữ liệu huấn luyện. Một số hình ảnh có nội
dung thể hiện trông giống như mõm chó hoặc tòa nhà. Nhưng làm thế nào
để chúng ta có thể chắc chắn được? Phương pháp phân tách mạng (Network
Dissection) liên kết các khái niệm của con người với các thành phần nơ-ron
độc lập. Cảnh báo trước: Phương pháp phân tách mạng (Network Dissection)
yêu cầu thêm dữ liệu bổ sung mà trước đó ta cần gán nhãn với các khái niệm
của con người.

7.1.2 Phân tách mạng (Network Dissection)


Phân tách mạng được phát minh bởi Bau & Zhou et al. (2017) phương
pháp này lượng khả năng diễn giải một thành phần của một mạng nơ-ron
tích chập. Phương pháp này gán nhãn cho các kênh của CNNs với các khái
niệm của con người (đối tượng, bộ phận, kết cấu, màu sắc,. . . ).
Các kênh của mạng nơ-ron tích chập học các đặc trưng mới, như chúng
ta đã thấy trong chương này về phần trực quan hóa đặc trưng. Nhưng những
trực quan hóa này không chứng minh được rằng một thành phần đã học một
khái niệm nhất định hay không? Chúng ta cũng không đo lường được hiệu
quả hoạt động trong việc nhận biết vật thể của một thành phần là tốt như
thế nào. Trước khi chúng ta đi vào chi tiết về phân tách mạng, trước hết
cần đề cập tới những giả thiết của phương pháp này. Những giả thuyết này
là: Các thành phần của mạng nơ-ron (như là các kênh tích chập) học những
khái niệm riêng rẽ với nhau (disentangled concepts).
Các đặc trưng riêng rẽ
Liệu mạng nơ-ron học các đặc trưng riêng rẽ (disentangled features)? Đặc
trưng riêng rẽ nghĩa là các thành phần mạng riêng lẻ phát hiện các khái niệm
cụ thể khác nhau. Ví dụ, kênh tích chập 394 có thể phát hiện tòa nhà chọc
trời, kênh 121 là mõm chó, kênh 12 là sọc ở góc 30 độ . . . Đối lập với mạng
tách bạch (Disentangled network) là một mạng không tách bạch (Entangled
network). Trong mạng hoàn toàn phi tách bạch, ví dụ, không có bất cứ kênh
đơn lẻ nào gắn với mõm chó. Tất cả các kênh đều đóng góp để nhận diện
mõm chó.
Các tính năng tách bạch hàm ý rằng mạng có tính khả diễn giải cao.
Chúng ta giả sử rằng có một mạng với các thành phần hoàn toàn tách bạch
đã được gán nhãn với các khái niệm đã biết. Điều này sẽ giúp việc giám
sát quy trình tạo ra các quyết định của mạng trở nên dễ dàng hơn. Ví dụ,
chúng ta phân tích cách mà mạng nơ-ron phân loại chó husky với sói. Đầu
tiên chúng ta xác định các đặc trưng của chó husky. Khi ta đưa vào một ảnh
của chó husky, ta có thể kiểm tra liệu kết quả có phụ thuộc vào thành phần
“mõm chó”, “lông mịn” và “tuyết” từ các lớp phía trước hay không. Nếu có,
chúng ta biết rằng nó sẽ đang phân loại chính xác. Trong một mạng tách
bạch (disentangled)„ chúng ta có thể chỉ ra các mối tương quan phi nhân
quả. Chúng ta có thể tự động liệt kê tất cả các thành phần kích hoạt và khái
niệm của chúng để giải thích một dự đoán độc lập. Hơn nữa, ta có thể dễ
dàng phát hiện sai lệch trong mạng nơ-ron. Ví dụ, mạng có học đặc trưng
“da trắng” để dự đoán lương của một người hay không)?
Thực tế: Mạng nơ-ron tích chập không phải là tách bạch. Chúng ta sẽ
xem xét chi tiết hơn thuật toán để tìm ra như thế nào là một mạng nơ-ron
khả diễn giải.

Thuật toán phân tách mạng

Phân tách mạng bao gồm ba bước:


1. Lấy vào hình ảnh với nhãn đã được con người gán với khái niệm trực
quan.
2. Đo đạc các kích hoạt của kênh cho những hình ảnh này.
3. Định lượng sự tương quan giữa kích hoạt và các khái niệm đã được dán
nhãn
Hình sau thể hiện một hình ảnh được đưa một kênh và khớp với khái
niệm được gán nhãn.

Hình 7.5: Cho một hình ảnh đầu vào và một mạng đã được huấn luyện (các
trọng số cố định), chúng ta đưa hình ảnh này qua các thành phần mạng ta
đang quan tâm, tăng kích thước hình ảnh của các kích hoạt để khớp với kích
thước hình gốc và so sánh các kích hoạt cực đại với các phân vùng ảnh đã
được gán nhãn từ ảnh gốc. Hình ảnh từ Bau & Zhou et. al (2017).
Bước 1: Tập dữ liệu Broden Bước đầu tiên là bước cực kỳ khó khăn
nhưng lại rất quan trọng đó là thu thập dữ liệu. Phân tách mạng (Network
Dissection) yêu cầu các hình ảnh được gán nhãn ở mức độ điểm ảnh với các
khái niệm và các cấp độ trừu tượng khác nhau (từ màu sắc cho đến bối cảnh).
Bau & Zhou et. al đã tạo ra một bộ dữ liệu được gán nhãn ở mức điểm ảnh.
Chúng ta gọi đây là tập dữ liệu “Broden”, viết tắt của “Broadly and Densely
labeled data”. Bộ dữ liệu Broden được phân vùng ở cấp độ điểm ảnh, với
một phần dữ liệu thì toàn bộ hình được gán nhãn. Broden chứa 60,000 hình
với trên 1,000 nhãn thực tế trong ở các cấp bậc trừu tượng khác nhau: 468
quang cảnh (scenes) 585 vật thể (objects), 234 bộ phận (parts), 32 nguyên
vật liệu (materials), 47 kết cấu (textures) và 11 màu sắc (colors). Hình ảnh
dưới đây trình bày một số ví dụ từ bộ dữ liệu Broden.

Hình 7.6: Một số ví dụ từ bộ dữ liệu Broden. Hình ảnh gốc từ Bau & Zhou
et. al (2017).
Bước 2: Truy xuất các kích hoạt của mạng Tiếp theo, chúng ta tạo
các mặt nạ (masks) của các vùng có kích hoạt lớn nhất ứng với mỗi kênh cho
mỗi ảnh đầu vào. Tại đây các nhãn vẫn chưa được sử dụng.

• Với mỗi kênh tích chập k:

– Với mỗi ảnh x trong tập dữ liệu Broden


∗ Đưa ảnh x đến lớp mục tiêu (target layer) chứa kênh k
∗ Trích xuất các kích hoạt của từng điểm ảnh của kênh tích chập k:
Ak pxq
– Tính toán phân phối của các kích hoạt điểm ảnh αk trên tất cả các
hình
– Xác định khoảng lượng tử bậc 0.005-quantilec Tk của các kích hoạt
αk . Điều này có nghĩa là 0.5% tất cả các kích hoạt của kênh k cho
hình x lớn hơn Tk .
– Với mỗi hình x trong tập dữ liệu Broden:
∗ Thay đổi kích thước ảnh của bản đồ kích hoạt Ak pxq cho giống với
hình x. Chúng thu được Sk pxq
∗ Nhị phân hóa bản đồ kích hoạt: Một điểm ảnh là bật (on - giá trị
1) hoặc tắt (off - giá trị 0), phụ thuộc vào nó vượt quá ngưỡng
kích hoạt Tk hay không. Ta thu được các mặt nạ mới là

Mk pxq “ Sk pxq ě Tk pxq

Bước 3: Căn chỉnh khái niệm kích hoạt (Activation-concept) Sau


bước 2 chúng ta có một mặt nạ kích hoạt cho mỗi kênh và hình ảnh. Những
mặt nạ kích hoạt đánh dấu các vùng kích hoạt cao. Đối với mỗi kênh chúng
ta muốn tìm nhãn của kênh đó. Chúng ta tìm khái niệm đó bằng cách so
sánh các mặt nạ kích hoạt với tất cả các khái niệm được gán nhãn. Chúng
ta định lượng sự tương quan giữa mặt nạ kích hoạt k với mặt nạ khái niệm
c bằng giá trị IoU (Intersection over Union):
ř Ş
|Mk pxq Lc pxq|
IoUk,c “ř Ť
|Mk pxq Lc pxq|
Trong đó | ¨ | là phép lấy số lượng điểm (cardinality). IoU so sánh tương
quan giữa hai vùng. IoUk,c có thể được diễn giải như là độ chính xác mà kênh
k biểu khái niệm c. Chúng ta gọi thành phần k là một bộ phát hiện của khái
niệm c khi IoUk,c ą 0.04. Ngưỡng này được lựa chọn bởi Bau & Zhou et. al
bằng thực nghiệm.
Hình ảnh dưới đây minh họa IoU của mặt nạ kích hoạt và mặt nạ khái
niệm cho một hình:

Hình 7.7: IoU được tính toán bằng cách so sánh các phân vùng được gắn
nhãn bởi người và các điểm ảnh có kích hoạt đứng đầu.

Hình ảnh sau đây chỉ ra một thành phần phát hiện chó:

Hình 7.8: Mặt nạ kích hoạt cho inception_4e kênh 750, kênh này phát hiện
chó với IoU = 0.203.

Các thí nghiệm

Tác giả của thuật toán phân tách mạng (Network Dissection) đã huấn
luyện các kiến trúc mạng khác nhau (AlexNet, VGG, GoogleNet, ResNet) từ
đầu (from scratches) trên các tập dữ liệu khác nhau (ImageNet, Places205,
Places365). ImageNet chứa 1.6 triệu hình và 1000 lớp. Places205 và Places365
chứa 2.4 triệu và 1.6 triệu hình từ 205 và 365 khung cảnh khác nhau. Họ huấn
luyện thêm AlexNet trên các bài toán huấn luyện tự giám sát (self-supervised
training) ví dụ như dự đoán thứ tự khung hình video hoặc tô màu hình ảnh.
Đối với các tùy chỉnh khác nhau, họ coi số bộ phát hiện khái niệm (duy nhất)
là một thước đo của tính khả diễn giải. Đây là một số phát hiện:
- Các mạng phát hiện các khái niệm cấp độ thấp (màu sắc, kết cấu) tại
những lớp thấp hơn và những khái niệm cao hơn (bộ phận, đối tượng) tại
các lớp cao hơn. Chúng ta đã thấy được điều đó trong 7.1.1.
- Chuẩn hóa theo batch (Batch normalization) giảm thiểu số các bộ phát
hiện khái niệm duy nhất.
- Nhiều thành phần trong mạng phát hiện cùng một khái niệm. Ví dụ,
có 95 kênh phát hiện chó trong VGG được huấn luyện trên ImageNet khi sử
dụng IoU > 0.04 (4 trong conv4_3, 91 trong conv5_3, xem trong website dự
án).
- Việc tăng số kênh trong một lớp cũng đồng thời làm tăng số bộ phát
hiện khái niệm.
- Các khởi tạo ngẫu nhiêu - random initializations (huấn luyện với các
seed ngẫu nhiên khác nhau) cho kết quả hơi khác nhau về số lượng của các
bộ phát hiện khái niệm.
- ResNet là một kiến trúc mạng với số bộ phát hiện duy nhất lớn nhất,
tiếp theo là VGG, GoogleNet và AlexNet là cuối cùng.
- Số bộ phát hiện khái niệm duy nhất lớn nhất là được học từ Places365,
tiếp theo là Places205 và ImageNet là cuối cùng.
- Số bộ phát hiện duy nhất tăng với số vòng lặp huấn luyện.
- Các mạng được huấn luyện trên các nhiệm vụ tự giám sát có các bộ
phát hiện duy nhất ít hơn so với các mạng được huấn luyện trên các nhiệu
vụ giám sát.
- Trong học truyền tải (transfer learning), khái niệm của một kênh có thể
thay đổi. Ví dụ, một bộ phát hiện chó có thể trở thành bộ phát hiện thác
nước. Điều này xảy ra trong một mô hình mà nó ban đầu được huấn luyện
để phân loại các đối tượng và sau đó tinh chỉnh để phân loại khung cảnh.
- Trong một thí nghiệm, tác giả xem xét các kênh theo phương pháp
mới (phương pháp xoay). Thí nghiệm được thực hiện với mạng VGG đã
huấn luyến trên ImageNet. “Xoay” không có nghĩa rằng hình ảnh đã bị xoay.
“Xoay” nghĩa là chúng ta lấy 256 kênh từ lớp conv5 và tính toán 256 kênh mới
Hình 7.9: ResNet được huấn luyện trên Places365 có số phát hiện duy nhất
cao nhất. AlexNet với các trọng số ngẫu nhiên có số bộ phát hiện duy nhất
thấp nhất và được dùng làm tham chiếu. Hình ảnh gốc từ Bau & Zhou et. al
(2017).

như là sự kết hợp tuyến tính của các kênh trước đó. Trong quá trình đó, các
kênh là phi tách bạch (entangled). Sự xoay giảm bớt khả năng diễn giải, tức
là số lượng kênh được điều chỉnh với một khái niệm giảm đi. Phép xoay được
thiết kế để giữ cho hiệu suất của mô hình không đổi. Kết luận thứ nhất: Khả
năng diễn giải của CNNs là phụ thuộc theo trục (axis-dependent). Điều này
có nghĩa rằng việc kết hợp ngẫu nhiên các sẽ không có nhiều khả năng tạo ra
các bộ phát hiện khái niệm duy nhất. Kết luận thứ hai: Khả năng diễn giải
là độc lập với khả năng phân loại (discriminative power). Các kênh có thể
được biến đổi với các phép biến đổi trực giao (orthogonal transformations)
trong khi khả năng phân loại duy trì như cũ, nhưng khả năng diễn giải giảm
đi.
Các tác giả cũng đã sử dụng phân tách mạng cho GANs (Generative
Adversarial Networks). Bạn có thể tìm thấy phân tách mạng cho GANs trên
website.
Hình 7.10: Số các bộ phát hiện khái niệm duy nhất giảm đi khi 256 kênh của
AlexNet conv5 (huấn luyện trên ImageNet) dần thay đổi trục bằng một phép
biến đổi trực giao ngẫu nhiên. Hình ảnh gốc từ Bau & Zhou et. al (2017). Để
hiểu rõ hơn, bạn có thể đọc thêm ở đây.

7.1.3 Ưu điểm
Việc trực quan hóa đặc trưng cung cấp cái nhìn sâu sắc độc đáo về
hoạt động của các mạng nơ ron, đặc biệt là bài toán nhận dạng hình
ảnh. Với sự phức tạp và thiếu tường minh của các mạng nơ ron, việc trực
quan hóa đặc trưng là một bước quan trọng trong việc phân tích và mô tả
các mạng nơ ron. Thông qua việc trực quan hóa đặc trưng, chúng ta thấy
rằng trong các lớp (layer) đầu tiên là các bộ phát hiện cạnh đơn giản cũng
như kết cấu; trong khi các thành phần phát hiện khái niệm trừu tượng và đối
tượng nằm ở các lớp cao hơn. Phân tách mạng cung cấp những hiểu biết và
làm cho tính khả giải thích của các thành phần mạng có thể đo lường được.
Phân tách mạng cho phép chúng ta tự động liên kết các thành phần
với các khái niệm, điểu này rõ ràng là rất hữu dụng.
Trực quan hóa đặc trưng là một công cụ tuyệt vời để thể hiện một cách
đơn giản cách thức hoạt động của các mạng nơ ron.
Với phân tách mạng, chúng ta cũng có thể phát hiện các khái niệm
ngoài các lớp (class) trong bài toán phân loại. Nhưng chúng ta cần các
bộ dữ liệu có chứa những hình ảnh với các khái niệm được gắn nhãn theo
pixel như Broden.
Trực quan hóa đặc trưng có thể được kết hợp với các phương pháp
thành tố đặc trưng (feature attribution), nhằm giải thích pixel nào là
quan trọng ứng với mỗi dự đoán. Sự kết hợp của cả hai phương pháp cho
phép giải thích một dự đoán riêng lẻ cùng với trực quan hóa cục bộ các đặc
trưng đã học có liên quan đến phân loại (xem thêm tại đây).

7.1.4 Nhược điểm


Nhiều hình ảnh từ trực quan hóa đặc trưng không có ý nghĩa,
chúng chứa một số đặc trưng trừu tượng mà ta không thể diễn giải bằng ngôn
ngữ con người. Trong trường hợp này, hiển thị trực quan hóa đặc trưng cùng
với dữ liệu huấn luyện có thể giúp ích. Ngoài ra, trực quan hóa vẫn không
thể tiết lộ những gì mạng nơ-ron đã học mà chỉ hiển thị một cái gì đó có
“màu vàng”. Nhìn chung, kết quả vẫn là khá thô sơ. Ngay cả với phân tách
mạng, một số kênh không được liên kết với khái niệm con người. Ví dụ: lớp
conv5_3 từ VGG được huấn luyện trên ImageNet có 193 kênh (trong số 512)
không thể gắn với khái niệm của con người.
Có quá nhiều thành phần để xem xét trong một mạng nơ-ron,
ngay cả khi “chỉ” xem xét các kích hoạt của kênh kênh. Đối với Inception V1,
đã có hơn 5000 kênh từ 9 lớp chập. Nếu ta hiển thị cả kích hoạt âm và một
vài hình ảnh từ dữ liệu huấn luyện cho kích hoạt tối đa hoặc tối thiểu (giả
sử 4 âm, 4 dương), thì ta phải hiển thị hơn 50.000 hình ảnh. Ít nhất chúng
ta biết - nhờ phân tách mạng - chúng ta đã có một chút cơ sở cho việc phân
tích.
Ảo tưởng về tính khả giải thích? Các trực quan hóa đặc trưng có
thể truyền tải ảo tưởng rằng chúng ta hiểu mạng nơ-ron đang làm gì. Nhưng
chúng ta có thực sự hiểu những gì đang xảy ra trong mạng nơ-ron? Ngay cả
khi chúng ta nhìn vào hàng trăm hoặc hàng ngàn hình ảnh trực quan, chúng
ta không thể hiểu được mạng nơ ron. Các kênh tương tác theo một cách phức
tạp, kích hoạt tích cực và tiêu cực không liên quan đến nhau, nhiều nơ-ron
có thể học các đặc trưng rất giống nhau và đối với nhiều đặc trưng chúng
ta không có khái niệm tương đương với con người. Chúng ta không nên tin
rằng chúng ta hoàn toàn hiểu mạng nơ ron chỉ vì chúng ta tin rằng chúng ta
đã thấy rằng tế bào nơ ron 349 ở lớp 7 được kích hoạt bởi hoa daisy. Phân
tích mạng cho thấy các kiến trúc như ResNet hoặc Inception có các thành
phần mà phản ứng với các khái niệm nhất định. Nhưng IoU không phải là
một thước đo hoàn chỉnh và thường thì sẽ có nhiều thành phần phản ứng với
cùng một khái niệm và một số không phản ứng với khái niệm nào cả. Các
kênh không hoàn toàn tách rời và chúng ta không thể giải thích chúng một
cách cô lập.
Đối với phân tách mạng, bạn cần các bộ dữ liệu được gắn nhãn ở
cấp độ pixel với các khái niệm. Các bộ dữ liệu này mất rất nhiều nỗ lực để
thu thập, vì mỗi pixel cần được dán nhãn, thường hoạt động bằng cách vẽ
các phân đoạn xung quanh các đối tượng trên hình ảnh.
Phân tách mạng chỉ điều chỉnh các khái niệm của con người với các kích
hoạt dương chứ không phải với các kích hoạt âm của các kênh. Như các trực
quan hóa đặc trưng cho thấy, kích hoạt âm dường như cũng được liên kết với
các khái niệm.

7.1.5 Phần mềm và tài liệu khác


Có một bộ mã nguồn mở của trực quan hóa đặc trưng được gọi là Lucid.
Bạn có thể dùng thử trong trình duyệt của mình bằng cách sử dụng các
liên kết notebook được cung cấp trên trang Lucid Github. Không có phần
mềm bổ sung được yêu cầu. Các chương trình khác bao gồm tf_cnnvis cho
TensorFlow, Bộ lọc Keras cho Keras và DeepVis cho Caffe.
Network Dissection có một trang web dự án tuyệt vời. Bên cạnh bài báo,
trang web lưu trữ các tài liệu bổ sung như mã code, dữ liệu và trực quan hóa
của các mặt nạ kích hoạt.
Chương 8

Nhìn về tương lai


Vậy tương lai của học máy khả diễn giải là gì? Chương này gồm những
phỏng đoán cá nhân của tác giả về tương lai của học máy khả diễn giải. Tôi
đã mở đầu cuốn sách này với những mẩu chuyện nhỏ bi quan và sẽ kết thúc
bằng một cái nhìn lạc quan.
Những phỏng đoán của tôi dựa vào ba tiên đề sau:
1. Sự số hóa: Bất cứ thông tin hữu ích nào đều sẽ được số hóa.
Hãy nghĩ về việc thanh toán trực tuyến và tiền điện tử, về sách điện tử, âm
nhạc và video. Nghĩ về tất cả các dữ liệu trong đời sống thường nhật, hành
vi của con người, quá trình sản xuất công nghiệp, ... Những tiên lượng về
việc số hóa dữ liệu ở khắp nơi: từ các máy tính/cảm biến/bộ nhớ giá rẻ, mở
rộng thị trường (winner takes it all), các mô hình kinh doanh mới, các chuỗi
giá trị, áp lực giá cả và hơn thế nữa.
2. Tự động hóa: Khi một bài toán có thể được tự động và giá
thành tự động hóa trở nên thấp hơn giá thành để vận hành, vấn đề
sẽ được tự động hóa. Thậm chí ngay trước sự có mặt của máy tính, ta đã
có tự động hóa. Ví dụ, các máy dệt tự động hay các máy hơi nước. Nhưng
máy tính và chu trình số hóa đưa tự động hóa lên một tầm cao mới. Chỉ đơn
giản với việc bạn dùng các vòng lặp for trong lập trình, viết các hàm tính
toán với Excel hay trả lời thư tự động cũng đã cho ta thấy tiềm năng vô hạn
của tự động hóa. Các máy bán vé tự động phụ trách bán vé tàu (không cần
nhân viên thu ngân), các mát giặt tự động là ủi, các máy đặt hàng tự động
việc thanh toán ... Việc tự động hóa các công việc tiết kiệm cho ta rất nhiều
thời gian và tiền bạc, do đó vấn đề này được đầu tư một lượng tài lực cũng
như vật lực lớn lao. Ta đang chứng kiến sự tự động hóa trong biên dịch ngoại

325
ngữ, lái xe, ở mức độ nhỏ, như nghiên cứu khoa học.
3. Hiểu nhầm: Ta đang không thể chỉ ra mục tiêu rõ ràng với
các điều kiện đưa ra. Nghĩ về thần đèn trong một cái chai và luôn sẵn
sàng đáp ứng các ước muốn của bạn. “Tôi muốn trở thành người giàu nhất
thế gian” - Bạn thành người giàu nhất thế giới, nhưng có một vấn đề đó là
tiền bạn giữ sẽ bị lạm phát. “Tôi muốn trở nên hạnh phúc cho cả phần đời
còn lại” - Bạn sẽ hạnh phúc trong 5 phút sau và thần đèn giết bạn. “Tôi ước
thế giới hòa bình” - Thần đèn hủy diệt cả nhân loại.
Do ta xác định mục tiêu sai, hoặc bởi vì ta không hề biết đến hoặc đong
đếm tất cả các ràng buộc. Một tập đoàn có mục tiêu đơn giản là kiếm tiền
cho các cổ đông của nó. Nhưng việc chỉ ra này không phản ánh đúng mục
đích thật sự với tất cả các ràng buộc mà ta muốn đảm bảo: Ví dụ, ta không
mong muốn công ty sẽ giết người để kiếm tiền, gây ô nhiễm các dòng sông,
hoặc in tiền giả. Con người có pháp luật, quy định, chế tài, trình tự phải
tuân theo, và công đoàn để hỗ trợ mục tiêu đó. Một ví dụ khác ta có thể
tự thấy đó là Paperclips, một trò chơi trong đó nhiệm vụ là bạn phải tạo ra
nhiều chiếc kẹp giấy nhất có thể. CẢNH BÁO: game gây nghiện. Tôi không
muốn tiết lộ quá nhiều ở đây. Trong học máy, sự không hoàn hảo của việc
xác định mục tiêu đến từ việc trừu tượng hóa dữ liệu không hoàn hảo (các
mẫu dữ liệu lỗi, lỗi đo đạc, ...), các hàm mất mát không có ràng buộc, thiếu
kiến thức về các ràng buộc, sự khác nhau về phần phối dữ liệu trong huấn
luyện và thực tế, ...
Sự số hóa đang dẫn dắt tự động hóa. Sự xác định mục tiêu không hoàn
hảo xung đột với việc tự động hóa. Tôi cho rằng xung đột này được gây ra
một phần bởi các phương pháp diễn giải.
Ta đã xác định được mục tiêu, quả cầu pha lê đã sẵn sàng, hãy cùng nhìn
xem ta sẽ đi tới đâu!
8.1 Tương lai của học máy

Nếu không có học máy sẽ không có học máy khả diễn giải. Do đó ta cần
phỏng đoán học máy sẽ đi về đâu trước khi ta nói tới tính khả diễn giải.
Học máy luôn đi kèm với rất nhiều hứa hẹn và kỳ vọng. Nhưng hãy bắt
đầu với một cái nhìn thiếu lạc quan một chút: Trong khi khoa học phát triển
rất nhiều các các công cụ học máy mới ra đời, theo tôi, khá khó để tích hợp
chúng vào đời sống và tạo ra các sản phẩm phục vụ con người. Không phải
vì ta không thể, chỉ đơn giản vì nó sẽ tốn thời gian cho các công ty và viện
nghiên cứu bắt kịp với nhau. Trong cơn lũ của trí tuệ nhân tạo hiện nay, các
công ty mở ra các phòng nghiên cứu về trí tuệ nhân tạo, các nhóm nghiên
cứu học máy và thuê các nhà khoa học dữ liệu, các chuyên gia học máy, các
kỹ sư AI, ... nhưng trên thực tế, việc này không ổn. Các công ty thường thậm
chí không có dữ liệu ở định dạng cần thiết và các nhà khoa học dữ liệu phải
đợi đến vài tháng. Đôi khi các công ty có những kỳ vọng quá cao về trí tuệ
nhân tạo và khoa học dữ liệu được thổi phồng bởi truyền thông và các nhà
học học dữ liệu không thể đáp ứng. Và thường không ai biết cách để đưa các
nhà khoa học dữ liệu vào các mô hình làm việc có sẵn bên cạnh rất nhiều
vấn đề khác. Điều này dẫn tới dự đoán đầu tiên của tôi:
Học máy sẽ phát triển chậm nhưng đều.
Số hóa đang được đẩy mạnh và mong muốn về tự động hóa cũng vậy.
Thậm chí nếu việc đưa học máy vào cuộc sống diễn ra chậm chạp đi chăng
nữa, học máy vẫn sẽ phát triển và có nhiều ứng dụng vào các doanh nghiệp,
sản phẩm, cũng như các mặt của đời sống.
Tôi tin rằng ta cần giải thích rõ ràng hơn cho những người ngoại đạo về
tính ứng dụng mạnh mẽ của học máy. Tôi biết rất nhiều nhà khoa học dữ
liệu được trả lương rất cao để thực hiện các công việc tính toán trên Excel
hoặc các tác vụ doanh nghiệp, và làm việc dựa trên các truy vấn SQL thay
vì ứng dụng học máy. Nhưng có một số ít công ty đã sử dụng học máy thành
công, đơn cử như các công ty tập đoàn công nghệ lớn. Ta cần tìm các phương
pháp ưu việt hơn để đưa học máy vào quy trình sản xuất và làm việc, huấn
luyện con người và phát triển các công cụ học máy dễ sử dụng. Tôi tin rằng
học máy sẽ trở nên dễ sử dụng hơn nhiều: Ta có thể đang thấy học máy
đang ngày càng dễ tiếp cận, ví dụ thông qua các dịch vụ đám mây (cloud
services) (“Machine Learning as a service”). Một khi học máy phát triển tới
một ngưỡng nhất định - hiện tại chúng ta qua những bước đầu tiên - dự đoán
tiếp theo của tôi là.
Học máy sẽ vận hành rất nhiều công việc.
Dựa trên nguyên lý rằng “những thứ có thể tự động hóa sẽ được tự động
hóa”, tôi kết luận rằng ngay khi có thể, các công việc sẽ được định hình lại
dưới bài toán có dạng dự đoán kết quả và được giải quyết bằng học máy. Học
máy là một dạng của tự động hóa hoặc ít nhất là một phần của nó:
- Sắp xếp/Ra quyết định/Hoàn thành tài liệu (ví dụ: các công ty bảo
hiểm, các doanh nghiệp pháp lý hoặc tư vấn).
- Đưa ra quyết định dựa trên dữ liệu ví dụ như các bài toán liên quan tới
tín dụng.
- Phát triển thuốc.
- Quản lý sản phẩm trong các dây chuyền lắp ráp.
- Xe tự hành.
- Chẩn đoán bệnh tật.
- Dịch ngôn ngữ. Với cuốn sách này, tôi sử dụng một dịch vụ dịch tên là
DeepL. Công cụ này sử dụng các mạng nơ ron để cải thiện chất lượng dịch
bằng cách dịch từ tiếng anh sang tiếng Đức sau đó dịch ngược lại tiếng Anh.
- Và rất nhiều các ứng dụng khác.
Sự đột phá của học máy không chỉ là thành quả của các máy tính hiện
đại, sự dồi dào của dữ liệu, các phần mềm tân tiến, mà còn:
Các công cụ khả diễn giải là chất xúc tác cho quá trình tích hợp
học máy.
Dựa trên tiên đề rằng mục tiêu của học máy có thể không bao giờ được
định rõ, điều này dẫn đến rằng học máy khả diễn giải sẽ cần thiết để thu hẹp
khoảng cách giữa các mục tiêu đúng đắn và các mục tiêu được xác định sai.
Trong rất nhiều lĩnh vực, tính khả diễn giải có thể là chất xúc tác cho việc
đưa học máy vào ứng dụng. Một vài dẫn chứng như sau: Rất nhiều người tôi
đã nói chuyện không sử dụng các mô hình học máy bởi vì chúng không thể
giải thích. Tôi tin rằng tính khả diễn giải sẽ giải quyết vấn đề này và giúp
học máy trở nên hấp dẫn đối với các doanh nghiệp và cá nhân đòi hỏi sự
minh bạch. Bên cạnh các mục tiêu được xác định sai, rất nhiều ngành khác
cũng đòi hỏi tính khả diễn giải, và coi nó thuộc về phạm trù pháp lý, do sự lo
ngại rủi ro hoặc để nhìn rõ bản chất vấn đề. Học máy tự động quá hóa trình
mô hình và giúp con người đi xa hơn từ dữ liệu và các bài toán: Điều này
làm tăng rủi ro với cách thiết lập thí nghiệm, phân phối huấn luyện, cách lấy
mẫu, mã hóa dữ liệu, kỹ thuật đặc trưng, ... Các công cụ diễn giải giúp ta
chỉ ra vấn đề dễ dàng hơn.

8.2 Tương lai của khả diễn giải


Ta hãy nhìn vào tương lai của học máy khả diễn giải.
Tập trung vào các công cụ giải thích kiểu mẫu.
Sẽ dễ dàng hơn nhiều nếu ta có thể tự động hóa tính khả diễn giải khi
ta đặt nó bên ngoài các mô hình học máy. Ưu điểm của việc giải thích kiểu
mẫu nằm ở tính mô đun hóa của nó. Ta có thể dễ dàng thay đổi các mô hình
học máy. Ta cũng có thể dễ dàng thay đổi phương pháp diễn giải. Với các
lý do này, các phương pháp kiểu mẫu sẽ có thể được mở rộng tốt hơn. Đó
là tại sao tôi tin rằng các phương pháp kiểu mẫu sẽ trở nên phổ biến trong
tương lai. Tuy nhiên các phương pháp khả diễn giải thông thường vẫn sẽ có
chỗ đứng riêng của chúng.
Học máy sẽ được tự động hóa cùng với tính khả diễn giải.
Một xu thế ta có thể thấy hiện này đó là việc tự động hóa việc huấn
luyện các mô hình. Điều này bao gồm việc các kỹ thuật và việc lựa chọn đặc
trưng được tự động hóa, cũng như tự động hóa việc tối ưu các siêu tham số
(hyperparameters), so sánh các mô hình khác nhau, gộp hoặc chồng các mô
hình. Kết quả là mô hình dự đoán tốt nhất có thể. Khi ta dùng các phương
pháp giải thích kiểu mẫu, ta có thể áp dụng chúng một cách tự động vào
bất cứ mô hình nào được sinh ra từ quá trình học máy tự động. Một cách
khác, ta cũng có thể tự động bước thứ hai này như sau: Tự động tính toán
độ quan trọng của các đặc trưng, phác họa sự phụ thuộc riêng, huấn luyện
một mô hình thay thế, và vân vân... Chẳng ai có thể ngăn cản bạn tự động
hóa việc diễn giải. Việc diễn giải thực tế cần sự hỗ trợ của con người. Tưởng
tượng rằng: Bạn tải lên một tập dữ liệu, chỉ định mục tiêu cho việc dự đoán
và nhấn nút để huấn luyện ra mô hình tốt nhất, và cuối cùng chương trình
gửi về tất cả các diễn giải về mô hình. Đã có một vài sản phẩm đầu tiên và
tôi cho rằng với rất nhiều ứng dụng, việc tự động hóa các dịch vụ liên quan
tới học máy là khả dĩ. Ngày nay bất cứ ai đều có thể xây dựng các trang web
mà không cần biết HTML, CSS và Javascript, nhưng vẫn có rất nhiều nhà
phát triển web. Tương tự như vậy, tôi tin rằng tất cả mọi người sẽ đều có
thể huấn luyện các mô hình học máy mà không cần kiến thức về lập trình,
và tất nhiên vẫn sẽ có chỗ cho các chuyên gia trong lĩnh vực này.
Ta không phân tích dữ liệu, mà ta phân tích các mô hình. Dữ
liệu thô bản thân chúng hầu như không có tác dụng. (Có thể tôi nói quá. Sự
thực là bạn cần hiểu biết kỹ lưỡng về dữ liệu nếu muốn thực hiện phân tích
chúng). Tôi không quan tâm về dữ liệu. Tôi quan tâm về những kiến thức
hàm chứa trong đống dữ liệu đó. Học máy khả diễn giải là một cách tiếp cận
tuyệt vời để có thể chắt lọc thông tin quý báu từ dữ liệu. Ta có thể kiểm tra
mô hình một cách kỹ lưỡng, mô hình tự động nhận dạng liệu và bằng cách
nào đặc trưng liên quan đến một dự đoán (rất nhiều mô hình có sẵn khả
năng lựa chọn đặc trưng), mô hình tự động phát hiện cách các quan hệ được
thể hiện, và – nếu được huấn luyện đúng – mô hình cuối cùng sẽ xấp xỉ rất
tốt thực tế.
Rất nhiều công cụ phân tích đang được sử dụng dựa trên các mô hình dữ
liệu (bởi vì chúng được dựa trên các giả thiết về phân phối).
- Các phép thử giả thiết đơn giản như Student’s t-test.
- Các phép thử giả thiết với điều chỉnh nhân tố gây nhiễu (thường với
GLMs).
- Các phân tích về phương sai (ANOVA).
- Các hệ số tương quan (hệ số hồi quy tuyến tính chuẩn hóa liên quan tới
hệ số tương quan Pearson).
- vân vân ...
Những gì tôi đang nói ở đây không có gì mới. Vậy tại sao ta lại chuyển từ
phân tích các mô hình dựa trên các giả thiết và minh bạch sang các mô hình
hộp đen. Bởi vì việc tạo ra tất cả các giả thiết đó có vấn đề: Chúng thường
không chính xác (dù cho bạn tin rằng hầu hết thế giới tuân theo phân phối
Gaussian), khó kiểm tra, rất không mềm dẻo, và khó để tự động hóa. Trong
rất nhiều lĩnh vực, các mô hình dựa trên các giả thiết thường có hiệu năng
kém nhất trên tập dữ liệu mới so với các mô hình hộp đen. Điều này chỉ đúng
với các tập dữ liệu lớn, do các mô hình khả diễn giải với những giả thiết tốt
thường hoạt động tốt hơn với các tập dữ liệu nhỏ so với các mô hình hộp đen.
Cách tiếp cận theo mô hình hộp đen yêu cầu rất nhiều dữ liệu để làm việc
tốt. Với việc số hóa mọi thứ, ta sẽ có lượng dữ liệu lớn hơn và do đó cách tiếp
cận này sẽ trở nên phù hợp hơn. Ta không cần tạo ra các giả thiết, ta xấp
xỉ thực tế gần nhất có thể (trong khi tránh quá khớp trên tập huấn luyện).
Tôi cho rằng ta nên phát triển tất cả các công cụ mà ta có trong thống kê để
trả lời các câu hỏi (kiểm tra giả thiết, đo đạc tương quan, đo đạc tương tác,
công cụ trực quan hóa, khoảng tin cậy, giá trị p, khoảng dự đoán, phân bố
xác suất) và viết lại chúng cho các mô hình hộp đen. Nói một cách nào đó,
điều này đang xảy ra:
- Ta hãy lấy một mô hình tuyến tính: Hệ số hồi quy chuẩn hóa là độ
quan trọng đặc trưng. Với việc tính toán độ quan trọng đặc trưng hoán vị
(permutation feature importance measure), ta có một công cụ làm việc trên
mọi mô hình.
- Trong một mô hình tuyến tính, các hệ số tính toán ảnh hưởng của một
đặc trưng tới đầu ra được dự đoán. Tổng quát hóa của việc này là phác họa
đồ thị riêng (partial dependence plot).
- Kiểm tra liệu A hay B tốt hơn: Với việc này ta cũng sử dụng các hàm
phụ thuộc riêng. Thứ ta chưa có (theo quan điểm của tôi) đó là các bài kiểm
tra thống kê cho các mô hình hộp đen bất kỳ.
Các nhà khoa học dữ liệu sẽ tự động hóa công việc của họ. Tôi
tin rằng các nhà khoa học dữ liệu sẽ tự động hóa bản thân họ khỏi những
công việc liên quan tới phân tích và dự đoán. Để điều này xảy ra, các bài
toán phải được định nghĩa rõ ràng và phải có các quy trình chuẩn bên cạnh
chúng. Ngày này, các thói quen và quy trình đang bị khuyết, nhưng các nhà
khoa học dữ liệu và cộng sự đang làm việc với chúng. Khi học máy trở thành
một phần của các lĩnh vực khác nhau trong cuộc sống, rất nhiều vấn đề sẽ
được tự động.
Robot và các chương trình sẽ tự giải thích chúng. Ta cần nhiều
hơn các giao diện với máy móc và các chương trình mà sử dụng học máy. Ví
dụ: Một chiếc xe tự hành báo cáo tại sao nó lại dừng đột ngột (“70% là một
cậu bé đang qua đường”). Một chương trình chấm điểm tín dụng phải giải
thích cho nhân viên ngân hàng tại sao một đơn vay lại bị từ chối (“Ứng viên
có quá nhiều thẻ tín dụng và công việc không ổn định”). Một cánh tay robot
giải thích tại sao nó di chuyển một sản phẩm từ băng chuyền sang thùng rác
(“Sản phẩm có lỗi ở đáy”).
Tính khả diễn giải có thể thúc đẩy việc nghiên cứu trí thông
minh nhân tạo.
Tôi nghĩ rằng khi ta có nhiều nghiên cứu hơn nữa về tính khả diễn giải
của các mô hình học máy, ta có thể cải thiện hiểu biết của ta về trí thông
minh và giúp tạo nên các máy móc thông minh tốt hơn.
Cuối cùng, tất cả các dự đoán trên đều dựa trên sự quan sát và ta phải
xem tương lai sẽ mang đến điều gì.
Chương 9

Đóng góp cho cuốn sách


này
Cám ơn vì đã đọc cuốn sách về học máy khả diễn giải của tôi. Cuốn sách
đang được phát triển liên tục. Nó sẽ được cải thiện theo thời gian và nhiều
chương sẽ được thêm vào. Rất giống với cách phần mềm được phát triển.
Tất cả các văn bản và mã nguồn cho cuốn sách này là mã nguồn mở và
có thể tìm thấy ở github. Trên trang Github bạn cũng có thể đề xuất các sửa
đổi và tạo các vấn đề nếu bạn tìm thấy lỗi hoặc muốn thêm phần nào đó.

333
Chương 10

Trích dẫn
Nếu bạn thấy cuốn sách này hữu ích cho học tập, nghiên cứu, hoặc công
việc, sẽ rất tuyệt nếu bạn có thể trích dẫn cuốn sách này. Bạn có thể trích
dẫn như sau:

Molnar, Christoph. ‘‘Interpretable machine learning.


A Guide for Making Black Box Models Explainable’’, 2019.
https://christophm.github.io/interpretable-ml-book/.

Hoặc dùng bibtex:

@book{molnar2019,
title = {Interpretable Machine Learning},
author = {Christoph Molnar},
note = {\url{https://christophm.github.io/
interpretable-ml-book/}},
year = {2019},
subtitle = {A Guide for Making Black Box Models Explainable}
}

Tôi luôn tò mò về việc liệu các phương pháp diễn giải được dùng ra sao
trong nghiên cứu cũng như trong công nghiệp. Nếu bạn dùng cuốn sách này
như một nguồn tham khảo, sẽ rất tuyệt nếu bạn có thể viết vài dòng cho tôi về
việc bạn dùng nó như thế nào. Tất nhiên việc này sẽ tùy vào cá nhân bạn và
chỉ để thỏa mãn tính hiếu kỳ của tôi cũng như để thúc đẩy việc trao đổi thông
tin giữa chúng ta. Thư điện tử của tôi là: christoph.molnar.ai@gmail.com .

334
Chương 11

Các bản dịch


Bạn muốn dịch cuốn sách này? Cuốn sách này được cấp phép
theo Giấy phép Quốc tế Creative Commons Attribution-NonCommercial-
ShareAlike 4.0 International License. Có nghĩa là ban được phép dịch và đưa
nó lên mạng Internet. Bạn có nghĩa vụ nhắc đến tôi như là tác giả gốc và
không được phép bán cuốn sách này.
Nếu bạn muốn dịch cuốn sách này, bạn có thể nhắn cho tôi một tin
và tôi có thể liên kết bản dịch của bạn ở đây. Địa chỉ email của tôi là:
christoph.molnar.ai@gmail.com .
Danh sách các bản dịch:
Tiếng Việt: - Link | Dịch giả chính Giang Nguyen, Duy-Tung Nguyen,
và Hung-Quang Nguyen.
Tiếng Trung: - Link | Dịch hoàn chỉnh bởi Mingchao Zhu
- Link | Được dịch bởi hầu hết các chương bởi CSDN, cộng đồng lập trình
viên online tại trung quốc.
- Link | Đã dịch một số chương. Trang này cũng bao gồm nhiều câu hỏi
và trả lời về các vấn đề khác nhau.
Tiếng Hàn:
- Link | Dịch hoàn chỉnh bởi TooTouch
- Link | Dịch một nửa bởi An Subin
Tây Ban Nha:
- Link | Các chương đầu được dịch bởi Federico Fliguer
Nếu bạn biết bất cứ bản dịch nào khác, tôi sẽ rất vui nếu bạn cho tôi biết
để tôi có thể liệt kê ra đây.

335
Lời cảm ơn
Nhóm dịch xin chân thành cảm ơn Truc Loan (trucloan185@gmail.com)
đã đóng góp tích cực vào giai đoạn đầu của dự án này. Ngoài ra, bản dịch
không thể hoàn thành nếu thiếu sự giúp đỡ trong quá trình chỉnh lý của Lan
Phan (KIST, S. Korea - orchidna@gmail.com).

336
Bảng thuật ngữ
Khi dịch cuốn sách này, ngoài những thuật ngữ đã được dịch trong cuốn
“Đắm mình vào học sâu”, các thuật ngữ khác được chúng tôi dịch và tổng
hợp tại đây. Nếu bạn thấy cách dịch chưa hợp lý, hãy phản hồi bằng cách
tạo 1 issue trên trang Github của chúng tôi.

337

You might also like