Bài này sẽ tìm hiểu các chủ đề sau:
- diễn giải rừng ngẫu nhiên
- huấn luyện rừng ngẫu nhiên
- ưu và nhược điểm của rừng ngẫu nhiên
Diễn giải rừng ngẫu nhiên
Rừng ngẫu nhiên phức tạp hơn để diễn giải so với cây quyết định. Rừng ngẫu nhiên chứa các cây quyết định được huấn luyện bằng nhiễu ngẫu nhiên. Do đó, việc đưa ra nhận định về cấu trúc cây quyết định sẽ khó khăn hơn. Tuy nhiên, chúng ta có thể diễn giải mô hình rừng ngẫu nhiên theo một số cách.
Một phương pháp để diễn giải rừng ngẫu nhiên chỉ đơn giản là huấn luyện và diễn giải một cây quyết định bằng thuật toán CART. Vì cả rừng ngẫu nhiên và CART đều được huấn luyện bằng cùng một thuật toán cốt lõi, nên chúng "chia sẻ cùng một chế độ xem toàn cục" của tập dữ liệu. Lựa chọn này phù hợp với các tập dữ liệu đơn giản và để hiểu được cách diễn giải tổng thể của mô hình.
Tầm quan trọng của biến là một phương pháp diễn giải hiệu quả khác. Ví dụ: bảng sau đây xếp hạng tầm quan trọng của biến đối với các tính năng khác nhau cho một mô hình rừng ngẫu nhiên được huấn luyện trên Bộ dữ liệu điều tra dân số (còn gọi là Người lớn).
Bảng 8. Tầm quan trọng của biến đối với 14 tính năng khác nhau.
Tính năng | Tổng điểm | Mức giảm trung bình về độ chính xác | Mức giảm trung bình về AUC | Độ sâu tối thiểu trung bình | Số nút | Mức giảm trung bình về PR-AUC | Num làm thư mục gốc |
---|---|---|---|---|---|---|---|
mối quan hệ | 4203592,6 |
0,0045 |
0,0172 |
4.970 |
57040 |
0,0093 |
1095 |
capital_gain | 3363045.1 |
0,0199 |
0,0194 |
2,852 |
56468 |
0,0655 |
457 |
marital_status | 3128996,3 |
0,0018 |
0,0230 |
6,633 |
52391 |
0,0107 |
750 |
tuổi | 2520658,8 |
0,0065 |
0,0074 |
4,969 |
356784 |
0,0033 |
200 |
giáo-dục | 2015905.4 |
0,0018 |
-0,0080 |
5,266 |
115751 |
-0,0129 |
205 |
nghề nghiệp | 1939409,3 |
0,0063 |
-0,0040 |
5,017 |
221935 |
-0,0060 |
62 |
education_num | 1673648,4 |
0,0023 |
-0,0066 |
6,009 |
58303 |
-0,0080 |
197 |
fnlwgt | 1564189.0 |
-0,0002 |
-0,0038 |
9,969 |
431987 |
-0,0049 |
0 |
hours_per_week | 1333976,3 |
0,0030 |
0,0007 |
6,393 |
206526 |
-0,0031 |
20 |
capital_loss | 866863,8 |
0,0060 |
0,0020 |
8,076 |
58531 |
0,0118 |
1 |
lớp công việc | 644208,4 |
0,0025 |
-0,0019 |
9,898 |
132196 |
-0,0023 |
0 |
native_country | 538841,2 |
0,0001 |
-0,0016 |
9,434 |
67211 |
-0,0058 |
0 |
tình dục | 226049.3 |
0,0002 |
0,0002 |
10,911 |
37754 |
-0,0011 |
13 |
chủng tộc | 168.180,9 |
-0,0006 |
-0,0004 |
11,571 |
42262 |
-0,0031 |
0 |
Như bạn thấy, các định nghĩa về tầm quan trọng của biến có các thang đo khác nhau và có thể dẫn đến sự khác biệt trong thứ hạng của các đặc điểm.
Mức độ quan trọng của biến đến từ cấu trúc mô hình (ví dụ: tổng điểm, độ sâu tối thiểu trung bình, số nút và số làm gốc trong bảng ở trên) được tính toán tương tự cho cây quyết định (xem phần "Giỏ hàng | Mức độ quan trọng của biến") và rừng ngẫu nhiên.
Tầm quan trọng của biến hoán vị (ví dụ: mức giảm trung bình trong {accuracy, auc, pr-auc} trong bảng trên) là các biện pháp không phụ thuộc vào mô hình có thể được tính toán trên bất kỳ mô hình học máy nào có tập dữ liệu xác thực. Tuy nhiên, với rừng ngẫu nhiên, thay vì sử dụng tập dữ liệu xác thực, bạn có thể tính toán tầm quan trọng của biến hoán vị bằng cách đánh giá ngoài túi.
SHAP (SHapley Additive exPlanations) là một phương thức không phụ thuộc vào mô hình để giải thích từng dự đoán riêng lẻ hoặc diễn giải theo mô hình. (Xem cuốn Học máy có thể diễn giải của Molnar để tìm hiểu về cách diễn giải không phụ thuộc vào mô hình.) SHAP thường tốn kém để tính toán nhưng có thể được tăng tốc đáng kể cho rừng quyết định, vì vậy, đây là một cách hay để diễn giải rừng quyết định.
Ví dụ về cách sử dụng
Trong bài học trước, chúng ta đã huấn luyện cây quyết định CART trên một tập dữ liệu nhỏ bằng cách gọi tfdf.keras.CartModel
. Để huấn luyện mô hình rừng ngẫu nhiên, chỉ cần thay thế tfdf.keras.CartModel
bằng tfdf.keras.RandomForestModel
:
model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)
Ưu và nhược điểm
Phần này tóm tắt nhanh về ưu và khuyết điểm của rừng ngẫu nhiên.
Ưu điểm:
- Giống như cây quyết định, rừng ngẫu nhiên hỗ trợ các tính năng số và tính năng phân loại gốc và thường không cần xử lý trước tính năng.
- Vì cây quyết định độc lập nên bạn có thể huấn luyện rừng ngẫu nhiên song song. Do đó, bạn có thể nhanh chóng huấn luyện rừng ngẫu nhiên.
- Rừng ngẫu nhiên có các tham số mặc định thường mang lại kết quả tốt. Việc điều chỉnh các tham số đó thường ít ảnh hưởng đến mô hình.
Nhược điểm:
- Vì không được cắt tỉa nên cây quyết định có thể rất lớn. Các mô hình có hơn 1 triệu nút là phổ biến. Đôi khi, kích thước (và do đó là tốc độ suy luận) của rừng ngẫu nhiên có thể là vấn đề.
- Rừng ngẫu nhiên không thể học và sử dụng lại các bản trình bày nội bộ. Mỗi cây quyết định (và mỗi nhánh của mỗi cây quyết định) phải học lại mẫu tập dữ liệu. Trong một số tập dữ liệu, đặc biệt là tập dữ liệu không phải dạng bảng (ví dụ: hình ảnh, văn bản), điều này khiến rừng ngẫu nhiên có kết quả kém hơn so với các phương pháp khác.