ข้อ จำกัด ของวิธีการเคอร์เนลคืออะไรและเมื่อใดที่จะใช้วิธีเคอร์เนล


10

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

คำตอบ:


16

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

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

โปรดทราบว่าฉันบอกว่าค่าใช้จ่ายในการคำนวณนั้นสมเหตุสมผล แต่ก็ไม่สำคัญ โดยทั่วไปวิธีเคอร์เนลจะสร้างเมทริกซ์เคอร์เนลKRN×N กับ Nจำนวนอินสแตนซ์การฝึกอบรม ความซับซ้อนของวิธีการเคอร์เนลจึงเป็นหน้าที่ของจำนวนอินสแตนซ์การฝึกอบรมมากกว่าจำนวนมิติการป้อนข้อมูล สนับสนุนเครื่องเวกเตอร์เช่นมีความซับซ้อนของการฝึกอบรมระหว่างO(N2) และ O(N3). สำหรับปัญหาที่มีขนาดใหญ่มากNความซับซ้อนนี้เป็นสิ่งต้องห้ามในปัจจุบัน

สิ่งนี้ทำให้เมธอดเคอร์เนลน่าสนใจมากจากมุมมองการคำนวณเมื่อจำนวนมิติมีขนาดใหญ่และจำนวนตัวอย่างค่อนข้างต่ำ (พูดน้อยกว่า 1 ล้าน)

ที่เกี่ยวข้อง: เคอร์เนลเชิงเส้นและเคอร์เนลที่ไม่ใช่เชิงเส้นสำหรับเครื่องเวกเตอร์สนับสนุน?

SVM สำหรับปัญหาขนาดใหญ่

สำหรับปัญหาเกี่ยวกับมิติที่สูงมากเช่น10000ขนาดที่คุณพูดถึงคำถามบ่อยครั้งที่ไม่จำเป็นต้องแมปกับพื้นที่คุณลักษณะมิติที่สูงขึ้น พื้นที่อินพุทดีพออยู่แล้ว สำหรับปัญหาดังกล่าววิธีการเชิงเส้นคือคำสั่งของขนาดเร็วขึ้นเกือบจะมีประสิทธิภาพการทำนายเหมือนกัน ตัวอย่างของวิธีการเหล่านี้สามารถพบได้ในLIBLINEARหรือVowpal Wabbit

วิธีการเชิงเส้นนั้นน่าสนใจอย่างยิ่งเมื่อคุณมีตัวอย่างจำนวนมากในพื้นที่อินพุตที่มีมิติสูง เมื่อคุณมีเท่านั้น500 ตัวอย่างการใช้วิธีเคอร์เนลแบบไม่เชิงเส้นก็จะมีราคาถูกด้วยเช่นกัน Nเล็ก). ถ้าคุณมีพูด5.000.000 ตัวอย่างใน 10.000 มิติวิธีเคอร์เนลจะเป็นไปไม่ได้

สำหรับปัญหามิติต่ำที่มีอินสแตนซ์การฝึกอบรมจำนวนมาก (เรียกว่าขนาดใหญ่ N เล็ก pปัญหา) วิธีการเชิงเส้นอาจให้ความแม่นยำในการทำนายที่ไม่ดี สำหรับปัญหาดังกล่าววิธีการทั้งมวลเช่นEnsembleSVMให้ขอบเขตการตัดสินใจแบบไม่เชิงเส้นที่ลดต้นทุนการคำนวณอย่างมีนัยสำคัญเมื่อเทียบกับ SVM มาตรฐาน


ขอบคุณมากสำหรับคำตอบรายละเอียดครับ ฉันพบในสถานการณ์ที่มีมิติสูงหากฉันใช้RBFเคอร์เนลในlibsvmมันมักจะ overfitting ลักษณนามบรรลุความแม่นยำสูง แต่ความแม่นยำต่ำในชุดการทดสอบ และถ้าฉันทำการลดขนาดก่อนลักษณนามและขนาดที่ลดลงนั้นใกล้เคียงกับจำนวนตัวอย่างการฝึกอบรมลักษณนามอาจได้รับผลกำไรที่ดีระหว่างชุดฝึกอบรมและชุดทดสอบ ผลลัพธ์นั้นสอดคล้องกับผลลัพธ์เชิงประจักษ์มากที่สุดหรือไม่? ขอบคุณ
ขุด

วิธีการเคอร์เนลมีความแข็งแกร่งพอสมควรเมื่อเทียบกับมิติข้อมูลเข้าสูง โดยทั่วไปคุณไม่จำเป็นต้องทำการลดมิติข้อมูลก่อนใช้งาน เป็นสิ่งสำคัญมากในการปรับพารามิเตอร์ทั้งหมดโดยเฉพาะอย่างยิ่งgammaสำหรับเคอร์เนล RBF ค่าที่เหมาะสมสำหรับgammaเกี่ยวข้องกับจำนวนมิติอินพุต วิธีการปรับที่พบมากที่สุดคือการตรวจสอบข้าม หากคุณใช้ค่าเดียวกันสำหรับgammaการลดและลดขนาดคุณอาจทำผิดพลาด
Marc Claesen

ครับท่าน. ฉันมักจะใช้grid.pyในlibsvmแพคเกจเพื่อทำการตรวจสอบข้าม และในสถานการณ์ส่วนใหญ่สำหรับข้อมูลมิติสูงขนาดgammaเล็กมากเสมอเช่น0.00001ระดับนี้
ขุด

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

การใช้มัลติเธรดเป็นตัวเลือกใน EnsembleSVM แต่เปิดใช้งานโดยค่าเริ่มต้นในและesvm-train เพื่อปิดการใช้งานแบบมัลติเธรดใช้ธงต่อไปนี้ในเครื่องมือเหล่านั้น:esvm-predict -threads 1
Marc Claesen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.