กลับไปหน้าบทความ

อ่าน 27 นาที

เครื่องสนับสนุนเวกเตอร์

ใน การเรียนรู้ ของเครื่องเครื่องสนับสนุนเวกเตอร์ ( SVMหรือเครือข่ายสนับสนุนเวกเตอร์ ) เป็นแบบจำลองขอบสูงสุด แบบ มีผู้กำกับดูแล พร้อม อัลกอริธึม การเรียนรู้ที่เกี่ยวข้อง

เครื่องสนับสนุนเวกเตอร์

ใน การเรียนรู้ ของเครื่องเครื่องสนับสนุนเวกเตอร์ ( SVMหรือเครือข่ายสนับสนุนเวกเตอร์[ 1 ] ) เป็นแบบจำลองขอบสูงสุด แบบ มีผู้กำกับดูแล พร้อม อัลกอริธึม การเรียนรู้ที่เกี่ยวข้อง ซึ่งวิเคราะห์ข้อมูลสำหรับการจำแนกประเภทและการวิเคราะห์การถดถอยพัฒนาขึ้นที่ห้องปฏิบัติการ AT&T Bell [ 1 ] [ 2 ] SVM เป็นหนึ่งในแบบจำลองที่มีการ ศึกษามากที่สุด โดยอิงตามกรอบการเรียนรู้ทางสถิติของทฤษฎี VCที่เสนอโดยVapnik (1982, 1995) และChervonenkis (1974)

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

อัลกอริทึม การจัดกลุ่มเวกเตอร์สนับสนุน[ 4 ]ที่สร้างโดยHava SiegelmannและVladimir Vapnikใช้สถิติของเวกเตอร์สนับสนุนที่พัฒนาขึ้นในอัลกอริทึมเครื่องเวกเตอร์สนับสนุนเพื่อจัดหมวดหมู่ข้อมูลที่ไม่มีป้ายกำกับ ชุดข้อมูลเหล่านี้ต้องการ วิธี การเรียนรู้แบบไม่กำกับดูแลซึ่งพยายามค้นหาการจัดกลุ่มตามธรรมชาติของข้อมูลเป็นกลุ่ม จากนั้นจึงแมปข้อมูลใหม่ตามกลุ่มเหล่านี้

ความนิยมของ SVM น่าจะเกิดจากความเหมาะสมในการวิเคราะห์เชิงทฤษฎี และความยืดหยุ่นในการนำไปใช้กับงานที่หลากหลาย รวมถึง ปัญหา การทำนายที่มีโครงสร้างยังไม่ชัดเจนว่า SVM มีประสิทธิภาพในการทำนายที่ดีกว่าแบบจำลองเชิงเส้นอื่นๆ เช่นการถดถอยโลจิสติกและการถดถอยเชิงเส้นหรือ ไม่ [ 5 ]

แรงจูงใจ

สมมติฐาน H1 ไม่สามารถแยกกลุ่มได้ สมมติฐาน H2 สามารถแยกได้ แต่เพียงเล็กน้อย สมมติฐาน H3 สามารถแยกกลุ่มได้มากที่สุด

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

กล่าวอย่างเป็นทางการมากขึ้น เครื่องสนับสนุนเวกเตอร์สร้างระนาบหรือชุดของระนาบในพื้นที่มิติสูงหรืออนันต์ ซึ่งสามารถใช้สำหรับการจำแนกประเภทการถดถอยหรือภารกิจอื่นๆ เช่น การตรวจจับค่าผิดปกติ[ 7 ]โดยสัญชาตญาณ การแยกที่ดีจะเกิดขึ้นได้จากระนาบที่มีระยะห่างมากที่สุดจากจุดข้อมูลการฝึกอบรมที่ใกล้ที่สุดของคลาสใดๆ (เรียกว่าระยะขอบเชิงฟังก์ชัน) เนื่องจากโดยทั่วไปแล้ว ยิ่งระยะขอบมากเท่าไรข้อผิดพลาดในการวางนัย ทั่วไป ของตัวจำแนกประเภท ก็จะยิ่งต่ำลงเท่านั้น [ 8 ]ข้อผิดพลาดในการวางนัยทั่วไปที่ต่ำกว่าหมายความว่าผู้ใช้งานมีโอกาสน้อยที่จะประสบปัญหา การ โอเวอร์ ฟิตติ้ง

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

แอปพลิเคชัน

