เปรียบเทียบ SVM และการถดถอยโลจิสติก


37

ใครช่วยกรุณาเล่าให้ฉันฟังหน่อยว่าจะเลือก SVM หรือ LR ได้ไหม? ฉันต้องการที่จะเข้าใจสัญชาตญาณเบื้องหลังสิ่งที่แตกต่างระหว่างเกณฑ์การปรับให้เหมาะสมของการเรียนรู้ไฮเปอร์เพลนของทั้งสองโดยมีจุดมุ่งหมายที่เกี่ยวข้องดังนี้:

  • SVM: พยายามเพิ่มระยะห่างระหว่างเวกเตอร์สนับสนุนที่ใกล้ที่สุด
  • LR: เพิ่มความน่าจะเป็นระดับหลังให้มากที่สุด

ลองพิจารณาพื้นที่ของคุณสมบัติเชิงเส้นสำหรับทั้ง SVM และ LR

ความแตกต่างบางประการที่ฉันรู้แล้ว:

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

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

คำตอบ:


30

SVM เชิงเส้นและการถดถอยแบบโลจิสติกส์มักจะปฏิบัติในการเปรียบเทียบ ใช้ SVM กับเคอร์เนลที่ไม่ใช่เชิงเส้นหากคุณมีเหตุผลที่เชื่อได้ว่าข้อมูลของคุณจะไม่สามารถแยกได้เป็นเชิงเส้น (หรือคุณต้องมีความทนทานต่อค่าผิดปกติมากกว่า LR ปกติจะทนได้) มิฉะนั้นเพียงลองลองการถดถอยโลจิสติกก่อนและดูว่าคุณทำอย่างไรกับโมเดลที่ง่ายกว่านั้น หากการถดถอยโลจิสติกส์ล้มเหลวคุณลอง SVM ด้วยเคอร์เนลที่ไม่ใช่แบบเชิงเส้นเช่น RBF

แก้ไข:

ตกลงมาพูดกันว่าฟังก์ชั่นวัตถุประสงค์มาจากไหน

การถดถอยโลจิสติกมาจากการถดถอยเชิงเส้นทั่วไป การอภิปรายที่ดีของฟังก์ชันวัตถุประสงค์การถดถอยโลจิสติกในบริบทนี้สามารถดูได้ที่นี่: https://stats.stackexchange.com/a/29326/8451

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

ฉันจะพยายามกลับมาที่นี่อีกครั้งและลึกเข้าไปในวัชพืชฉันแค่อยู่ตรงกลางของบางสิ่ง: p


1
แต่นั่นก็ยังไม่ตอบคำถามของฉันเกี่ยวกับความแตกต่างที่เข้าใจง่ายในฟังก์ชันวัตถุประสงค์ของ SVM v / s LR ซึ่งมีดังต่อไปนี้: (a) SVM: พยายามเพิ่มระยะห่างระหว่างเวกเตอร์สนับสนุนที่ใกล้ที่สุด (b) LR: เพิ่มความน่าจะเป็นในระดับหลังให้น้อยที่สุด
user41799

ฉันหมายความว่านั่นเป็นคำถามที่แตกต่างอย่างสิ้นเชิง คุณกำลังถามเกี่ยวกับเวลาที่จะใช้แบบจำลองหรือสิ่งที่กระตุ้นรูปแบบของฟังก์ชั่นวัตถุประสงค์ของพวกเขา?
David Marx

1
ฉันสนใจสิ่งที่กระตุ้นรูปแบบของฟังก์ชันวัตถุประสงค์ของพวกเขา
user41799

4
ฉันจะพยายามกลับมาที่นี่อีกครั้งและลึกเข้าไปในวัชพืชฉันแค่อยู่ตรงกลางของบางสิ่งสี่ปีต่อมา ...
user1717828

23

การถดถอยโลจิสติกกับ SVM

รูปภาพแสดงถึงความแตกต่างระหว่าง SVM และ Logistic Regression และตำแหน่งที่จะใช้วิธีการใด

ภาพนี้มาจากหลักสูตรรายวิชา: "การเรียนรู้ของเครื่อง" โดย Andrew NG พบได้ในสัปดาห์ที่ 7 ในตอนท้ายของ: "การสนับสนุนเครื่องเวกเตอร์ - การใช้ SVM"


โดย "คุณสมบัติ" คุณหมายถึงจำนวนแอตทริบิวต์ที่ไม่ซ้ำกันหรือจำนวนรวมของค่าที่ไม่ซ้ำกันซึ่งเป็นของแอตทริบิวต์เหล่านั้นหรือไม่
Ahmedov

เช่นในการทำนายราคายางพาราคุณลักษณะหนึ่งคือราคาน้ำมันหนึ่งคือสภาพอากาศ ฯลฯ .....
JSONParser

ที่จริงแล้วภาพไม่ได้พูดอะไรเกี่ยวกับความแตกต่างของพวกเขา ...
ม.ค. Kukacka

ความแตกต่างอาจเป็นการเปรียบเทียบคำที่ผิดได้ดีกว่า
JSONParser

1
  • LR ให้ความน่าจะเป็นสอบเทียบที่สามารถตีความได้ว่าเป็นความมั่นใจในการตัดสินใจ
  • LR ทำให้เรามีเป้าหมายที่ไม่มีข้อ จำกัด และราบรื่น
  • LR สามารถ (ตรงไปตรงมา) ที่ใช้ภายในแบบจำลองเบย์
  • SVM ไม่ได้ลงโทษตัวอย่างที่เป็นการตัดสินใจที่ถูกต้องด้วยความมั่นใจอย่างเพียงพอ นี่อาจเป็นสิ่งที่ดีสำหรับการวางนัยทั่วไป
  • SVM มีรูปแบบดูอัลดีที่ให้โซลูชันกระจัดกระจายเมื่อใช้เคอร์เนลเคล็ดลับ (scalability ที่ดีขึ้น)

ตรวจสอบการสนับสนุน Vector Machines กับ Logistic Regression มหาวิทยาลัยโตรอนโต CSC2515โดย Kevin Swersky

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