โครงข่ายประสาทเทียมเทียบกับเครื่องเวกเตอร์สนับสนุน: เป็นอันดับสองที่เหนือกว่าอย่างแน่นอนหรือไม่


52

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

SVM แทน NNs

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

มันเป็นความคิดที่ยอมรับกันอย่างกว้างขวางหรือไม่? อย่าอ้างทฤษฎีบทอาหารกลางวันแบบไม่มีข้อความหรือข้อความที่คล้ายกันคำถามของฉันคือการใช้เทคนิคเหล่านั้นในทางปฏิบัติ

ในอีกด้านหนึ่งปัญหาเชิงนามธรรมประเภทใดที่คุณจะต้องเผชิญกับ NN อย่างแน่นอน


4
ฉันคิดว่าคำถามอาจจะค่อนข้างกว้าง แต่ในทางปฏิบัติ NNs ดูเหมือนจะปรับได้มากขึ้นด้วยการเลือกโครงสร้าง NN ในขณะที่ SVM มีพารามิเตอร์น้อยกว่า มีสองคำถามคือถ้า NN ถูกตั้งค่าอย่างเหมาะสมสำหรับการแก้ปัญหาแล้วมันจะเป็นค่า vs SVM ได้อย่างไร? และในมือของผู้ฝึกหัดทั่วไป SVM เปรียบเทียบกับ NN ได้อย่างไร?
Patrick Caldon

2
@PatrickCaldon ฉันเข้าใจมุมมองของคุณ แต่พารามิเตอร์ที่มากขึ้นในการจัดการกับมันไม่ได้หมายความว่าเครื่องมือที่ดีกว่าถ้าคุณไม่ทราบวิธีการกำหนดค่าพวกเขาในวิธีที่เหมาะสม แม้ว่าอาจเป็นไปได้ แต่อาจต้องมีการศึกษาที่ยาวนาน หรือคุณอาจไม่ต้องการความสามารถในการปรับตัวที่กว้างเพื่อจุดประสงค์ในการใช้งานของคุณ
stackovergio

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

1
จากสิ่งที่ฉันรู้มัลติเพลเยอร์ ANN แบบเอนกประสงค์เป็นผู้ประมาณสากลไม่ว่าจะเปิดใช้งานฟังก์ชั่นใดก็ตาม ฉันไม่ได้ตระหนักถึงผลลัพธ์ที่คล้ายกันสำหรับ SVM ซึ่งขึ้นอยู่กับความรู้ของฉันมากขึ้นเกี่ยวกับฟังก์ชั่นเคอร์เนลที่ใช้
Momo

2
ในการใช้งานจริงฉันพบว่า NNs มีประโยชน์มากกว่านี้เล็กน้อยเนื่องจากเวลาการฝึกอบรม SVM ที่ไม่ใช่แบบเชิงเส้นไม่สามารถจัดการกับ N ขนาดใหญ่ได้เป็นอย่างดี อัลกอริธึมทั้งสองสามารถ overfit และทั้งสองต้องการ normalization
Shea Parkes

คำตอบ:


43

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

ต้องบอกว่าสำหรับปัญหาที่มีผู้ควบคุมดูแลยากที่มีชื่อเสียงมากที่สุดรุ่นที่มีประสิทธิภาพดีที่สุดคือ NN บางประเภท SVM บางประเภทหรือวิธีการไล่ระดับสีแบบลาดเอียงแบบสุ่มเฉพาะสำหรับปัญหาที่นำมาใช้โดยใช้วิธีการประมวลผลสัญญาณ


ข้อดีของ NN:

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

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


ข้อดีของ SVM:

  • ลดจำนวนพารามิเตอร์ โดยทั่วไป SVM ต้องการการค้นหากริดน้อยกว่าเพื่อให้ได้แบบจำลองที่มีความแม่นยำพอสมควร SVM ที่มีเคอร์เนล RBF มักจะทำงานได้ค่อนข้างดี

  • รับประกันทั่วโลกที่ดีที่สุด