SVM สามารถนำไปใช้แก้ปัญหาต่างๆ ในโลกแห่งความเป็นจริงได้:

  • SVM มีประโยชน์ในการจัดหมวดหมู่ข้อความและไฮเปอร์เท็กซ์เนื่องจากการประยุกต์ใช้สามารถลดความจำเป็นในการใช้ตัวอย่างการฝึกอบรมที่มีป้ายกำกับได้อย่างมาก ทั้งในรูปแบบ การเหนี่ยวนำและ การแปลง มาตรฐาน [ 11 ]วิธีการบางอย่างสำหรับการแยกวิเคราะห์ความหมายแบบตื้นๆ นั้นใช้เครื่องสนับสนุนเวกเตอร์เป็นพื้นฐาน[ 12 ]
  • การจำแนกภาพสามารถทำได้โดยใช้ SVM เช่นกัน ผลการทดลองแสดงให้เห็นว่า SVM บรรลุความแม่นยำในการค้นหาที่สูงกว่าแผนการปรับปรุงแบบสอบถามแบบดั้งเดิมอย่างมีนัยสำคัญหลังจากป้อนกลับความเกี่ยวข้องเพียงสามถึงสี่รอบเท่านั้น นี่เป็นความจริงสำหรับ ระบบ การแบ่งส่วนภาพรวมถึงระบบที่ใช้ SVM เวอร์ชันที่แก้ไขซึ่งใช้วิธีการพิเศษตามที่ Vapnik แนะนำ[ 13 ] [ 14 ]
  • การจำแนกข้อมูลดาวเทียม เช่น ข้อมูล SARโดยใช้ SVM แบบมีผู้กำกับดูแล[ 15 ]
  • สามารถจดจำ ตัวอักษรที่เขียนด้วยมือได้ โดยใช้ SVM [ 16 ] [ 17 ]
  • อัลกอริทึม SVM ได้ถูกนำไปประยุกต์ใช้อย่างกว้างขวางในสาขาวิทยาศาสตร์ชีวภาพและสาขาอื่นๆ มีการนำไปใช้ในการจำแนกโปรตีน โดยสามารถจำแนกสารประกอบได้อย่างถูกต้องถึง 90% มีการเสนอการทดสอบการเรียงสับเปลี่ยน ตามน้ำหนักของ SVM เป็นกลไกในการตีความแบบจำลอง SVM [ 18 ] [ 19 ]น้ำหนักของเครื่องเวกเตอร์สนับสนุนยังถูกนำมาใช้ในการตีความแบบจำลอง SVM ในอดีตด้วย[ 20 ]การตีความแบบจำลองเครื่องเวกเตอร์สนับสนุนแบบย้อนหลังเพื่อระบุคุณลักษณะที่แบบจำลองใช้ในการทำนาย เป็นสาขาการวิจัยที่ค่อนข้างใหม่และมีความสำคัญเป็นพิเศษในสาขาวิทยาศาสตร์ชีวภาพ

ประวัติศาสตร์

อัลกอริทึม SVM ดั้งเดิมถูกคิดค้นโดยVladimir N. VapnikและAlexey Ya. Chervonenkisในปี 1964 ในปี 1992 Bernhard Boser, Isabelle GuyonและVladimir Vapnikได้เสนอวิธีการสร้างตัวจำแนกแบบไม่เชิงเส้นโดยการใช้เทคนิคเคอร์เนลกับไฮเปอร์เพลนที่มีระยะขอบสูงสุด[ 9 ]รูปแบบ "ระยะขอบอ่อน" ที่ใช้กันทั่วไปในแพ็กเกจซอฟต์แวร์นั้นถูกเสนอโดยCorinna Cortesและ Vapnik ในปี 1993 และเผยแพร่ในปี 1995 [ 1 ]

SVM เชิงเส้น

ระนาบไฮเปอร์ไลน์ที่มีระยะขอบสูงสุดและระยะขอบสำหรับ SVM ที่ฝึกฝนด้วยตัวอย่างจากสองคลาส ตัวอย่างที่อยู่บนระยะขอบเรียกว่าเวกเตอร์สนับสนุน

เราได้รับชุดข้อมูลฝึกฝนของจุดในรูปแบบ ที่ค่าเป็น 1 หรือ −1 ซึ่งแต่ละค่าบ่งบอกถึงคลาสที่จุดนั้นเป็นของ แต่ละค่าเป็น เวกเตอร์ จริงมิติเราต้องการหา "ระนาบไฮเปอร์ที่มีระยะขอบสูงสุด" ที่แบ่งกลุ่มจุดซึ่งออกจากกลุ่มจุดซึ่งซึ่งกำหนดไว้เพื่อให้ระยะห่างระหว่างระนาบไฮเปอร์กับจุดที่ใกล้ที่สุดจากทั้งสองกลุ่มมีค่าสูงสุด

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

คำเตือน: เอกสารส่วนใหญ่ในหัวข้อนี้ให้คำจำกัดความของอคติไว้ในลักษณะที่ว่า

ขอบเขตที่เข้มงวด

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

(สิ่งใดก็ตามที่อยู่บนหรือเหนือขอบเขตนี้จัดอยู่ในประเภทเดียวกัน โดยมีหมายเลขกำกับ 1)

และ

(สิ่งใดก็ตามที่อยู่บนหรือต่ำกว่าขอบเขตนี้จัดอยู่ในประเภทอื่น โดยมีป้ายกำกับ −1)

