ดังที่คุณกล่าวถึงการจัดเก็บเคอร์เนลเมทริกซ์จำเป็นต้องใช้หน่วยความจำที่ขยายเป็นสองเท่าด้วยจำนวนจุดข้อมูล เวลาฝึกอบรมสำหรับอัลกอริธึม SVM แบบดั้งเดิมยังขยายขนาดอย่างสุดยอดด้วยจำนวนจุดข้อมูล ดังนั้นอัลกอริธึมเหล่านี้จึงเป็นไปไม่ได้สำหรับชุดข้อมูลขนาดใหญ่
KฉันเจxผมxJKฉันเจ= Φ ( xผม) ⋅ ไว( xJ)Φมีการกำหนดโดยนัยโดยฟังก์ชันเคอร์เนลและ kernelized SVMs ไม่คำนวณการแสดงพื้นที่ของคุณสมบัติอย่างชัดเจน สิ่งนี้มีประสิทธิภาพในการคำนวณสำหรับชุดข้อมูลขนาดเล็กถึงขนาดกลางเนื่องจากพื้นที่ของฟีเจอร์สามารถเป็นมิติที่สูงมากหรือแม้แต่มิติที่ไม่มีที่สิ้นสุด แต่ดังที่กล่าวมาสิ่งนี้เป็นไปไม่ได้สำหรับชุดข้อมูลขนาดใหญ่ แต่เราสามารถแมปข้อมูลที่ไม่ใช่เชิงเส้นอย่างชัดเจนในพื้นที่ของคุณลักษณะจากนั้นจึงฝึกอบรม SVM เชิงเส้นอย่างมีประสิทธิภาพบนการแสดงพื้นที่ของคุณลักษณะ การแมปพื้นที่ของคุณลักษณะสามารถสร้างขึ้นเพื่อประมาณฟังก์ชั่นเคอร์เนลที่กำหนด แต่ใช้มิติน้อยกว่าการแมปพื้นที่ของคุณสมบัติ 'เต็ม' สำหรับชุดข้อมูลขนาดใหญ่สิ่งนี้สามารถให้การแทนพื้นที่คุณลักษณะที่หลากหลายกับเราได้ แต่มีมิติข้อมูลน้อยกว่าจุดข้อมูล
วิธีการหนึ่งในการประมาณเคอร์เนลใช้การประมาณNyström (Williams and Seeger 2001) นี่เป็นวิธีประมาณค่าลักษณะเฉพาะ / eigenvector ของเมทริกซ์ขนาดใหญ่โดยใช้ submatrix ที่มีขนาดเล็กลง อีกวิธีใช้คุณสมบัติแบบสุ่มและบางครั้งเรียกว่า 'sink ครัวแบบสุ่ม' (Rahimi and Recht 2007)
เคล็ดลับอีกประการหนึ่งสำหรับการฝึกอบรม SVM บนชุดข้อมูลขนาดใหญ่คือการประมาณปัญหาการปรับให้เหมาะสมกับชุดย่อยที่มีขนาดเล็กกว่า ตัวอย่างเช่นการใช้การไล่ระดับสีแบบสุ่มสโตแคสติกในปัญหาแรกคือวิธีการหนึ่ง มีการทำงานหลายอย่างในหน้าการเพิ่มประสิทธิภาพ Menon (2009) ให้การสำรวจที่ดี
อ้างอิง
วิลเลียมส์และซีเกอร์ (2001) การใช้เมธอด Nystroem เพื่อเร่งเครื่องเคอร์เนล
Rahimi และ Recht (2007) คุณสมบัติแบบสุ่มสำหรับเครื่องเคอร์เนลขนาดใหญ่
น้อน (2009) เครื่องเวกเตอร์รองรับขนาดใหญ่: อัลกอริทึมและทฤษฎี