Phân ChiaWiki
Tìm
Hợp tác & chia lợi ích

SHAP là gì: dùng giá trị Shapley giải thích dự đoán mô hình học máy

SHAP chia khoảng chênh giữa dự đoán và mức trung bình cho từng biến theo giá trị Shapley. Ví dụ tính tay ước giá nhà ba biến, lịch sử và chỗ dễ đọc sai.

SHAP là gì: dùng giá trị Shapley giải thích dự đoán mô hình học máy

SHAP là phương pháp giải thích dự đoán của mô hình học máy bằng giá trị Shapley: coi mỗi biến đầu vào (diện tích, vị trí, tuổi khách hàng…) là một "thành viên" cùng góp vào kết quả, rồi chia phần chênh lệch giữa dự đoán và mức trung bình cho từng biến theo đóng góp biên trung bình của nó. Scott Lundberg và Su-In Lee đặt tên và phổ biến phương pháp năm 2017. Với ba biến, có thể tính tay trọn vẹn để thấy SHAP thật ra chỉ là bài toán chia thành quả quen thuộc.

Câu hỏi SHAP trả lời

Một ngân hàng dùng mô hình chấm điểm để xét hồ sơ vay. Một khách hàng bị từ chối và hỏi: vì sao. Một sàn bất động sản dùng mô hình ước giá, chủ nhà hỏi: căn của tôi được định giá 4,8 tỉ dựa vào đâu. Mô hình hiện đại như rừng cây quyết định hay mạng nơ-ron không có công thức để đọc ra câu trả lời.

SHAP trả lời theo dạng: "mức giá trung bình của mọi căn là 3,0 tỉ; diện tích của căn này đẩy giá lên 0,93 tỉ, vị trí đẩy lên 0,73 tỉ, số tầng đẩy lên 0,13 tỉ; cộng lại thành 4,8 tỉ". Mỗi biến nhận một phần, các phần cộng lại đúng bằng phần chênh lệch. Đó chính là tính hiệu quả của giá trị Shapley: chia hết, không thừa không thiếu.

Ánh xạ từ chia lợi ích sang giải thích mô hình

Chia lợi ích nhómGiải thích mô hình
Thành viênBiến đầu vào (đặc trưng)
Liên minhTập các biến mà mô hình "được biết" giá trị thật
Giá trị liên minh v(S)Dự đoán trung bình khi chỉ biết các biến trong S, các biến còn lại lấy trung bình theo dữ liệu
Liên minh rỗngDự đoán trung bình trên toàn bộ dữ liệu (mức nền)
Cả nhómDự đoán thật cho trường hợp đang xét
Phần chia cho mỗi ngườiGiá trị SHAP của mỗi biến

Điểm tinh tế nằm ở dòng thứ ba: "chỉ biết một số biến" nghĩa là gì. Mô hình luôn cần đủ đầu vào. SHAP xử lý bằng cách giữ giá trị thật cho các biến trong liên minh, còn các biến ngoài liên minh thì thay bằng giá trị lấy từ dữ liệu nền rồi lấy trung bình dự đoán. Cách thay thế này là nguồn gốc của phần lớn tranh luận về SHAP, sẽ bàn ở dưới.

Ví dụ tính tay: ước giá một căn nhà

Mô hình ước giá nhà phố dùng ba biến: diện tích (D), vị trí (V), số tầng (T). Với căn đang xét, giả sử ta đã chạy mô hình và có dự đoán trung bình cho từng tập biến được biết (tỉ đồng):

Biến được biếtDự đoán trung bình
Không biến nào (mức nền)3,0
D3,8
V3,6
T3,1
D, V4,6
D, T3,9
V, T3,7
D, V, T (dự đoán thật)4,8

Lập sáu thứ tự "tiết lộ" biến, ghi mỗi biến làm dự đoán thay đổi bao nhiêu khi được thêm vào:

Thứ tựDiện tíchVị tríSố tầng
D → V → T0,80,80,2
D → T → V0,80,90,1
V → D → T1,00,60,2
V → T → D1,10,60,1
T → D → V0,80,90,1
T → V → D1,10,60,1
Trung bình≈ 0,93≈ 0,73≈ 0,13