ในทางเรขาคณิต ระยะห่างระหว่างระนาบไฮเปอร์สองระนาบนี้คือ[ 21 ] ดังนั้นเพื่อเพิ่มระยะห่างระหว่างระนาบให้มากที่สุด เราต้องการลดระยะห่างให้น้อยที่สุดระยะห่างจะคำนวณโดยใช้ สมการ ระยะห่างจากจุดไปยังระนาบนอกจากนี้เรายังต้องป้องกันไม่ให้จุดข้อมูลตกลงไปในขอบ เราจึงเพิ่มข้อจำกัดต่อไปนี้: สำหรับแต่ละจุด ข้อมูล ข้อจำกัดเหล่านี้ระบุว่าจุดข้อมูลแต่ละจุดต้องอยู่ด้านที่ถูกต้องของขอบ

สามารถเขียนใหม่ได้ดังนี้

เราสามารถนำสิ่งเหล่านี้มารวมกันเพื่อให้ได้ปัญหาการหาค่าที่เหมาะสมที่สุด:

และ ที่แก้ปัญหานี้ จะกำหนดตัวจำแนกขั้นสุดท้ายโดยที่คือฟังก์ชันเครื่องหมาย

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

ขอบอ่อน

ฟังก์ชัน การสูญเสียแบบบานพับ (hinge loss function) มีประโยชน์ ในการขยายการใช้งาน SVM ในกรณีที่ข้อมูลไม่สามารถแยกได้ด้วยเส้นตรง

โปรดทราบว่าคือ เป้าหมายลำดับที่ i (เช่น ในกรณีนี้คือ 1 หรือ −1) และคือผลลัพธ์ลำดับที่ i

ฟังก์ชันนี้มีค่าเป็นศูนย์หากเงื่อนไขใน(1)เป็นไปตามที่กำหนด กล่าวคือ หากอยู่ด้านที่ถูกต้องของขอบ สำหรับข้อมูลที่อยู่ด้านที่ไม่ถูกต้องของขอบ ค่าของฟังก์ชันจะเป็นสัดส่วนกับระยะห่างจากขอบ

เป้าหมายของการปรับให้เหมาะสมที่สุดคือการลดสิ่งต่อไปนี้ให้เหลือน้อยที่สุด:

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

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

เคอร์เนลแบบไม่เชิงเส้น

เครื่องเคอร์เนล

อัลกอริทึมไฮเปอร์เพลนระยะขอบสูงสุดดั้งเดิมที่เสนอโดย Vapnik ในปี 1963 สร้างตัวจำแนกเชิงเส้นอย่างไรก็ตาม ในปี 1992 Bernhard Boser , Isabelle GuyonและVladimir Vapnikได้เสนอวิธีการสร้างตัวจำแนกแบบไม่เชิงเส้นโดยการใช้เทคนิคเคอร์เนล (เดิมเสนอโดย Aizerman et al. [ 22 ] ) กับไฮเปอร์เพลนระยะขอบสูงสุด[ 9 ]เทคนิคเคอร์เนล ซึ่งผลคูณดอทถูกแทนที่ด้วยเคอร์เนล สามารถหาได้ง่ายในรูปแบบคู่ของปัญหา SVM ซึ่งช่วยให้อัลกอริทึมสามารถปรับไฮเปอร์เพลนระยะขอบสูงสุดให้เข้ากับพื้นที่คุณลักษณะ ที่แปลงแล้ว การแปลงอาจไม่เชิงเส้นและพื้นที่ที่แปลงแล้วมีมิติสูง แม้ว่าตัวจำแนกจะเป็นไฮเปอร์เพลนในพื้นที่คุณลักษณะที่แปลงแล้ว แต่ก็อาจไม่เชิงเส้นในพื้นที่อินพุตดั้งเดิม

เป็นที่น่าสังเกตว่าการทำงานในพื้นที่คุณลักษณะที่มีมิติสูงขึ้นจะเพิ่มข้อผิดพลาดในการวางนัยทั่วไปของเครื่องเวกเตอร์สนับสนุน แม้ว่าจะมีตัวอย่างเพียงพอแล้วอัลกอริทึมก็ยังคงทำงานได้ดี[ 23 ]

เมล็ดพืชบางชนิดที่พบได้ทั่วไป ได้แก่:

  • พหุนาม (เอกพันธุ์) : โดยเฉพาะอย่างยิ่ง เมื่อสิ่งนี้จะกลายเป็นเคอร์เนลเชิงเส้น
  • พหุนาม (ไม่เอกพันธุ์): .
  • ฟังก์ชันฐานรัศมีเกาส์เซียน: สำหรับบางครั้งใช้การกำหนดพารามิเตอร์โดยใช้
  • ฟังก์ชันซิกมอยด์ ( แทนเจนต์ไฮเปอร์โบลิก ): สำหรับบางค่า (ไม่ใช่ทุกค่า) และ.

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

การคำนวณตัวจำแนก SVM

การคำนวณตัวจำแนก SVM (แบบ soft-margin) เทียบเท่ากับการลดค่าของนิพจน์ในรูปแบบต่อไปนี้

