Lựa chọn tính năng cho Support Vector Machines


9

Câu hỏi của tôi là ba lần

Trong ngữ cảnh của các máy vectơ hỗ trợ "Kernelized"

  1. Lựa chọn biến / tính năng là mong muốn - đặc biệt là khi chúng tôi thường xuyên tham số C để ngăn chặn quá mức và động cơ chính của việc giới thiệu hạt nhân cho SVM là để tăng tính chiều của vấn đề, trong trường hợp như vậy, giảm kích thước bằng cách giảm tham số có vẻ phản trực giác
  2. Nếu câu trả lời cho câu hỏi thứ nhất là "KHÔNG", thì, câu trả lời nào sẽ thay đổi mà người ta nên ghi nhớ?
  3. Có phương pháp tốt nào đã được thử để giảm tính năng cho các SVM trong thư viện python của scikit-learn không - Tôi đã thử phương pháp ChọnFpr và đang tìm kiếm những người có kinh nghiệm với các phương pháp khác nhau.

1
Lựa chọn tính năng sẽ luôn hữu ích trừ khi các tính năng ban đầu của bạn xảy ra với chất lượng siêu cao để bắt đầu. Sklearn cung cấp rất nhiều thư viện lựa chọn tính năng khác nhau ( scikit-learn.org/urdy/modules/feature_selection.html ) Bản thân tôi là một phần của RFE.
David

1
Bạn đã không đề cập đến bối cảnh của mình - lưu ý rằng nếu trong bối cảnh kinh doanh, mọi tính năng còn lại trong mô hình sẽ yêu cầu bảo trì ở một mức độ nào đó - có một chi phí tiền theo nghĩa đen nếu bạn có nhiều biến hơn, theo nghĩa là nó đòi hỏi, ví dụ, nỗ lực thu thập dữ liệu nhiều hơn, thời gian DBA và thời gian lập trình. Việc xem xét này rõ ràng không áp dụng nếu nó dành cho Kaggle comp hoặc tương tự, và nếu sử dụng thêm 200 tính năng có sẵn trong bộ dữ liệu sẽ giúp bạn tăng 0,01% hiệu suất khi bạn kiếm được tiền.
Robert de Graaf

Câu trả lời:


3

Cá nhân, tôi muốn chia lựa chọn tính năng thành hai:

  • lựa chọn tính năng không giám sát
  • lựa chọn tính năng giám sát

Lựa chọn tính năng không được giám sát là những thứ như phân cụm hoặc PCA nơi bạn chọn phạm vi tính năng ít dư thừa nhất (hoặc tạo các tính năng có ít dự phòng). Lựa chọn tính năng được giám sát là những thứ như Lasso nơi bạn chọn các tính năng có sức mạnh dự đoán nhất.

Cá nhân tôi thường thích những gì tôi gọi là lựa chọn tính năng được giám sát. Vì vậy, khi sử dụng hồi quy tuyến tính, tôi sẽ chọn các tính năng dựa trên Lasso. Các phương pháp tương tự tồn tại để gây ra sự thưa thớt trong các mạng lưới thần kinh.

Nhưng thực sự, tôi không thấy cách tôi sẽ thực hiện điều đó trong một phương thức sử dụng hạt nhân, vì vậy có lẽ bạn nên sử dụng cái mà tôi gọi là lựa chọn tính năng không giám sát.

EDIT: bạn cũng đã hỏi về chính quy. Tôi thấy việc chính quy hóa là chủ yếu vì chúng tôi làm việc với các mẫu hữu hạn và vì vậy phân phối đào tạo và kiểm tra sẽ luôn khác nhau đôi chút và bạn muốn mô hình của mình không phù hợp. Tôi không chắc chắn nó sẽ loại bỏ sự cần thiết phải tránh lựa chọn các tính năng (nếu bạn thực sự có quá nhiều). Tôi nghĩ rằng việc chọn các tính năng (hoặc tạo một tập hợp con nhỏ hơn của chúng) sẽ giúp bằng cách làm cho các tính năng bạn làm trở nên mạnh mẽ hơn và tránh mô hình để học hỏi từ các mối tương quan giả. Vì vậy, chính quy hóa có ích, nhưng không chắc chắn rằng nó là một sự thay thế hoàn toàn. Nhưng tôi chưa nghĩ đủ kỹ về điều này.

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.