SHAP để lựa chọn tính năng và điều chỉnh siêu thông số

Mar 22 2022
Sử dụng SHAP để chọn tính năng tối ưu trong khi điều chỉnh tham số Lựa chọn tính năng và điều chỉnh siêu tham số là hai bước quan trọng trong mọi tác vụ học máy. Hầu hết thời gian chúng đều giúp cải thiện màn trình diễn nhưng có một nhược điểm là tốn kém thời gian.

Sử dụng SHAP để lựa chọn tính năng tối ưu trong khi điều chỉnh các thông số

Ảnh của Lanju Fotografie trên Unsplash

Lựa chọn tính năng và điều chỉnh siêu tham số là hai bước quan trọng trong mọi tác vụ học máy. Hầu hết thời gian chúng đều giúp cải thiện màn trình diễn nhưng có một nhược điểm là tốn kém thời gian. Các kết hợp tham số càng nhiều hoặc quá trình lựa chọn càng chính xác thì thời lượng càng cao. Đây là một giới hạn vật lý mà chúng tôi thực sự không thể đánh bại. Những gì chúng tôi có thể làm là tận dụng những gì tốt nhất từ ​​hệ thống của chúng tôi. Chúng ta phải đối mặt với những khả năng khác nhau, hai trong số những khả năng thuận tiện nhất là:

  • Kết hợp điều chỉnh và lựa chọn các tính năng ;
  • áp dụng SHAP (SHapley Additive exPlanation) để làm cho toàn bộ quy trình trở nên tổng quát và chính xác hơn.

SHAP giúp ích khi chúng tôi thực hiện lựa chọn đối tượng địa lý bằng các thuật toán dựa trên xếp hạng. Thay vì sử dụng tầm quan trọng của biến mặc định, được tạo ra bằng cách tăng độ dốc, chúng tôi chọn các tính năng tốt nhất như các tính năng có giá trị shapley cao nhất. Lợi ích của việc sử dụng SHAP là rõ ràng do có sự thiên vị về tầm quan trọng của tính năng dựa trên cây bản địa . Các phương pháp tiêu chuẩn có xu hướng đánh giá quá cao tầm quan trọng của các biến phân loại liên tục hoặc có bản số cao. Điều này làm cho việc tính toán mức độ quan trọng không đáng tin cậy trong trường hợp thay đổi tính năng hoặc thay đổi số lượng danh mục.

Để khắc phục những thiếu sót này, chúng tôi đã phát triển shap-hypetune : một gói python để điều chỉnh đồng thời các siêu tham số và lựa chọn tính năng. Nó cho phép kết hợp điều chỉnh hyperparameters và lựa chọn tính năng trong một đường ống duy nhất với các mô hình tăng cường độ dốc. Nó hỗ trợ tìm kiếm theo lưới, tìm kiếm ngẫu nhiên hoặc tìm kiếm theo kiểu bayesian và cung cấp các thuật toán lựa chọn tính năng xếp hạng như Loại bỏ tính năng đệ quy (RFE), Bổ sung tính năng đệ quy (RFA) hoặc Boruta. Việc tăng cường bổ sung bao gồm cung cấp khả năng sử dụng tầm quan trọng SHAP để lựa chọn tính năng.

Trong bài đăng này, chúng tôi chứng minh tiện ích sử dụng shap-hypetune khi thực hiện nhiệm vụ dự đoán có giám sát. Chúng tôi cố gắng tìm kiếm cấu hình tham số tối ưu trong khi chọn bộ tính năng tốt nhất có (và không có) SHAP. Thử nghiệm của chúng tôi được chia thành ba thử nghiệm. Đưa ra một tập dữ liệu trong một kịch bản phân loại, trước tiên, chúng tôi điều chỉnh một LightGBM đơn giản bằng cách tối ưu hóa tham số. Sau đó, chúng tôi cố gắng vận hành một RFE tiêu chuẩn với tầm quan trọng của tính năng dựa trên cây mặc định trong khi tối ưu hóa các tham số. Cuối cùng, chúng tôi làm tương tự nhưng chọn các tính năng bằng SHAP. Để làm cho mọi thứ trở nên hiệu quả hơn, chúng tôi sử dụng một mục tiêu nhị phân không cân bằng và một số tính năng phân loại với số lượng cao.