Mỗi hàng cộng đúng 1,8, bằng 4,8 − 3,0. Trung bình: diện tích 5,6 / 6 ≈ 0,93; vị trí 4,4 / 6 ≈ 0,73; số tầng 0,8 / 6 ≈ 0,13. Tổng 1,8.

Đọc bảng sẽ thấy vì sao không thể chỉ nhìn một thứ tự. Diện tích góp 0,8 nếu được biết đầu tiên, nhưng góp 1,1 nếu biết sau vị trí: căn rộng ở vị trí đẹp đắt hơn hẳn căn rộng ở vị trí thường. Hai biến tương tác với nhau, và phần tương tác đó được chia đôi giữa chúng khi lấy trung bình trên mọi thứ tự.

Lịch sử ngắn

  • 1953: Lloyd Shapley đưa ra giá trị Shapley cho bài toán chia thành quả của liên minh.
  • 2010 – 2014: Erik Štrumbelj và Igor Kononenko (Đại học Ljubljana, Slovenia) công bố các bài dùng giá trị Shapley để giải thích dự đoán của mô hình phân loại, kèm phương pháp lấy mẫu để ước lượng.
  • 2017: Scott Lundberg và Su-In Lee (Đại học Washington) công bố bài "A Unified Approach to Interpreting Model Predictions" tại hội nghị NeurIPS, chỉ ra nhiều phương pháp giải thích đã có (như LIME) là trường hợp riêng của một họ chung, và giá trị Shapley là nghiệm duy nhất của họ đó thoả một số tính chất mong muốn. Họ đặt tên SHAP (SHapley Additive exPlanations) và phát hành thư viện mã nguồn mở cùng tên.
  • 2020: Lundberg và cộng sự công bố trên tạp chí Nature Machine Intelligence thuật toán TreeSHAP, tính chính xác giá trị Shapley cho mô hình dạng cây trong thời gian đa thức thay vì luỹ thừa.

Vì sao không tính thẳng cho mọi mô hình

Ba biến có 8 tập con. Mô hình chấm điểm tín dụng có thể dùng 50 biến, tức hơn một triệu tỉ tập con. Mỗi tập con lại cần chạy mô hình nhiều lần để lấy trung bình. Không máy nào tính đủ. Vì vậy SHAP trong thực tế dùng hai lối:

  • Ước lượng bằng lấy mẫu: KernelSHAP chọn ngẫu nhiên một số tập con, dùng hồi quy có trọng số để suy ra giá trị Shapley. Kết quả có sai số, chạy lại có thể hơi khác.
  • Khai thác cấu trúc mô hình: TreeSHAP cho mô hình cây, các biến thể khác cho mạng nơ-ron, tính nhanh và chính xác hơn nhờ biết bên trong mô hình.

Những chỗ dễ đọc sai giá trị SHAP

Giải thích mô hình, không giải thích thế giới

Giá trị SHAP nói mô hình dùng biến nào để ra con số, không nói biến đó gây ra kết quả ngoài đời. Nếu mô hình học được rằng nhà có hồ bơi thì đắt, SHAP cho biến hồ bơi giá trị lớn, nhưng điều đó không có nghĩa là xây hồ bơi sẽ tăng giá đúng bằng chừng ấy.

Biến tương quan chia nhau công

Diện tích đất và diện tích sàn thường đi cùng nhau. Khi cả hai cùng có trong mô hình, phần đóng góp có thể bị chia giữa hai biến theo cách khó lường, mỗi biến trông "yếu" hơn thực tế. Cách thay biến ngoài liên minh bằng giá trị lấy ngẫu nhiên từ dữ liệu còn có thể tạo ra những tổ hợp phi lý (nhà 20 m² đất mà 300 m² sàn), làm méo kết quả. Có nhiều biến thể SHAP xử lý chuyện này, và giới nghiên cứu vẫn tranh luận biến thể nào phù hợp.

Mức nền quyết định câu chuyện

Giá trị SHAP luôn là "so với mức nền". Chọn dữ liệu nền là toàn bộ nhà ở Hà Nội hay chỉ nhà trong một phường sẽ cho câu chuyện khác nhau. Khi trình bày, cần nói rõ đang so với cái gì.