เรามุ่งเน้นไปที่ตัวจำแนกแบบ soft-margin เนื่องจากดังที่กล่าวไว้ข้างต้น การเลือกค่าที่เล็กพอสำหรับจะทำให้ได้ตัวจำแนกแบบ hard-margin สำหรับข้อมูลอินพุตที่สามารถจำแนกได้เชิงเส้น วิธีการแบบคลาสสิกซึ่งเกี่ยวข้องกับการลด(2)ให้เป็น ปัญหา การเขียนโปรแกรมเชิงกำลังสองจะมีรายละเอียดดังต่อไปนี้ จากนั้นจะกล่าวถึงวิธีการที่ทันสมัยกว่า เช่น sub-gradient descent และ coordinate descent

ดั้งเดิม

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

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

ดังนั้นเราสามารถเขียนปัญหาการหาค่าเหมาะสมที่สุดใหม่ได้ดังนี้

นี่เรียกว่า ปัญหา เบื้องต้น (primal problem)

สองชั้น

โดยการหาลากรางจ์คู่ของปัญหาข้างต้น จะได้ปัญหาที่ง่ายขึ้น

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

ในที่นี้ ตัวแปรต่างๆถูกกำหนดไว้ดังนี้

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

ค่าชดเชยสามารถกู้คืนได้โดยการหาค่าบนขอบเขตของขอบและแก้สมการ

(โปรดทราบว่าตั้งแต่.)

เทคนิคเคอร์เนล

ตัวอย่างการฝึก SVM โดยใช้เคอร์เนลที่กำหนดโดย φ(( a , b )) = ( a , b , a 2 + b 2 )

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

เราทราบว่าเวกเตอร์การจำแนกประเภทในพื้นที่ที่แปลงแล้วเป็นไปตามเงื่อนไข

โดยที่ได้มาจากการแก้ปัญหาการหาค่าเหมาะสมที่สุด

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

ในที่สุด,

วิธีการสมัยใหม่

อัลกอริทึมล่าสุดสำหรับการค้นหาตัวจำแนก SVM ได้แก่ การลดระดับความชันย่อย (sub-gradient descent) และการลดระดับพิกัด (coordinate descent) เทคนิคทั้งสองนี้พิสูจน์แล้วว่ามีข้อได้เปรียบอย่างมากเมื่อเทียบกับวิธีการแบบดั้งเดิมเมื่อต้องจัดการกับชุดข้อมูลขนาดใหญ่และกระจัดกระจาย โดยวิธีการลดระดับความชันย่อยมีประสิทธิภาพเป็นพิเศษเมื่อมีตัวอย่างการฝึกอบรมจำนวนมาก และการลดระดับพิกัดมีประสิทธิภาพเมื่อมิติของพื้นที่คุณลักษณะสูง

การไล่ระดับย่อย

อัลกอริทึม การลดระดับความชันย่อยสำหรับ SVM ทำงานโดยตรงกับนิพจน์

โปรดทราบว่าเป็นฟังก์ชันนูนของและดังนั้น วิธี การลดระดับความชัน แบบดั้งเดิม (หรือSGD ) สามารถปรับเปลี่ยนได้ โดยแทนที่จะก้าวไปในทิศทางของความชันของฟังก์ชัน จะก้าวไปในทิศทางของเวกเตอร์ที่เลือกจากความชันย่อย ของฟังก์ชัน วิธีการนี้มีข้อดีคือ สำหรับการใช้งานบางอย่าง จำนวนการวนซ้ำจะไม่แปรผันตามจำนวนจุดข้อมูล[ 24 ]

การลดพิกัด

อัลกอริทึมการลดพิกัดสำหรับ SVM ทำงานจากปัญหาคู่ขนาน

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

การลดความเสี่ยงเชิงประจักษ์

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

การลดความเสี่ยง

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

ในกรณีส่วนใหญ่ เราไม่ทราบการแจกแจงร่วมของผลลัพธ์โดยตรง ในกรณีเหล่านี้ กลยุทธ์ทั่วไปคือการเลือกสมมติฐานที่ลดความเสี่ยงเชิงประจักษ์ให้น้อยที่สุด:

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

การทำให้เป็นระเบียบและเสถียรภาพ

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

วิธีการนี้เรียกว่าการปรับเสถียรภาพแบบทิโคนอฟ (Tikhonov regularization )

โดยทั่วไปแล้ว ค่านี้สามารถวัดระดับความซับซ้อนของสมมติฐานได้ดังนั้นสมมติฐานที่เรียบง่ายกว่าจึงมักเป็นที่นิยมมากกว่า

SVM และการสูญเสียบานพับ

โปรดจำไว้ว่าตัวจำแนก SVM (แบบ soft-margin) ถูกเลือกเพื่อลดค่าของนิพจน์ต่อไปนี้ให้เหลือน้อยที่สุด:

จากที่กล่าวมาข้างต้น เราจะเห็นว่าเทคนิค SVM เทียบเท่ากับการลดความเสี่ยงเชิงประจักษ์ด้วยการปรับค่าแบบ Tikhonov โดยในกรณีนี้ฟังก์ชันความสูญเสียคือฟังก์ชัน ความสูญ เสียแบบบานพับ (hinge loss)

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

ฟังก์ชันเป้าหมาย

