การถดถอยโลจิสติกเคอร์เนลเทียบกับ SVM


32

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


1
สไลด์ของ Hastieคือสิ่งที่คุณกำลังมองหา
Yibo Yang

คำตอบ:


28

KLR และ SVM

  1. ประสิทธิภาพการจำแนกประเภทเกือบเหมือนกันในทั้งสองกรณี
  2. KLR สามารถจัดระดับความน่าจะเป็นได้ในขณะที่ SVM เป็นตัวจําแนกประเภทที่กําหนดค่าได้
  3. KLR มีส่วนขยายตามธรรมชาติไปสู่การจัดหมวดหมู่หลายชั้นใน SVM มีหลายวิธีในการขยายไปยังการจัดหมวดหมู่หลายชั้น (และยังคงเป็นพื้นที่ของการวิจัยว่ามีรุ่นที่มีคุณภาพเหนือกว่าผู้อื่นหรือไม่)
  4. น่าประหลาดใจหรือไม่น่าแปลกใจ KLR ยังมีคุณสมบัติมาร์จิ้นที่เหมาะสมที่ SVM จะได้รับ (อย่างน้อยก็อยู่ในขีด จำกัด )!

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

  1. O(ยังไม่มีข้อความ3)O(ยังไม่มีข้อความ2k)k
  2. ลักษณนามใน SVM ได้รับการออกแบบให้มีการกำหนดไว้เฉพาะในแง่ของเวกเตอร์การสนับสนุนในขณะที่ใน KLR ตัวจําแนกถูกกำหนดเหนือทุกจุดไม่ใช่แค่เวกเตอร์สนับสนุน สิ่งนี้ทำให้ SVM สามารถเพลิดเพลินไปกับการเพิ่มความเร็วอย่างเป็นธรรมชาติ (ในแง่ของการเขียนโค้ดที่มีประสิทธิภาพ) ซึ่งทำได้ยากสำหรับ KLR

7
+1 ฉันจะเพิ่มว่าหากความซับซ้อนในการคำนวณเป็นปัญหามันไม่ยากเกินไปที่จะสร้างแบบจำลองการถดถอยโลจิสติกเคอร์เนลแบบเบาบางโดยตะกละเลือกเวกเตอร์พื้นฐานเพื่อลดการสูญเสียตามปกติในชุดฝึกอบรมหรือแนวทางอื่น ๆ ดูเอกสารใน "เครื่องเวกเตอร์ข้อมูล" ตัวอย่างเช่น
Dikran Marsupial

4
นอกจากนี้ค่อนข้างบ่อยถ้าคุณปรับพารามิเตอร์ของเคอร์เนลและการทำให้เป็นมาตรฐานของ SVM คุณสิ้นสุดด้วยโมเดลที่ข้อมูลทั้งหมดสนับสนุนเวกเตอร์ Sparsity ของ SVM เป็นอุบัติเหตุที่มีความสุขจริงๆมันไม่ใช่จุดขายที่ดีของเทคนิคเพราะโดยทั่วไปแล้วเป็นไปได้ที่จะได้ sparsity มากขึ้นด้วยวิธีการอื่น
Dikran Marsupial

1
@DikranMarsupial ขอบคุณสำหรับตัวชี้ไปยังเครื่องเวกเตอร์ข้อมูล ฉันรู้ว่ามีงานบางชิ้นใน Sparse KLR แต่จนถึงตอนนี้ฉันไม่คิดว่างานเหล่านี้จะขยายขนาดได้สำหรับชุดข้อมูลขนาดใหญ่ ทั้งสองวิธีปล่อยการใช้งานที่ดีของ KLR แบบเบาบางซึ่งใช้งานง่ายเช่น libSVM หรือ SVM Light สามารถไปได้ไกลในการนำไปใช้ ขออภัยหากการใช้งานดังกล่าวมีอยู่แล้ว แต่ฉันไม่ทราบเลย (แก้ไข: ฉันคิดว่าคุณหมายถึง "Import vector machine" แทน "Informative vector machine"?)
TenaliRaman