Không thay được kiểm tra công bằng

Một biến nhạy cảm (như giới tính) có giá trị SHAP nhỏ chưa chắc mô hình không phân biệt, vì thông tin đó có thể đi vòng qua biến khác tương quan với nó. SHAP là công cụ soi, không phải giấy chứng nhận.

Những nơi khác dùng cùng ý tưởng

  • Định giá dữ liệu: Data Shapley (Amirata Ghorbani và James Zou, 2019) coi mỗi điểm dữ liệu huấn luyện là một thành viên, đo xem nó làm mô hình tốt lên bao nhiêu. Điểm dữ liệu có giá trị âm thường là dữ liệu gán nhãn sai.
  • Phân bổ công cho kênh tiếp thị: khi khách thấy quảng cáo ở nhiều kênh rồi mới mua, giá trị Shapley chia công cho từng kênh thay vì dồn hết cho lần nhấp cuối.
  • Chia công trong mô hình gộp: khi nhiều mô hình nhỏ được ghép thành một, đo mỗi mô hình con đóng góp bao nhiêu vào độ chính xác chung.

Góc nhìn hôm nay: tự thử với bảng tính

Không cần lập trình để hiểu SHAP. Lấy một mô hình đơn giản bạn tự đặt ra, ví dụ điểm xét học bổng bằng một công thức có nhân chéo giữa điểm học và hoạt động, chọn ba biến, tính giá trị cho tám tập con rồi lập bảng sáu thứ tự như trên. Sau đó thử đổi công thức thành cộng thuần tuý không nhân chéo: bạn sẽ thấy mỗi biến khi đó luôn góp đúng một con số, không phụ thuộc thứ tự, và giá trị SHAP trùng với hệ số nhân giá trị chênh lệch. Phần "chia" chỉ thật sự xuất hiện khi các biến tương tác với nhau.

Ai muốn đi xa hơn có thể đọc cuốn Interpretable Machine Learning của Christoph Molnar, bản trực tuyến miễn phí, có các chương riêng về giá trị Shapley và SHAP với nhiều hình minh hoạ.

Câu hỏi thường gặp

SHAP là gì?

SHAP (SHapley Additive exPlanations) là phương pháp giải thích dự đoán của mô hình học máy bằng giá trị Shapley. Mỗi biến đầu vào nhận một phần của khoảng chênh giữa dự đoán và mức trung bình, theo đóng góp biên trung bình của nó trên mọi thứ tự. Các phần cộng lại đúng bằng khoảng chênh.

Giá trị SHAP âm nghĩa là gì?

Giá trị SHAP âm nghĩa là biến đó kéo dự đoán xuống thấp hơn mức nền với trường hợp đang xét. Ví dụ một căn nhà ở vị trí kém có giá trị SHAP âm cho biến vị trí. Dấu và độ lớn luôn tính so với mức nền đã chọn.

SHAP khác LIME thế nào?

LIME giải thích bằng cách khớp một mô hình tuyến tính đơn giản quanh điểm đang xét, kết quả phụ thuộc cách chọn lân cận. SHAP dựa trên giá trị Shapley nên có các tính chất như chia hết và đối xứng. Lundberg và Lee chỉ ra LIME có thể xem là một trường hợp của cùng họ phương pháp nếu chọn trọng số phù hợp.

Vì sao tính SHAP chậm?

Vì số tập con biến tăng gấp đôi khi thêm một biến, 50 biến là hơn một triệu tỉ tập con. Thực tế dùng ước lượng bằng lấy mẫu như KernelSHAP, hoặc thuật toán khai thác cấu trúc như TreeSHAP cho mô hình cây.

Giá trị SHAP có cho biết nguyên nhân không?

Không. Nó cho biết mô hình dựa vào biến nào để ra dự đoán, không phải biến đó gây ra kết quả ngoài đời. Muốn kết luận nhân quả cần thiết kế nghiên cứu khác, như thí nghiệm có đối chứng.

Mở app Phân Chia

Kéo dây khép đất, hai phút ai rộng nhất

Mở app Phân Chia

Bài viết liên quan

Mở app Phân Chia

Kéo dây khép đất, hai phút ai rộng nhất

Mở app Phân Chia Xem app khác