ข้อเสียของ NN และ SVM:

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

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

    • แบบจำลองความน่าจะเป็นแบบกราฟิกน่าสนใจเพราะสามารถรวมความรู้เฉพาะโดเมนเข้ากับตัวแบบโดยตรงและสามารถตีความได้ในเรื่องนี้

    • Nonparametric (หรือ parametric มากจริงๆ) วิธีการแบบเบย์นั้นน่าสนใจเพราะมันสร้างช่วงความมั่นใจโดยตรง พวกมันทำงานได้ดีกับขนาดตัวอย่างที่เล็กและดีมากกับขนาดของกลุ่มตัวอย่าง ง่ายอย่างโง่เขลาในการเขียนการดำเนินการพีชคณิตเชิงเส้นของ


41
ด้วยการเรียนรู้เชิงลึกที่เพิ่มขึ้นเมื่อเร็ว ๆ นี้ NN สามารถพิจารณาได้ว่า "มากขึ้น" กว่า SVM ฉันจะบอกว่า
bayerj

30

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

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


7
ฉันเห็นด้วยกับสิ่งนี้อย่างเต็มที่ ขณะนี้ฉันกำลังฝึกอบรม SVM และ ANNs ในข้อมูลส่วนต่อประสานคอมพิวเตอร์สมองและมีชุดข้อมูลบางส่วนที่ SVMs ดีกว่าและชุดข้อมูลบางส่วนที่ ANN ดีกว่า สิ่งที่น่าสนใจคือ: เมื่อฉันเฉลี่ยประสิทธิภาพการทำงานของชุดข้อมูลทั้งหมดที่ฉันใช้ SVM และ ANN จะเข้าถึงประสิทธิภาพเดียวกันทุกประการ แน่นอนว่านี่ไม่ใช่ข้อพิสูจน์ มันเป็นเพียงเรื่องเล็ก ๆ น้อย ๆ :)
อัลฟ่า

27

ฉันจะพยายามอธิบายความคิดเห็นที่เพื่อนของฉันส่วนใหญ่ใช้ร่วมกัน ฉันมีความกังวลเกี่ยวกับ NN ที่ไม่เกี่ยวกับ SVM เลย:

  1. ใน NN คลาสสิกปริมาณของพารามิเตอร์นั้นสูงมาก สมมุติว่าคุณมีเวกเตอร์ของความยาว 100 ที่คุณต้องการจัดเป็นสองชั้น เลเยอร์ที่ซ่อนหนึ่งชั้นที่มีขนาดเดียวกันกับเลเยอร์อินพุทจะนำคุณไปสู่พารามิเตอร์ฟรีมากกว่า 100,000 พารามิเตอร์ แค่คิดว่าคุณสามารถทำให้ตัวเองแย่ได้มากแค่ไหน (มันง่ายแค่ไหนที่จะตกลงไปในพื้นที่น้อยที่สุดในพื้นที่) และคุณจะต้องฝึกซ้อมกี่จุดเพื่อป้องกันสิ่งนั้น
  2. โดยปกติคุณจะต้องเป็นผู้เชี่ยวชาญที่แท้จริงในการเลือกโทโพโลยีอย่างรวดเร็ว นั่นหมายความว่าหากคุณต้องการได้ผลลัพธ์ที่ดีคุณควรทำการทดลองมากมาย นั่นเป็นเหตุผลที่ง่ายต่อการใช้ SVM และบอกว่าคุณไม่สามารถรับผลลัพธ์ที่คล้ายกันกับ NN
  3. โดยทั่วไปแล้วผลลัพธ์ของ NN จะไม่สามารถทำซ้ำได้ แม้ว่าคุณจะเรียกใช้การฝึกอบรม NN ของคุณสองครั้งคุณอาจได้รับผลลัพธ์ที่แตกต่างกันเนื่องจากการสุ่มของอัลกอริทึมการเรียนรู้
  4. โดยปกติแล้วคุณจะไม่มีการตีความผลลัพธ์เลย นั่นเป็นความกังวลเล็กน้อย แต่อย่างไรก็ตาม

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

หวังว่ามันจะช่วย


2
หากต้องการให้ผลลัพธ์ ANN สามารถทำซ้ำได้ให้สุ่มเลือกฟังก์ชัน
Franck Dernoncourt