2
หากคุณลงท้ายด้วยจุดข้อมูลทั้งหมดเป็นเวกเตอร์การสนับสนุนแล้วคุณจะเหมาะสมกว่า สิ่งนี้เกิดขึ้นกับ RBF หลายครั้ง ในความเป็นจริงหนึ่งในสิ่งพื้นฐานที่ฉันได้เรียนรู้ในฐานะผู้ใช้ SVM คืออันดับแรกและสำคัญที่สุดตรวจสอบเศษส่วนของคะแนนที่เลือกเป็นเวกเตอร์สนับสนุน หากเป็นข้อมูลมากกว่า 30% ของข้อมูลทั้งหมดฉันก็จะปฏิเสธโมเดลนั้นทันที
TenaliRaman

3
ไม่ถูกต้องว่าจุดข้อมูลทั้งหมดที่เป็น SV หมายถึงการปรับให้เหมาะสมมากเกินไป หากค่าของ C มีขนาดเล็กแสดงว่ามีค่าปรับเล็กน้อยในตัวแปรสแลคแล้วคุณสามารถมีลักษณนามที่สุภาพมาก (ซึ่งทำให้เกิดข้อผิดพลาดมากมายในชุดฝึกอบรม) และระยะขอบนั้นกว้างจนข้อมูลทั้งหมดเป็นเวกเตอร์สนับสนุน การปฏิเสธแบบจำลองที่ไม่กระจัดกระจายนั้นไม่ได้เป็นกฎที่ดีเพราะบางครั้ง SVM ที่มีประสิทธิภาพการทำงานทั่วไปที่ดีที่สุดนั้นไม่ใช่แบบเบาบาง จำนวน SVs เป็นขอบเขตสูงสุดของข้อผิดพลาดการลาออก แต่ก็มักจะสูญเสียมากแน่นอน!
Dikran Marsupial

15

นี่คือปัญหาของฉัน:

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

  • นี่คือแหล่งข้อมูลเกี่ยวกับการถดถอย SVM สังเกตุพารามิเตอร์เพิ่มเติมเพื่อ twiddle และการสนทนาเชิงลึกเกี่ยวกับอัลกอริทึมการปรับให้เหมาะสม

การถดถอยกระบวนการแบบเกาส์มีคณิตศาสตร์ kernelly จำนวนมากและมันใช้งานได้ดีสำหรับการถดถอย อีกครั้งที่สง่างามมากและก็ไม่ช้าเกินไป ลองใช้พวกมันเพื่อจัดหมวดหมู่และมันเริ่มมีความรู้สึก kludgy

  • นี่คือบทหนึ่งจากหนังสือ GP เกี่ยวกับการถดถอย

  • นี่คือบทเกี่ยวกับการจัดหมวดหมู่สำหรับการเปรียบเทียบ โปรดสังเกตว่าคุณต้องจบด้วยการประมาณที่ซับซ้อนหรือวิธีการวนซ้ำ

สิ่งหนึ่งที่ดีเกี่ยวกับการใช้ GPs สำหรับการจำแนกประเภทก็คือมันช่วยให้คุณมีการแจกแจงแบบคาดการณ์ได้มากกว่าการจำแนกประเภทใช่ / ไม่ใช่แบบง่าย


2
+1 GPs เป็นทางเลือกที่ดีสำหรับ KLR (แม้ว่า KLR มักจะให้ประสิทธิภาพที่ดีกว่าเนื่องจากการเลือกแบบจำลองตามหลักฐานสามารถผิดพลาดได้ง่ายหากมีการระบุข้อมูลผิดรุ่น) และการตรวจสอบข้ามมักเป็นที่นิยมมากกว่า
Dikran Marsupial

7

กรุณาเยี่ยมชมhttp://www.stanford.edu/~hastie/Papers/svmtalk.pdf

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

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