จะเลือกเคอร์เนลสำหรับ SVM ได้อย่างไร?


95

เมื่อใช้ SVM เราต้องเลือกเคอร์เนล

ฉันสงสัยว่าจะเลือกเคอร์เนลอย่างไร เกณฑ์การเลือกเคอร์เนลใด ๆ


ขนาดของปัญหาคืออะไร? (#variables การสังเกต)?
user603

ฉันแค่ขอวิธีการแก้ปัญหาทั่วไปไม่มีปัญหาเฉพาะเจาะจงที่ระบุไว้
xiaohan2012

คำตอบ:


54

เคอร์เนลเป็นการวัดความคล้ายคลึงกันอย่างมีประสิทธิภาพดังนั้นการเลือกเคอร์เนลตามความรู้ก่อนหน้าของ invariances ตามที่ Robin แนะนำ (+1) เป็นแนวคิดที่ดี

ในกรณีที่ไม่มีความรู้จากผู้เชี่ยวชาญเคอร์เนล Radial Basis จะสร้างเคอร์เนลเริ่มต้นที่ดี (เมื่อคุณสร้างแล้วมันเป็นปัญหาที่ต้องใช้โมเดลที่ไม่ใช่เชิงเส้น)

ตัวเลือกของเคอร์เนลและพารามิเตอร์เคอร์เนล / การทำให้เป็นมาตรฐานสามารถเป็นไปโดยอัตโนมัติโดยปรับการเลือกรุ่นตามข้ามวัลดีดี (หรือใช้รัศมี - ขอบหรือขยายขอบเขต) สิ่งที่ง่ายที่สุดที่จะทำคือการลดเกณฑ์การเลือกแบบต่อเนื่องให้น้อยที่สุดโดยใช้วิธี Nelder-Mead simplex ซึ่งไม่ต้องการการคำนวณแบบไล่ระดับสีและทำงานได้ดีกับตัวเลขไฮเปอร์พารามิเตอร์ที่เหมาะสม หากคุณมีพารามิเตอร์ไฮเปอร์มากกว่าสองสามตัวในการปรับแต่งการเลือกรุ่นอัตโนมัติน่าจะส่งผลให้เกิดการปรับตัวที่รุนแรงเกินไปเนื่องจากความแปรปรวนของเกณฑ์การเลือกรุ่น เป็นไปได้ที่จะใช้การปรับให้เหมาะสมแบบไล่ระดับสี แต่โดยทั่วไปแล้วการเพิ่มประสิทธิภาพจะไม่คุ้มค่ากับความพยายามในการเขียนโค้ด)

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

GC Cawley และ NLC Talbot ป้องกันการปรับตัวเกินในการเลือกแบบจำลองผ่านการปรับค่าพารามิเตอร์แบบไฮเปอร์, วารสารการวิจัยการเรียนรู้ของเครื่องจักร, เล่ม 8, หน้า 841-861, เมษายน 2550 (pdf)

และ

GC Cawley และ NLC Talbot, การเลือกรุ่นที่มากเกินไปและความลำเอียงที่เลือกในการประเมินประสิทธิภาพ, วารสารการวิจัยการเรียนรู้ของเครื่อง, บทที่ 11, pp. 2079-2107, กรกฎาคม 2010 (pdf)


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

@ Bananin ผลิตภัณฑ์ดอทสามารถเขียนได้เป็นผลคูณของขนาดของเวกเตอร์สองคูณโคไซน์ของมุมระหว่างพวกมันดังนั้นคุณสามารถคิดได้ว่ามันเป็นการวัดความคล้ายคลึงกันในแง่ของทิศทางของเวกเตอร์ (แต่เห็นได้ชัดว่ายังขึ้นอยู่กับ ตามขนาดของมัน)
Dikran Marsupial

34

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

