Tầm quan trọng thay đổi từ SVM


32

Làm thế nào để có được tầm quan trọng của biến (thuộc tính) khi sử dụng SVM?

Câu trả lời:


19

Nếu bạn sử dụng hình phạt l-1 trên vectơ trọng số, nó sẽ tự động chọn tính năng vì các trọng số tương ứng với các thuộc tính không liên quan sẽ tự động được đặt thành không. Xem bài viết này . Độ lớn (tuyệt đối) của mỗi trọng số khác không có thể đưa ra ý tưởng về tầm quan trọng của thuộc tính tương ứng.

Cũng xem bài báo này sử dụng các tiêu chí xuất phát từ các SVM để hướng dẫn lựa chọn thuộc tính.


1
Có bất kỳ một trong những thuật toán được thực hiện trong R hoặc phần mềm khác không?
George Dontas

5
Có, hãy xem gói R bị phạt SVM. Các gói quan tâm khác là: bị phạt, thunnet, ppls, lars, hoặc nói chung hơn: cran.r-project.org/web/view/MachineLearning.html
chl

7

Isabelle Guyon, André Elisseeff, "Giới thiệu về lựa chọn biến và tính năng", JMLR, 3 (Mar): 1157-1182, 2003. http://jmlr.csail.mit.edu/ con / v3 / guyon03a.html

rất đáng đọc, nó sẽ cung cấp một cái nhìn tổng quan tốt về các phương pháp và vấn đề. Một điều tôi muốn nói thêm là lựa chọn tính năng không nhất thiết phải cải thiện hiệu suất dự đoán và có thể dễ dàng làm cho nó tệ hơn (vì lý do này rất dễ phù hợp với tiêu chí lựa chọn tính năng). Một trong những lợi thế của các SVM (đặc biệt là tuyến tính) là chúng hoạt động tốt với số lượng lớn các tính năng (cung cấp cho bạn điều chỉnh tham số chính quy đúng cách), do đó thường không cần nếu bạn chỉ quan tâm đến dự đoán.


2
Tôi thậm chí sẽ giới thiệu toàn bộ cuốn sách từ I. Guyon và đồng nghiệp, j.mp/anblwx . Cuốn sách tiếng Anh từ Hastie và cộng sự, j.mp/bW3Hr4 , cũng cung cấp các cuộc thảo luận thú vị xung quanh chủ đề 'nóng' này.
chl

Tôi không đồng ý với yêu cầu của bạn; FS rất thú vị đối với một số thông tin giải thích mà nó cung cấp (lựa chọn đánh dấu / SNPs là một ví dụ khi đó là mục đích chính của phân tích). Sự lựa chọn tính năng overfit tất nhiên là một vấn đề, nhưng có những phương pháp để bỏ qua nó.

Tôi đã đưa ra quan điểm rằng FS không nhất thiết phải cải thiện tầm quan trọng dự đoán và có thể làm cho nó tồi tệ hơn. Nếu việc tìm kiếm các tính năng thông tin có tầm quan trọng nội tại, thì dĩ nhiên nên sử dụng FS, nhưng có thể hiệu suất dự đoán sẽ bị tổn hại nếu quá phù hợp với tiêu chí lựa chọn tính năng xảy ra (điều này xảy ra khá dễ dàng). Đối với các nhiệm vụ như phân tích mảng vi mô, tôi sẽ sử dụng hồi quy sườn (đóng gói) cho các dự đoán và một cái gì đó giống như LASSO để xác định các tính năng chính (để hiểu về sinh học). Không cần phải làm cả hai trong cùng một mô hình.
Dikran Marsupial

1

Nếu bạn sử dụng R, tầm quan trọng của biến có thể được tính bằng phương pháp Tầm quan trọng trong gói rminer. Đây là mã mẫu của tôi:

library(rminer)
M <- fit(y~., data=train, model="svm", kpar=list(sigma=0.10), C=2)
svm.imp <- Importance(M, data=train)

Cụ thể, hãy tham khảo liên kết sau https://cran.r-project.org/web/packages/rminer/rminer.pdf


2
Câu trả lời này không đầy đủ. Nó không mô tả tầm quan trọng của biến trong gói đó đang cố gắng truyền đạt.
Matthew Drury

Tôi đã thêm mã mẫu
Takashi Kaneda
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.