Có cách nào để giải thích một dự đoán từ một mô hình rừng ngẫu nhiên không?


11

Giả sử tôi đã có một mô hình phân loại dự đoán dựa trên một khu rừng ngẫu nhiên (sử dụng gói RandomForest trong R). Tôi muốn thiết lập nó để người dùng cuối có thể chỉ định một mục để tạo dự đoán và nó sẽ đưa ra khả năng phân loại. Cho đến nay, không có vấn đề.

Nhưng nó sẽ hữu ích / tuyệt vời khi có thể xuất ra thứ gì đó như biểu đồ quan trọng thay đổi, nhưng đối với mục cụ thể được dự đoán, không phải cho tập huấn luyện. Cái gì đó như:

Vật phẩm X được dự đoán là Chó (có khả năng 73%)
Bởi vì:
Chân = 4
Hơi thở =
Lông xấu =
Thức ăn ngắn = khó chịu

Bạn sẽ có được điểm. Có một tiêu chuẩn, hoặc ít nhất là chính đáng, để trích xuất thông tin này từ một khu rừng ngẫu nhiên được đào tạo? Nếu vậy, có ai có mã sẽ làm điều này cho gói RandomForest không?


Một số phức tạp ... Bạn có thể tưởng tượng việc đếm số lần biến số Chân là một phần của đường dẫn quyết định. Nhưng bạn sẽ làm điều đó cho những cây dự đoán câu trả lời đa số, hay tất cả chúng? Hay sự khác biệt?
Harlan

Và thay đổi tất cả các myếu tố dự đoán từng cái một và tìm cách xem khu rừng dự đoán khác nhau có vẻ như khá tốn kém. Phải có một cách tốt hơn.
Harlan

suy nghĩ đầu tiên của tôi là tự hỏi làm thế nào những gì bạn muốn làm khác với tầm quan trọng khác nhau của dữ liệu đào tạo? Bạn đang muốn nói rằng với các giá trị khác như hiện tại, độ nhạy của dự đoán trên chân = 4 so với chân = 2 hoặc chân = 0 là gì? Bạn đã xem xét chức năng cốt truyện một phần trong gói ngẫu nhiên chưa?
B_Miner

Tầm quan trọng của biến thường được xác định có điều kiện trên toàn bộ tập huấn luyện (hoặc dân số giả định, hoặc một cái gì đó). Nhưng những gì tôi muốn là biến quan trọng cho một đơn hàng dự đoán. Hãy tưởng tượng một trường hợp trong đó khu rừng bao gồm những cây quyết định rất sai lệch. Test Instance 1 có thể được giải thích bằng 1 hoặc rất ít nút quyết định, trong khi Test Instance 2 có thể được giải thích bằng một tập hợp các nút quyết định lớn hơn nhiều. Tôi muốn một phiên bản rất đơn giản có thể hiểu được của con người về điều đó, giống như một tập hợp các quyết định được xếp hạng, top 5 trong số đó tôi có thể cung cấp. Đối với một cây quyết định duy nhất, tôi chỉ cần đọc chúng.
Harlan

Câu trả lời:


3

Ý tưởng đầu tiên chỉ là bắt chước chiến lược loại trực tiếp từ tầm quan trọng khác nhau và chỉ kiểm tra cách trộn từng thuộc tính sẽ làm suy giảm sự tự tin của rừng trong phân loại đối tượng (trên OOB và với một số sự lặp lại rõ ràng). Điều này đòi hỏi một số mã hóa, nhưng chắc chắn có thể đạt được.

Tuy nhiên, tôi cảm thấy đó chỉ là một ý tưởng tồi - kết quả có thể sẽ biến đổi như địa ngục (không ổn định tác động của việc lấy trung bình trên các vật thể), ồn ào (đối với các đối tượng không tự tin, các thuộc tính vô nghĩa có thể có tác động lớn) và khó có thể diễn giải (hai hoặc nhiều quy tắc hợp tác thuộc tính có thể sẽ dẫn đến tác động ngẫu nhiên của từng thuộc tính đóng góp).

Không để lại cho bạn câu trả lời tiêu cực, tôi muốn thử nhìn vào ma trận gần và các nguyên mẫu có thể nó tiết lộ - điều này có vẻ ổn định và đơn giản hơn nhiều.


Các quy tắc hợp tác / điểm dự đoán tương quan là một chỉ trích xuất sắc. Để thực hiện công việc này, có thể cần phải đào tạo RF về một số loại biến được giảm trước hoặc kết hợp một số chiến lược xử phạt để khiến RF tập trung vào một tập hợp con của các yếu tố dự đoán.
Harlan

0

Tôi sẽ thử với khung vôi .

Nó hoạt động với nhiều mô hình (bao gồm cả rừng ngẫu nhiên). Nó có thể được sử dụng để giải thích cục bộ (nghĩa là giải thích một dự đoán duy nhất) hoặc để giải thích toàn cầu (nghĩa là giải thích toàn bộ mô hình).

Trích dẫn từ asbtract

Trong tác phẩm này, chúng tôi đề xuất LIME, một kỹ thuật giải thích mới lạ giải thích các dự đoán của bất kỳ phân loại nào theo cách có thể giải thích và trung thành, bằng cách tìm hiểu một mô hình có thể diễn giải cục bộ xung quanh dự đoán. Chúng tôi cũng đề xuất một phương pháp để giải thích các mô hình bằng cách trình bày các dự đoán cá nhân đại diện và giải thích của chúng theo cách không thừa, đóng khung nhiệm vụ như một vấn đề tối ưu hóa mô hình con.

Nó có các gói cho cả Rpython , và nhiều ví dụ nếu bạn google nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.