ความแตกต่างระหว่างฟังก์ชันความสูญเสียแบบบานพับ (hinge loss) กับฟังก์ชันความสูญเสียอื่นๆ นั้น สามารถอธิบายได้ดีที่สุดในแง่ของฟังก์ชันเป้าหมาย ซึ่งก็คือฟังก์ชันที่ลดความเสี่ยงที่คาดหวังให้น้อยที่สุดสำหรับตัวแปรสุ่มสองตัวที่กำหนด

โดยเฉพาะอย่างยิ่ง ให้แทนเงื่อนไขของเหตุการณ์ที่ในบริบทของการจำแนกประเภท เรามี:

ดังนั้น ตัวจำแนกประเภทที่เหมาะสมที่สุดคือ:

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

ในทางกลับกัน สามารถตรวจสอบได้ว่าฟังก์ชันเป้าหมายสำหรับการสูญเสียบานพับคือดังนั้น ในพื้นที่สมมติฐานที่เพียงพอ หรือเทียบเท่ากับเคอร์เนลที่เลือกอย่างเหมาะสม ตัวจำแนก SVM จะลู่เข้าสู่ฟังก์ชันที่ง่ายที่สุด (ในแง่ของ) ที่จำแนกข้อมูลได้อย่างถูกต้อง สิ่งนี้ขยายการตีความทางเรขาคณิตของ SVM—สำหรับการจำแนกเชิงเส้น ความเสี่ยงเชิงประจักษ์จะลดลงเหลือน้อยที่สุดโดยฟังก์ชันใดๆ ที่มีระยะขอบอยู่ระหว่างเวกเตอร์สนับสนุน และฟังก์ชันที่ง่ายที่สุดในบรรดาฟังก์ชันเหล่านี้คือตัวจำแนกระยะขอบสูงสุด[ 26 ]

คุณสมบัติ

SVM จัดอยู่ในกลุ่มของตัวจำแนกเชิงเส้น ทั่วไป และสามารถตีความได้ว่าเป็นส่วนขยายของเพอร์เซปตรอน [ 27 ] นอกจากนี้ยังสามารถพิจารณาได้ว่าเป็นกรณีพิเศษของการ ปรับค่า Tikhonovคุณสมบัติพิเศษคือพวกมันจะลดข้อผิดพลาดในการจำแนก เชิงประจักษ์ และเพิ่มระยะขอบทางเรขาคณิต ไปพร้อมกัน ดังนั้นจึงเรียกอีกอย่างว่าตัวจำแนกระยะขอบสูงสุด

Meyer, Leisch และ Hornik ได้ทำการเปรียบเทียบ SVM กับตัวจำแนกประเภทอื่นๆ[ 28 ]

การเลือกพารามิเตอร์

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

ปัญหา

ข้อเสียที่อาจเกิดขึ้นของ SVM ได้แก่ประเด็นต่อไปนี้:

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

ส่วนขยาย

SVM หลายคลาส

Multiclass SVM มีเป้าหมายในการกำหนดป้ายกำกับให้กับแต่ละอินสแตนซ์โดยใช้เครื่องสนับสนุนเวกเตอร์ (Support Vector Machines) โดยที่ป้ายกำกับจะถูกสุ่มมาจากชุดองค์ประกอบจำนวนจำกัด

แนวทางหลักในการทำเช่นนั้นคือการลดปัญหาหลายคลาส เดียวให้เป็น ปัญหาการจำแนกไบนารีหลาย ปัญหา [ 30 ]วิธีการทั่วไปสำหรับการลดดังกล่าว ได้แก่: [ 30 ] [ 31 ]

  • การสร้างตัวจำแนกแบบไบนารีที่แยกแยะระหว่างป้ายกำกับหนึ่งกับป้ายกำกับที่เหลือ ( หนึ่งต่อทั้งหมด ) หรือระหว่างคลาสทุกคู่ ( หนึ่งต่อหนึ่ง ) การจำแนกอินสแตนซ์ใหม่สำหรับกรณีหนึ่งต่อทั้งหมดทำได้โดยกลยุทธ์ผู้ชนะได้ทั้งหมด โดยที่ตัวจำแนกที่มีฟังก์ชันเอาต์พุตสูงสุดจะกำหนดคลาส (สิ่งสำคัญคือต้องปรับเทียบฟังก์ชันเอาต์พุตเพื่อให้ได้คะแนนที่เปรียบเทียบกันได้) สำหรับวิธีการหนึ่งต่อหนึ่ง การจำแนกทำได้โดยกลยุทธ์การลงคะแนนแบบชนะสูงสุด โดยที่ตัวจำแนกแต่ละตัวจะกำหนดอินสแตนซ์ให้กับหนึ่งในสองคลาส จากนั้นคะแนนโหวตสำหรับคลาสที่กำหนดจะเพิ่มขึ้นหนึ่งคะแนน และสุดท้ายคลาสที่มีคะแนนโหวตมากที่สุดจะกำหนดการจำแนกอินสแตนซ์
  • SVM กราฟแบบไม่มีวงจรทิศทาง (DAGSVM) [ 32 ]
  • รหัสเอาต์พุตแก้ไขข้อผิดพลาด[ 33 ]

