ตัวแปรสำคัญจาก SVM


32

วิธีการรับความสำคัญของตัวแปร (คุณลักษณะ) โดยใช้ SVM?

คำตอบ:


19

หากคุณใช้การลงโทษ l-1 บนน้ำหนักเวกเตอร์จะทำการเลือกคุณสมบัติอัตโนมัติเนื่องจากน้ำหนักที่สอดคล้องกับแอตทริบิวต์ที่ไม่เกี่ยวข้องจะถูกตั้งค่าเป็นศูนย์โดยอัตโนมัติ ดูกระดาษนี้ ขนาด (สัมบูรณ์) ของน้ำหนักที่ไม่เป็นศูนย์แต่ละแห่งสามารถให้แนวคิดเกี่ยวกับความสำคัญของแอตทริบิวต์ที่เกี่ยวข้อง

ดูบทความนี้ซึ่งใช้เกณฑ์ที่ได้รับจาก SVM เพื่อเป็นแนวทางในการเลือกคุณสมบัติ


1
มีการใช้ algos ใด ๆ ใน R หรือซอฟต์แวร์อื่นหรือไม่?
George Dontas

5
ใช่ลองดูแพ็คเกจ R punizedSVM แพ็คเกจอื่น ๆ ที่น่าสนใจคือ: ถูกลงโทษ, elasticnet, ppls, lars หรืออื่น ๆ โดยทั่วไป: cran.r-project.org/web/views/MachineLearning.html
chl

7

Isabelle Guyon, André Elisseeff, "การแนะนำตัวแปรและการเลือกคุณสมบัติ", JMLR, 3 (มี.ค. ): 1157-1182, 2003 http://jmlr.csail.mit.edu/papers/v3/guyon03a.html

คุ้มค่าที่จะอ่านมันจะให้ภาพรวมที่ดีของวิธีการและปัญหา สิ่งหนึ่งที่ฉันจะเพิ่มคือการเลือกคุณสมบัติไม่จำเป็นต้องปรับปรุงประสิทธิภาพการคาดการณ์และสามารถทำให้แย่ลงได้อย่างง่ายดาย (เพราะมันง่ายเกินไปที่จะทำให้พอดีกับเกณฑ์การเลือกคุณลักษณะ) ข้อดีอย่างหนึ่งของ (โดยเฉพาะอย่างยิ่งเชิงเส้น) SVMs คือมันทำงานได้ดีกับคุณสมบัติจำนวนมาก (ให้คุณปรับพารามิเตอร์การทำให้เป็นมาตรฐานอย่างถูกต้อง) ดังนั้นจึงไม่จำเป็นต้องมีถ้าคุณสนใจในการทำนายเท่านั้น


2
ฉันก็อยากจะแนะนำหนังสือทั้งเล่มจาก I. Guyon และเพื่อนร่วมงาน, j.mp/anblwx หนังสือ ESL จาก Hastie et al., j.mp/bW3Hr4ให้การอภิปรายที่น่าสนใจเกี่ยวกับหัวข้อ 'ร้อน' นี้
chl

ฉันไม่เห็นด้วยกับการเรียกร้องของคุณ; FS นั้นมีความน่าสนใจในตัวเองสำหรับข้อมูลอธิบายที่ให้ (การเลือก marker / SNPs เป็นตัวอย่างเมื่อมันเป็นเป้าหมายหลักของการวิเคราะห์) การเลือกคุณสมบัติเกินความเหมาะสมนั้นเป็นปัญหา แต่ก็มีวิธีการที่จะไม่ใช้งาน

ฉันกำลังทำให้ประเด็นที่ FS ไม่จำเป็นต้องปรับปรุงความสำคัญในการทำนายและอาจทำให้แย่ลงได้ หากการค้นหาคุณลักษณะที่ให้ข้อมูลมีความสำคัญอย่างแท้จริงแน่นอนว่าควรใช้ FS แต่อาจเป็นได้ว่าประสิทธิภาพการทำนายนั้นลดลงหากการปรับเกณฑ์การเลือกคุณลักษณะเกินความเหมาะสม (ซึ่งเกิดขึ้นค่อนข้างง่าย) สำหรับงานต่าง ๆ เช่นการวิเคราะห์แบบไมโครอาร์เรย์ฉันจะใช้การถดถอยแบบสัน (แบบเป็นถุง) สำหรับการคาดการณ์และบางอย่างเช่น LASSO สำหรับการยับยั้งคุณสมบัติหลัก (สำหรับการทำความเข้าใจเกี่ยวกับชีววิทยา) ไม่จำเป็นต้องทำทั้งสองอย่างในรุ่นเดียวกัน
Dikran Marsupial

1

หากคุณใช้ R ความสำคัญของตัวแปรสามารถคำนวณได้ด้วยวิธีความสำคัญในแพ็คเกจ rminer นี่คือรหัสตัวอย่างของฉัน:

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

โดยละเอียดโปรดอ้างอิงลิงค์ต่อไปนี้https://cran.r-project.org/web/packages/rminer/rminer.pdf


2
คำตอบนี้ไม่สมบูรณ์ ไม่ได้อธิบายถึงความสำคัญของตัวแปรในแพ็คเกจที่พยายามสื่อสาร
Matthew Drury

ฉันได้เพิ่มโค้ดตัวอย่าง
Takashi Kaneda
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.