อย่างไรก็ตาม "ข้อดี" ของการทำงานกับเคอร์เนลคือคุณเปลี่ยนรูปทรงเรขาคณิต "Euclidean" ตามปกติเพื่อให้เหมาะกับปัญหาของคุณเอง นอกจากนี้คุณควรพยายามที่จะเข้าใจสิ่งที่เป็นความสนใจของเคอร์เนลสำหรับปัญหาของคุณคืออะไรโดยเฉพาะรูปทรงเรขาคณิตของปัญหาของคุณ ซึ่งอาจรวมถึง:

  • ความแปรปรวน : หากมีการเปลี่ยนแปลงที่ไม่เปลี่ยนปัญหาของคุณเป็นหลักเคอร์เนลควรสะท้อนสิ่งนั้น ค่าคงที่การหมุนมีอยู่ในเคอร์เนลเกาส์เซียน แต่คุณสามารถคิดถึงสิ่งอื่น ๆ ได้มากมาย: การแปล homothetie การแสดงกลุ่มใด ๆ ...
  • ตัวคั่นที่ดีคืออะไร หากคุณมีความคิดว่าตัวแยกที่ดีคืออะไร (เช่นกฎการจำแนกประเภทที่ดี) ในปัญหาการจัดหมวดหมู่ของคุณสิ่งนี้ควรรวมอยู่ในตัวเลือกของเคอร์เนล จำไว้ว่า SVM จะให้คุณแยกประเภทของแบบฟอร์ม

^(x)=Σผม=1nλผมK(x,xผม)

K(x,xผม)=x,Axผม+


ในคำตอบของคุณคุณกล่าวว่า "ข้อดี" ของการทำงานกับเคอร์เนลคือคุณเปลี่ยนรูปทรงเรขาคณิต "Euclidian" ตามปกติเพื่อให้เหมาะกับปัญหาของคุณเองนอกจากนี้คุณควรพยายามเข้าใจสิ่งที่น่าสนใจของเคอร์เนล สำหรับปัญหาของคุณเรขาคณิตของปัญหาของคุณคืออะไร " คุณช่วยให้การอ้างอิงไม่กี่เริ่มต้นด้วย ขอบคุณ
Raihana

11

ฉันมักจะรู้สึกว่าการเลือกพารามิเตอร์ไฮเปอร์ใด ๆ สำหรับ SVM จะทำผ่านการตรวจสอบข้ามร่วมกับการค้นหากริด


2
ฉันมีความรู้สึกเดียวกัน
xiaohan2012

2
การค้นหากริดเป็นความคิดที่ไม่ดีคุณใช้เวลาในการค้นหาในพื้นที่ที่ประสิทธิภาพไม่ดี ใช้อัลกอริธึมการปรับให้เหมาะสมแบบไล่ระดับสีฟรีเช่นวิธี Nelder-Mead simplex ซึ่งมีประสิทธิภาพมากกว่าในทางปฏิบัติ (เช่น fminsearch () ใน MATLAB)
Dikran Marsupial

ไม่ใช้โมเดลกราฟิกหรือกระบวนการ Gaussian สำหรับการเพิ่มประสิทธิภาพระดับโลกร่วมกับข้อมูลที่คาดหวัง (ดู 'อัลกอริทึมสำหรับการเพิ่มประสิทธิภาพพารามิเตอร์ไฮเปอร์', Bergstra et al, NIPS เตรียมพร้อม)
bayerj

2

โดยทั่วไปเคอร์เนล RBF เป็นตัวเลือก rst ที่เหมาะสมนอกจากนี้เคอร์เนลเชิงเส้นเป็นกรณีพิเศษของ RBF โดยเฉพาะอย่างยิ่งเมื่อจำนวนของคุณลักษณะมีขนาดใหญ่มากหนึ่งอาจใช้เคอร์เนลเชิงเส้น


1
ขึ้นอยู่กับว่าข้อมูลของคุณแยกได้เป็นเส้นตรงหรือไม่ไม่ใช่จำนวนมิติข้อมูลที่คุณมี เมื่อจำนวนของคุณลักษณะมีขนาดใหญ่มาก (ขึ้นอยู่กับข้อมูลอีกครั้ง) คุณจะต้องใช้การลดขนาดก่อน PCA หรือ LDA (ตัวแปรเคอร์เนลเชิงเส้นหรือไม่เชิงเส้น)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.