Crammer และ Singer เสนอวิธีการ SVM แบบหลายคลาสซึ่งแปลง ปัญหา การจำแนกประเภทหลายคลาสให้เป็นปัญหาการเพิ่มประสิทธิภาพเพียงปัญหาเดียว แทนที่จะแยกย่อยออกเป็นปัญหาการจำแนกประเภทไบนารีหลายปัญหา[ 34 ]ดูเพิ่มเติมที่ Lee, Lin และ Wahba [ 35 ] [ 36 ]และ Van den Burg และ Groenen [ 37 ]

เครื่องสนับสนุนเวกเตอร์แบบทรานสดักทีฟ

เครื่องเรียนรู้เวกเตอร์สนับสนุนแบบทรานสดักทีฟ (Transductive Support Vector Machines: SVMs) เป็นการขยายขีดความสามารถของ SVM ตรงที่สามารถประมวลผลข้อมูลที่มีป้ายกำกับบางส่วนได้ในการเรียนรู้แบบกึ่งกำกับดูแล (semi-supervised learning ) โดยใช้หลักการของทรานสดักทีฟในที่นี้ นอกเหนือจากชุดข้อมูลฝึกฝนแล้ว ผู้เรียนยังได้รับชุดข้อมูลอีกชุดหนึ่งด้วย

ของตัวอย่างทดสอบที่จะจัดประเภท ในทางรูปแบบ เครื่องเวกเตอร์สนับสนุนแบบทรานสดักทีฟถูกกำหนดโดยปัญหาการเพิ่มประสิทธิภาพหลักดังต่อไปนี้: [ 38 ]

ลดขนาด (ใน)

ขึ้นอยู่กับ (สำหรับกรณีใดๆก็ตาม)

และ

เครื่องมือสนับสนุนเวกเตอร์แบบทรานสดักทีฟ (Transductive support vector machines) ถูกนำเสนอโดย Vladimir N. Vapnik ในปี 1998

SVM ที่มีโครงสร้าง

เครื่องสนับสนุนเวกเตอร์แบบมีโครงสร้างเป็นส่วนขยายของโมเดล SVM แบบดั้งเดิม ในขณะที่โมเดล SVM ได้รับการออกแบบมาเพื่อการจำแนกแบบไบนารี การจำแนกแบบหลายคลาส และงานการถดถอยเป็นหลัก SVM แบบมีโครงสร้างจะขยายการใช้งานเพื่อจัดการกับป้ายกำกับเอาต์พุตที่มีโครงสร้างทั่วไป เช่น แผนผังการวิเคราะห์ การจำแนกประเภทด้วยอนุกรมวิธาน การจัดเรียงลำดับ และอื่นๆ อีกมากมาย[ 39 ]

การถดถอย

การถดถอยเวกเตอร์สนับสนุน (การทำนาย) ด้วยค่าเกณฑ์ε ที่แตกต่างกัน ยิ่ง ค่า εเพิ่มขึ้น การทำนายก็จะยิ่งไวต่อข้อผิดพลาดน้อยลง

ในปี 1996 Vladimir N. Vapnik , Harris Drucker, Christopher JC Burges, Linda Kaufman และ Alexander J. Smola ได้เสนอเวอร์ชันของ SVM สำหรับการถดถอย[ 40 ]วิธีนี้เรียกว่าการถดถอยเวกเตอร์สนับสนุน (SVR) โมเดลที่สร้างขึ้นโดยการจำแนกเวกเตอร์สนับสนุน (ดังที่อธิบายไว้ข้างต้น) ขึ้นอยู่กับชุดย่อยของข้อมูลการฝึกอบรมเท่านั้น เนื่องจากฟังก์ชันต้นทุนสำหรับการสร้างโมเดลไม่สนใจจุดฝึกอบรมที่อยู่นอกขอบเขต ในทำนองเดียวกัน โมเดลที่สร้างขึ้นโดย SVR ขึ้นอยู่กับชุดย่อยของข้อมูลการฝึกอบรมเท่านั้น เนื่องจากฟังก์ชันต้นทุนสำหรับการสร้างโมเดลไม่สนใจข้อมูลการฝึกอบรมใดๆ ที่อยู่ใกล้กับการทำนายของโมเดล อีกเวอร์ชันหนึ่งของ SVM ที่รู้จักกันในชื่อเครื่องเวกเตอร์สนับสนุนกำลังสองน้อยที่สุด (LS-SVM) ได้รับการเสนอโดย Suykens และ Vandewalle [ 41 ]

การฝึก SVR ดั้งเดิมหมายถึงการแก้ปัญหา[ 42 ]

ลดให้น้อยที่สุด
ขึ้นอยู่กับ

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

SVM แบบเบย์เซียน