Điều chỉnh tham số

Trong phần đầu tiên này, chúng tôi tính toán sự phù hợp trên tập đoàn tàu của chúng tôi chỉ tìm kiếm kết hợp tham số tốt nhất. Mô hình tốt nhất đạt độ chính xác cao hơn 0,9 nhưng với dữ liệu thử nghiệm của chúng tôi thu hồi thấp.

Hiệu suất trên dữ liệu thử nghiệm (hình ảnh của tác giả)

Hãy xem nếu có thể làm tốt hơn.

Điều chỉnh tham số + Lựa chọn tính năng

Nói chung, lựa chọn tính năng được giới thiệu để loại bỏ các yếu tố dự đoán nhiễu khỏi tập dữ liệu ban đầu. Chúng tôi sử dụng loại bỏ tính năng đệ quy (RFE) trong khi tìm kiếm bộ tham số tối ưu. Nói cách khác, đối với mỗi cấu hình tham số, chúng tôi lặp lại RFE trên dữ liệu đào tạo ban đầu. Có thể tăng tốc quá trình mua sắm bằng cách định cấu hình các thông số phù hợp, như dừng sớm hoặc thiết lập các bước lớn hơn trong khi xóa các tính năng kém hơn. Đường ống có điểm tốt nhất trên tập hợp xác thực được lưu trữ và sẵn sàng sử dụng tại thời điểm suy luận.

Hiệu suất trên dữ liệu thử nghiệm (hình ảnh của tác giả)

Trong tình huống này, chúng tôi đăng ký một cải tiến tổng thể nhưng duy trì các giá trị thấp cho việc thu hồi và điểm F1.

Điều chỉnh tham số + Lựa chọn tính năng với SHAP

Cuối cùng, chúng tôi sắp xếp lại quy trình tương tự như trước nhưng sử dụng SHAP cho RFE. SHAP cực kỳ hiệu quả khi được sử dụng kết hợp với các mô hình dựa trên cây. Nó sử dụng phương pháp tiếp cận đường dẫn cây để theo dõi các cây và trích xuất số lượng các ví dụ đào tạo đi xuống từng lá để cung cấp các tính toán nền. Nó cũng ít bị tự tin quá mức do thực tế là chúng ta có thể tính toán mức độ quan trọng trên tập xác nhận chứ không phải trên dữ liệu huấn luyện (như nhập khẩu dựa trên cây cổ điển).

Hiệu suất trên dữ liệu thử nghiệm (hình ảnh của tác giả)

Chúng tôi ghi nhận một sự cải thiện lớn về thu hồi và điểm số F1. SHAP có thể loại bỏ các tính năng phân loại chất lượng thấp chỉ giữ lại các yếu tố dự đoán tốt nhất.

So sánh hiệu suất trên dữ liệu thử nghiệm (hình ảnh của tác giả)

TÓM LƯỢC

Trong bài đăng này, chúng tôi đã giới thiệu shap-hypetune , như một khuôn khổ hữu ích để thực hiện điều chỉnh các thông số và các tính năng tối ưu khi tìm kiếm các mô hình tăng độ dốc. Chúng tôi đã giới thiệu một ứng dụng trong đó chúng tôi sử dụng tìm kiếm theo lưới và Loại bỏ tính năng đệ quy nhưng tìm kiếm ngẫu nhiên và Boruta là các tùy chọn khả dụng khác. Chúng tôi cũng đã xem cách cải thiện quy trình lựa chọn bằng cách sử dụng sức mạnh SHAP trong trường hợp thiếu hiệu suất từ ​​các phương pháp nhập tính năng cổ điển.

KIỂM TRA BÁO CÁO GITHUB CỦA TÔI

Giữ liên lạc: Linkedin

© Copyright 2021 - 2023 | vngogo.com | All Rights Reserved