tính năng kỹ thuật có quan trọng khi thực hiện Random Forest hoặc Gradient Boosting không?


9

Đối với các mô hình tuyến tính (như hồi quy tuyến tính, hồi quy logistic, v.v.), kỹ thuật tính năng là một bước quan trọng để cải thiện hiệu suất của các mô hình. Câu hỏi của tôi là có vấn đề gì không nếu chúng ta thực hiện bất kỳ kỹ thuật tính năng nào trong khi sử dụng rừng ngẫu nhiên hoặc tăng cường độ dốc?

Cho rằng những mô hình này không phải là mô hình học tập sâu. nhưng có vẻ như một số phương pháp kỹ thuật tính năng không thực sự cải thiện mô hình. Ví dụ: Tôi đang thực hiện một vấn đề phân loại nhị phân, chứa khoảng 200 tính năng và 20 trong số đó là các tính năng phân loại. Tôi đã làm như sau:

  1. điểm chuẩn: chạy phân loại rừng ngẫu nhiên trực tiếp trên dữ liệu gốc. Tôi đã nhận được AUC khoảng 0,93, độ chính xác, thu hồi và điểm F là khoảng 0,95 Tôi đã nói xung quanh, bởi vì xác thực statifiedK Fold được áp dụng và có các biến thể rất nhỏ cho kết quả

  2. Tôi đã giảm kích thước tính năng bằng cách thực hiện kiểm tra bình phương và kiểm tra ANOVA f1, chạy mô hình. kết quả gần như giống hệt nhau: AUC khoảng 0,93, độ chính xác, thu hồi và điểm F là khoảng 0,95

  3. sau đó tôi nhấn một lần tất cả các tính năng phân loại và sau đó chạy lại mô hình, kết quả vẫn gần như giống nhau: AUC khoảng 0,93, độ chính xác, thu hồi và điểm F là khoảng 0,95

  4. Sau đó, SVD rút ngắn được áp dụng để giảm các tính năng hơn nữa và giữ lại mô hình, kết quả vẫn không thay đổi ...

  5. cuối cùng tôi đã thêm thuật ngữ đa thức, thuật ngữ chéo của các tính năng còn lại. kết quả vẫn không thay đổi ...

Có gợi ý nào không? cảm ơn bạn.


1
Như các câu trả lời nói, nó nói chung có vấn đề. Các kỹ thuật kỹ thuật đặc trưng có thể có xu hướng không hữu ích cho các phương pháp học máy cụ thể - ví dụ, một khu rừng ngẫu nhiên phải xử lý các mối quan hệ cong một cách đầy đủ mà không cần tạo cơ sở đa thức cho các yếu tố dự đoán, không giống như mô hình tuyến tính.
Scortchi - Phục hồi Monica

Câu trả lời:


8

Một cách hợp lý được công nhận rộng rãi rằng kỹ thuật tính năng cải thiện kết quả khi sử dụng các thuật toán tương đối tiên tiến như GBM hoặc Rừng ngẫu nhiên. Có một vài lý do, liên quan đến cả độ chính xác tổng thể và khả năng sử dụng. Thứ nhất, nếu bạn thực sự muốn sử dụng mô hình, các tính năng sẽ yêu cầu bảo trì và triển khai và thường sẽ yêu cầu giải thích cho người dùng. Đó là, mỗi tính năng bổ sung sẽ tạo thêm công việc. Vì vậy, với mục đích thực tế, thật hữu ích khi loại bỏ các tính năng không đóng góp về mặt vật chất để cải thiện độ chính xác.

Đối với độ chính xác tổng thể, các tính năng bổ sung và / hoặc các tính năng được thiết kế kém làm tăng khả năng bạn đang đào tạo mô hình của mình về tiếng ồn hơn là tín hiệu. Do đó, sử dụng kiến ​​thức tên miền hoặc kiểm tra dữ liệu để đề xuất các cách thay thế cho các tính năng kỹ sư thường sẽ cải thiện kết quả. Blog kaggle - blog.kaggle.com - bao gồm 'cách họ đã làm nó' từ những người hoàn thành bục giảng trong mỗi cuộc thi. Chúng thường bao gồm các mô tả về kỹ thuật tính năng - được cho là thường xuyên hơn so với mô tả điều chỉnh mô hình, nhấn mạnh tầm quan trọng của kỹ thuật tính năng - và một số trong số chúng rất sáng tạo, bao gồm tận dụng kiến ​​thức tên miền do nhà tổ chức cạnh tranh cung cấp hoặc được phát hiện trong cuộc thi.

Bài viết gần đây này là một ví dụ điển hình về kiến ​​thức tên miền có được khi thi đấu được sử dụng để chọn / tính năng kỹ sư http://blog.kaggle.com/2017/06/29/2017-data-science-bowl-predicting-lung- ung thư-2nd-place-Solution-write-up-daniel-hammack-and-julian-de-wit / (các phần đứng đầu 'Tiền xử lý' và 'Dữ liệu bên ngoài' là ví dụ điển hình).


4

Có rất nhiều, cách tốt nhất để nhận thấy điều này là bằng cách thực hiện một cuộc thi kaggle. Bạn sẽ thấy rằng rất nhiều người dùng sử dụng cùng một mô hình (chủ yếu là tăng cường độ dốc và xếp chồng) nhưng tính năng kỹ thuật và lựa chọn thực sự là điều có thể tạo ra sự khác biệt giữa điểm số bảng xếp hạng 5% hàng đầu và 20% hàng đầu.

Nhưng bạn cũng phải kiểm tra tính cộng tác của các tính năng của mình, đôi khi việc thêm quá nhiều tính năng tương quan có thể làm giảm độ chính xác của mô hình của bạn.

Ngoài ra, bạn cần tinh chỉnh các tham số siêu của bạn để có thể tăng đáng kể điểm số mô hình của bạn.

Xét cho cùng, nếu mô hình của bạn không cải thiện thì có khả năng thuật toán bạn sử dụng không phù hợp với loại vấn đề của bạn. Nếu một thuật toán phổ biến, điều đó không có nghĩa là nó phù hợp với mọi loại vấn đề.


2

Giả sử rằng bạn đang sử dụng cây làm đơn vị tăng cường của mình (mô hình được trang bị ở mỗi lần lặp), đúng là một số biến đổi tương đối đơn giản, như biến đổi đơn điệu nghiêm ngặt (ví dụ: bình phương, chia tỷ lệ, ln, v.v.) sẽ không ảnh hưởng đến kết quả , bởi vì cây bất biến đối với những biến đổi như vậy. Ngoài ra, việc tạo ra các tương tác giữa các biến sẽ không giúp được gì nhiều, bởi vì cây có thể mô hình hóa các tương tác (với điều kiện bạn cho phép các cây đủ sâu). Kiểm tra trang 352 (phần 10.7) của Các yếu tố của học thống kê để biết thêm chi tiết.

Tuy nhiên, tôi mong đợi các biến đổi khá phức tạp mà bạn mô tả, có ảnh hưởng đến kết quả nói chung.

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.