ในปี 2011 Polson และ Scott ได้แสดงให้เห็นว่า SVM ยอมรับ การตีความแบบ เบย์เซียนผ่านเทคนิค การ เพิ่มข้อมูล[ 43 ]ในแนวทางนี้ SVM ถูกมองว่าเป็นแบบจำลองกราฟิก (โดยที่พารามิเตอร์เชื่อมต่อกันผ่านการกระจายความน่าจะเป็น) มุมมองที่ขยายออกไปนี้ช่วยให้สามารถประยุกต์ใช้ เทคนิคแบบ เบย์เซียนกับ SVM ได้ เช่น การสร้างแบบจำลองคุณลักษณะที่ยืดหยุ่น การปรับจู นไฮเปอร์พารามิเตอร์ อัตโนมัติ และการหาปริมาณความไม่แน่นอนในการทำนาย ในปี 2017 Florian Wenzelได้พัฒนา SVM แบบเบย์เซียนเวอร์ชันที่ปรับขนาดได้ทำให้สามารถประยุกต์ใช้ SVM แบบเบย์เซียนกับข้อมูลขนาดใหญ่ได้[ 44 ] Florian Wenzel ได้พัฒนาสองเวอร์ชันที่แตกต่างกัน คือ แผนการอนุมานแบบแปรผัน (VI) สำหรับเครื่องเวกเตอร์สนับสนุนเคอร์เนลแบบเบย์เซียน (SVM) และเวอร์ชันสุ่ม (SVI) สำหรับ SVM แบบเบย์เซียนเชิงเส้น[ 45 ]

การดำเนินการ

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

แนวทางอื่นคือการใช้วิธีการจุดภายในที่ใช้ การวนซ้ำแบบ นิวตันเพื่อหาคำตอบของเงื่อนไข Karush–Kuhn–Tuckerของปัญหาหลักและปัญหาคู่[ 46 ] แทนที่จะแก้ปัญหาที่แยกย่อยเป็นลำดับ แนวทางนี้จะแก้ปัญหาทั้งหมดโดยตรง เพื่อหลีกเลี่ยงการแก้ระบบเชิงเส้นที่เกี่ยวข้องกับเมทริกซ์เคอร์เนลขนาดใหญ่ มักใช้การประมาณค่าอันดับต่ำของเมทริกซ์ในเทคนิคเคอร์เนล

อีกวิธีหนึ่งที่ใช้กันทั่วไปคืออัลกอริทึม การปรับให้เหมาะสมขั้นต่ำแบบลำดับของ Platt (SMO) ซึ่งแบ่งปัญหาออกเป็นปัญหาย่อย 2 มิติที่แก้ไขได้ด้วยวิธีวิเคราะห์ โดยไม่ต้องใช้อัลกอริทึมการปรับให้เหมาะสมเชิงตัวเลขและการจัดเก็บเมทริกซ์ อัลกอริทึมนี้เรียบง่ายในเชิงแนวคิด ง่ายต่อการใช้งาน โดยทั่วไปเร็วกว่า และมีคุณสมบัติการปรับขนาดที่ดีกว่าสำหรับปัญหา SVM ที่ซับซ้อน[ 47 ]

กรณีพิเศษของเครื่องเวกเตอร์สนับสนุนเชิงเส้นสามารถแก้ไขได้อย่างมีประสิทธิภาพมากขึ้นโดยใช้อัลกอริทึมประเภทเดียวกันกับที่ใช้ในการปรับให้เหมาะสมกับญาติสนิทอย่างการถดถอยโลจิสติกส์ อัลกอริทึมประเภทนี้รวมถึงการลดระดับความชันย่อย (เช่น PEGASOS [ 48 ] ) และการลดระดับพิกัด (เช่น LIBLINEAR [ 49 ] ) LIBLINEAR มีคุณสมบัติที่น่าสนใจบางอย่างเกี่ยวกับเวลาในการฝึกอบรม การวนซ้ำการบรรจบกันแต่ละครั้งใช้เวลาเชิงเส้นตามเวลาที่ใช้ในการอ่านข้อมูลการฝึกอบรม และการวนซ้ำยังมี คุณสมบัติ การบรรจบกันแบบ Q-linearทำให้การทำงานของอัลกอริทึมเร็วมาก

นอกจากนี้ ยังสามารถแก้ปัญหา SVM เคอร์เนลทั่วไปได้อย่างมีประสิทธิภาพมากขึ้นโดยใช้การลดระดับความชันย่อย (เช่น P-packSVM [ 50 ] ) โดยเฉพาะอย่างยิ่งเมื่ออนุญาตให้ มีการประมวลผลแบบขนาน

Kernel SVM มีให้ใช้งานในชุดเครื่องมือการเรียนรู้ของเครื่องหลายชุด รวมถึงLIBSVM , MATLAB , SAS , SVMlight, kernlab , scikit-learn , Shogun , Weka , Shark , JKernelMachines , OpenCVและอื่นๆ