@Franck นั่นไม่ใช่การทำซ้ำได้จริง
สติ

17

ฉันกำลังใช้โครงข่ายประสาทเทียมสำหรับปัญหาส่วนใหญ่ ประเด็นคือในกรณีส่วนใหญ่เกี่ยวกับประสบการณ์ของผู้ใช้มากกว่าเกี่ยวกับโมเดล นี่คือสาเหตุบางอย่างที่ฉันชอบ NNs

  1. พวกเขามีความยืดหยุ่น ฉันสามารถโยนการสูญเสียใด ๆ ที่ฉันต้องการได้ที่: การสูญเสียบานพับ, ยกกำลังสอง, เอนโทรปีข้าม, คุณตั้งชื่อมัน ตราบใดที่มันแตกต่างฉันสามารถออกแบบการสูญเสียที่ตรงกับความต้องการของฉัน
  2. ความน่าจะเป็น: เครือข่ายประสาทแบบ Bayes, Variational Bayes, MLE / MAP, ทุกอย่างอยู่ที่นั่น (แต่ในบางกรณีก็ยากกว่า)
  3. พวกมันเร็ว MLPs ส่วนใหญ่จะเป็นสองเมทริกซ์คูณและหนึ่งองค์ประกอบที่ไม่เชิงเส้นใช้ในระหว่าง เอาชนะด้วย SVM

ฉันจะผ่านจุดอื่น ๆ ของคุณทีละขั้นตอน

มีทฤษฎีการก่อตั้งที่แข็งแกร่ง

ฉันจะบอกว่า NNs มีความเข้มแข็งเท่ากันในกรณีนี้เนื่องจากคุณฝึกพวกเขาในกรอบความน่าจะเป็น ที่ทำให้การใช้งานของนักบวชและการรักษาแบบเบย์ (เช่นด้วยเทคนิคการแปรปรวนหรือการประมาณ) เป็นไปได้

เข้าถึงโลกที่เหมาะสมเนื่องจากการเขียนโปรแกรมสมการกำลังสอง

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

ไม่มีปัญหาในการเลือกพารามิเตอร์ที่เหมาะสม

ด้วย SVM คุณจะต้องเลือกพารามิเตอร์ไฮเปอร์เช่นกัน

ต้องการหน่วยความจำน้อยลงเพื่อจัดเก็บแบบจำลองการทำนาย

คุณต้องจัดเก็บเวกเตอร์สนับสนุน โดยทั่วไป SVM จะไม่ถูกกว่าในการจัดเก็บ MLPs ขึ้นอยู่กับกรณี

ให้ผลลัพธ์ที่อ่านง่ายขึ้นและการตีความทางเรขาคณิต

ชั้นบนสุดของ MLP คือการถดถอยโลจิสติกในกรณีของการจำแนก ดังนั้นจึงมีการตีความทางเรขาคณิต (แยกระนาบไฮเปอร์) และการตีความความน่าจะเป็นเช่นกัน


เหตุใดฉันจึงต้องจัดเก็บการสนับสนุนเวกเตอร์ การเก็บไฮเปอร์เพลน / maring ของ SVM ไม่เพียงพอหรือไม่
Julian

นั่นเป็นเพราะระนาบไฮเปอร์แทนด้วยเวกเตอร์สนับสนุน ในการคำนวณระยะทางของจุดใหม่จากนั้นคุณจะทำซ้ำมากกว่า
bayerj

0

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

Ronan Collobert และ Samy Bengio 2004. ลิงก์ระหว่าง perceptrons, MLPs และ SVMs ในการประชุมวิชาการระดับนานาชาติครั้งที่ยี่สิบเอ็ดเรื่องการเรียนรู้ด้วยเครื่อง (ICML '04) ACM, New York, NY, USA, 23- DOI: https://doi.org/10.1145/1015330.1015415

และ

อันเดรสปีเตอร์ (2002) ความเท่าเทียมกันของเครื่องเวกเตอร์สนับสนุนและเครือข่ายประสาทเทียม จดหมายการประมวลผลประสาท 15. 97-104 10.1023 / A: 1015292818897

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