โดเมนใดบ้างที่ SVM ยังคงทันสมัย


10

ดูเหมือนว่าเครือข่ายประสาทลึกและแบบจำลองโครงข่ายประสาทเทียมอื่น ๆ มีอิทธิพลเหนือพื้นที่ปัจจุบันหลายอย่างเช่นคอมพิวเตอร์วิสัยทัศน์การจำแนกวัตถุการเรียนรู้การเสริมแรง ฯลฯ

มีโดเมนที่ SVM (หรือรุ่นอื่น ๆ ) ยังคงให้ผลลัพธ์ที่ล้ำสมัยอยู่หรือไม่?

คำตอบ:


12

state-of-the-art เป็นแถบที่ยากลำบากเพราะมันไม่ชัดเจนว่าควรวัดอย่างไร เกณฑ์ทางเลือกซึ่งคล้ายกับความทันสมัยคือการถามเมื่อคุณอาจต้องการลองใช้ SVM

SVM มีข้อดีหลายประการ:

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

SVMs มีข้อเสียบางประการเช่น:

  1. SVMs มีรันไทม์ที่เครื่องชั่งน้ำหนัก cubically ในจำนวนของ datapoints ที่คุณต้องการในการฝึกอบรมใน (เช่นรันไทม์) 1 สิ่งนี้ไม่เปรียบเทียบได้ดีกับการพูดวิธีการฝึกอบรมทั่วไปสำหรับโครงข่ายประสาทลึกซึ่งทำงานในเวลาโดยที่คือจำนวนของจุดข้อมูลคือจำนวนของยุคการฝึกอบรมและคือจำนวนน้ำหนักในเครือข่าย โดยทั่วไปnO(n3)O(wne)neww,e<<n
  2. ในการใช้ประโยชน์จากเคอร์เนลกลอุบาย SVM จะแคชค่าสำหรับ "ระยะทาง" ของเคอร์เนลระหว่างจุดสองคู่ใด ๆ หมายความว่าพวกเขาต้องการหน่วยความจำนี่ไกลปัญหามากเกินลูกบาศก์รันไทม์ในโลกแห่งความเป็นจริงส่วนใหญ่ มากกว่าไม่กี่พัน datapoints จะออกจากเซิร์ฟเวอร์ที่ทันสมัยที่สุดหวดซึ่งเพิ่มรันไทม์ที่มีประสิทธิภาพโดยคำสั่งหลายขนาด เมื่อรวมกับจุดที่ 1 หมายความว่า SVM จะมีแนวโน้มช้าลงสำหรับชุดที่เกิน 5,000-10,000 ดาต้าพอยน์ในระดับสูงสุดO(n2)

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


1มีอัลกอริทึมโดยประมาณที่จะแก้ปัญหา SVM ได้เร็วกว่าที่ระบุไว้ในคำตอบอื่น ๆ


7

Deep Learning และ Neural Networks กำลังได้รับความสนใจมากที่สุดเนื่องจากความก้าวหน้าในสาขาและผู้เชี่ยวชาญส่วนใหญ่เชื่อว่ามันจะเป็นอนาคตของการแก้ปัญหาการเรียนรู้ของเครื่อง

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

การถดถอยเชิงเส้นยังคงเป็นวิธีการเรียนรู้ของเครื่องจักรที่ใช้มากที่สุดในโลก

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

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

โมเดลคลาสสิกส่วนใหญ่ต้องการทรัพยากรในการคำนวณน้อยดังนั้นหากเป้าหมายของคุณคือความเร็วมันก็ดีกว่ามาก

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

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

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


0

เห็นด้วยทั้งหมดกับคำตอบของ @ John จะลองและเติมเต็มว่ามีบางจุดมากขึ้น

ข้อดีบางประการของ SVMs:

ก) SVM จะถูกกำหนดโดยปัญหาการเพิ่มประสิทธิภาพนูนซึ่งมีวิธีการที่มีประสิทธิภาพในการแก้ปัญหาเช่น SMO

b) มีผลบังคับใช้ในพื้นที่มิติสูงและในกรณีที่จำนวนมิติมากกว่าจำนวนตัวอย่าง

c) ใช้คะแนนการฝึกย่อยในฟังก์ชั่นการตัดสินใจ (เรียกว่าเวกเตอร์สนับสนุน) ดังนั้นจึงเป็นความจำที่มีประสิทธิภาพ

d) สามารถระบุฟังก์ชั่นเคอร์เนลที่แตกต่างกันสำหรับฟังก์ชั่นการตัดสินใจ . ในรูปแบบที่ง่ายที่สุดเคล็ดลับเคอร์เนลหมายถึงการเปลี่ยนข้อมูลเป็นอีกมิติหนึ่งที่มีระยะห่างระหว่างการแบ่งที่ชัดเจนระหว่างคลาสของข้อมูล

ข้อเสียของการสนับสนุนเครื่องเวกเตอร์รวมถึง:

a) หากจำนวนฟีเจอร์นั้นมากกว่าจำนวนตัวอย่างมากการหลีกเลี่ยงการปรับตัวเกินความเหมาะสมในการเลือกฟังก์ชั่นเคอร์เนลและระยะการทำให้เป็นมาตรฐานนั้นเป็นสิ่งสำคัญ แบบจำลองเคอร์เนลนั้นค่อนข้างอ่อนไหวต่อการปรับเกณฑ์การเลือกแบบจำลองให้เหมาะสม

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


-1

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

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

น่าเสียดายที่ฉันไม่สามารถจำเอกสารเฉพาะเรื่องใดเรื่องหนึ่งได้ดังนั้นจึงเป็นเรื่องธรรมดาที่มีเหตุผลคุณไม่ต้องเชื่อถือ

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