การประมวลผลข้อมูลล่วงหน้า (การทำให้เป็นมาตรฐาน) เป็นสิ่งที่แนะนำอย่างยิ่งเพื่อเพิ่มความแม่นยำในการจำแนกประเภท[ 51 ]มีวิธีการทำให้เป็นมาตรฐานอยู่หลายวิธี เช่น min-max การทำให้เป็นมาตรฐานโดยการปรับขนาดทศนิยม และ Z-score [ 52 ]โดยทั่วไปแล้วจะใช้การลบค่าเฉลี่ยและการหารด้วยความแปรปรวนของแต่ละคุณลักษณะสำหรับ SVM [ 53 ]

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • Bennett, Kristin P.; Campbell, Colin (2000). "Support Vector Machines: Hype or Hallelujah?" (PDF) . SIGKDD Explorations . 2 (2): 1– 13. doi : 10.1145/380995.380999 . S2CID  207753020 .
  • Cristianini, Nello; Shawe-Taylor, John (2000). บทนำเกี่ยวกับเครื่องสนับสนุนเวกเตอร์และวิธีการเรียนรู้แบบเคอร์เนลอื่นๆสำนักพิมพ์มหาวิทยาลัยเคมบริดจ์ISBN 0-521-78019-5.
  • Fradkin, Dmitriy; Muchnik, Ilya (2006). "Support Vector Machines for Classification" (PDF) . ใน Abello, J.; Carmode, G. (บรรณาธิการ). Discrete Methods in Epidemiology . DIMACS Series in Discrete Mathematics and Theoretical Computer Science. Vol. 70. หน้า  13–20 .
  • Joachims, Thorsten (1998). "การจัดหมวดหมู่ข้อความด้วย Support Vector Machines: การเรียนรู้ด้วยคุณลักษณะที่เกี่ยวข้องจำนวนมาก" ใน Nédellec, Claire; Rouveirol, Céline (บรรณาธิการ). การเรียนรู้ของเครื่อง: ECML-98 . Lecture Notes in Computer Science. เล่มที่ 1398. เบอร์ลิน, ไฮเดลเบิร์ก: Springer. หน้า  137–142 . doi : 10.1007/BFb0026683 . ISBN 978-3-540-64417-0. S2CID  2427083 .
  • Ivanciuc, Ovidiu (2007). "การประยุกต์ใช้เครื่องสนับสนุนเวกเตอร์ในวิชาเคมี" (PDF) . บทวิจารณ์ในเคมีเชิงคำนวณ . เล่มที่ 23. หน้า  291–400 . doi : 10.1002/9780470116449.ch6 . ISBN 9780470116449.
  • James, Gareth; Witten, Daniela; Hastie, Trevor; Tibshirani, Robert (2013). "Support Vector Machines" (PDF) . An Introduction to Statistical Learning : with Applications in R.นิวยอร์ก: Springer. หน้า  337–372 . ISBN 978-1-4614-7137-0.
  • ชอลคอปฟ์, แบร์นฮาร์ด; สโมลา, อเล็กซานเดอร์ เจ. (2002) การเรียนรู้ด้วยเคอร์เนล เคมบริดจ์ รัฐแมสซาชูเซตส์: สำนักพิมพ์ MIT ไอเอสบีเอ็น 0-262-19475-9.
  • สไตน์วาร์ต, อินโก; คริสมันน์, อันเดรียส (2008) รองรับเครื่องเวกเตอร์ นิวยอร์ก: สปริงเกอร์. ไอเอสบีเอ็น 978-0-387-77241-7.
  • Theodoridis, Sergios; Koutroumbas, Konstantinos (2009). การรู้จำรูปแบบ (ฉบับที่ 4). สำนักพิมพ์ Academic Press. ISBN 978-1-59749-272-0.
  • libsvmหรือLIBSVMเป็นไลบรารีที่ได้รับความนิยมสำหรับการเรียนรู้ SVM
  • liblinearเป็นไลบรารีสำหรับการจำแนกประเภทเชิงเส้นขนาดใหญ่ รวมถึง SVM บางประเภทด้วย
  • SVM Lightคือชุดเครื่องมือซอฟต์แวร์สำหรับการเรียนรู้และการจำแนกประเภทโดยใช้ SVM
  • วิดีโอสาธิตการใช้งาน SVMJS ( เก็บถาวรเมื่อวันที่ 5 พฤษภาคม 2013 ในWayback Machine)เป็นวิดีโอสาธิตแบบ GUI สำหรับการใช้งาน SVM ด้วยJavaScript
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Support_vector_machine&oldid=1350010737 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เครื่องสนับสนุนเวกเตอร์

ใน การเรียนรู้ ของเครื่องเครื่องสนับสนุนเวกเตอร์ ( SVMหรือเครือข่ายสนับสนุนเวกเตอร์ ) เป็นแบบจำลองขอบสูงสุด แบบ มีผู้กำกับดูแล พร้อม อัลกอริธึม การเรียนรู้ที่เกี่ยวข้อง

แรงจูงใจ

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

แอปพลิเคชัน

SVM สามารถนำไปใช้แก้ปัญหาต่างๆ ในโลกแห่งความเป็นจริงได้:

ประวัติศาสตร์

อัลกอริทึม SVM ดั้งเดิมถูกคิดค้นโดย Vladimir N. Vapnik และ Alexey Ya.