การแนะนำ

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

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

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

ตามที่ระบุในรูปที่ 1 มีหลายบรรทัดที่สามารถทำงานได้ อย่างไรก็ตาม เกณฑ์ของเราสำหรับบรรทัดที่ดีที่สุดจะเป็นดังนี้:

ระยะห่างจากเส้นL1 ถึง L2 เท่ากับระยะทางจาก L2 ถึง L3 เวกเตอร์ W ตั้งฉากกับเส้นทั้งหมด ซึ่งก็คือ L1, L2 และ L3 วัตถุประสงค์คือเพื่อเพิ่มระยะขอบระหว่างบรรทัด L1 และ L3 ให้สูงสุด นอกจากนี้ ควรสังเกตว่าบรรทัด L1 และ L3 ต้องมีอย่างน้อยหนึ่งจุดจากคลาสที่เหมาะสม หลังจากได้รับสมการสำหรับเส้น L2 แล้ว ก็สามารถจำแนกจุดข้อมูลใหม่ได้อย่างง่ายดาย

ตามที่เห็นได้ชัดเจนจากรูปภาพ มีการพึ่งพาการทำงานระหว่างเวกเตอร์ W และระยะขอบ เราจะสร้างการพึ่งพานี้อย่างเป็นระบบแล้วพยายามแก้ไขปัญหา

จากรูปที่ 2 สามารถสรุปได้หลายประการ ประการแรก ผลคูณดอทของเวกเตอร์ W โดยมีเวกเตอร์ X ใดๆ อยู่บนเส้นตรง L2 ไม่ขึ้นอยู่กับ ตำแหน่งของจุดบนเส้นและสามารถเขียนแทนด้วยค่าคงที่ C

สมมติว่าค่าคงที่ B =-C เราสามารถเขียนสูตรข้างต้นใหม่ได้เป็น:

จริงๆ แล้วนี่คือสมการของ L2

เราสามารถมองสมการ 1.1 เป็นเส้นโค้งระดับของ

เมื่อฟังก์ชันถูกตั้งค่าให้เท่ากับศูนย์

เห็นได้ชัดว่าเวกเตอร์ W คือการไล่ระดับสีของ F (X) ซึ่งบอกเป็นนัยว่าฟังก์ชันนั้นเพิ่มขึ้นในทิศทางของ W ตอนนี้เราสามารถสรุปได้ว่าสำหรับจุดที่อยู่เหนือ L2 ค่าของฟังก์ชันจะเป็นค่าบวก และสำหรับจุดที่ต่ำกว่าจะเป็นลบ เราต้องการให้ F (X) เป็นฟังก์ชันที่เส้นโค้งระดับที่ F (X) = 1และF (X) =-1 สร้างเส้น L1 และ L3 ตามลำดับ

คล้ายกับ L2 สำหรับเส้น L1และ L3 ผลคูณดอทของ W ที่มีเวกเตอร์ใดๆ X นอนอยู่บนบรรทัดนั้นสามารถแสดงเป็น:

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

และสำหรับผู้ที่อยู่บรรทัดล่าง L3:

ตามที่ระบุไว้ในรูปที่ 1 เรารู้ว่าคะแนนที่เราให้มานั้นอยู่ในคลาสใด (ระบุด้วยสีดำและสีส้ม) ให้เรากำหนดตัวแปรสเกลาร์ yi สำหรับจุด 2D xi สำหรับจุดที่เป็นไปตามความไม่เท่าเทียมกัน 1.1 ให้ตัวแปร yi เป็น +1 เพื่อระบุคลาสหนึ่ง และสำหรับจุดที่ตรงตามความไม่เท่าเทียมกัน 1.2 yi คือ -1 เพื่อระบุคลาสอื่น .

ในทั้งสองกรณี ความไม่เท่าเทียมกันดังต่อไปนี้:

จากนี้ไปความไม่เท่าเทียมกัน 1.3 ที่ยึดถือทุกประเด็นจะเป็นข้อจำกัดของเรา

ตอนนี้ให้เราพิจารณารูปภาพต่อไปนี้เพื่อหาสูตรสำหรับมาร์จิ้นของเรา:

อัตรากำไรขั้นต้นสามารถคำนวณเป็นผลคูณดอทของ X1-X3 โดยมีเวกเตอร์หน่วยไปในทิศทางของ W

จากสมการสำหรับL1 และ L3:

ดังนั้นมาร์จิ้นก็จะเป็น

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

เพื่อความสะดวกทางคณิตศาสตร์ เราจะย่อให้เล็กสุด

ขึ้นอยู่กับความไม่เท่าเทียมกัน 1.3 ซึ่งสามารถเขียนใหม่ได้เป็น:

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

ความเป็นคู่แบบลากรองจ์

เพื่อให้เข้าใจแนวคิดเรื่องความเป็นคู่ ก่อนอื่นให้เราสรุปปัญหาโดยกล่าวซ้ำดังนี้:

ย่อเล็กสุด

ขึ้นอยู่กับข้อจำกัดความไม่เท่าเทียมกันดังต่อไปนี้:

โดยที่ x เป็นจุดในปริภูมิหลายมิติ

นี่คือปัญหาหลักของเรา ผมขอแสดงปัญหานี้ด้วย P1 จากนี้ไป ฉันจะเรียกมันว่า P1 ในที่สุด เราจะมาแนะนำฟังก์ชันคู่ลากรองจ์ ซึ่งแปลง P1 ดังนี้:

ปัญหาคู่เขียนไว้ดังนี้:

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

ข้อพิสูจน์ความเป็นคู่ที่อ่อนแอ

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

ใน P1 ถ้า x ละเมิดข้อจำกัดอย่างน้อยหนึ่งข้อ

มิฉะนั้น (หากไม่มีการละเมิดข้อจำกัด):

เราสามารถสรุปได้ดังนี้ โดยสมมติว่า P* เป็นคำตอบของ P1 และ x* คือจุดที่ F(x*) = P*

ดังนั้นเราจึงสามารถเขียนความเป็นคู่ที่อ่อนแอใหม่ได้เป็น:

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

เพื่อพิสูจน์ความไม่เท่าเทียมกันสำหรับความเป็นคู่ที่อ่อนแอ ให้เราแสดงให้เห็นก่อนว่าความไม่เท่าเทียมกันยังคงอยู่

ในรูปแบบขยาย:

เพียงแทนที่ x* ไปทางซ้าย เราก็สามารถพิสูจน์ได้ว่า:

อสมการนี้ถือเป็น x* เนื่องจากเงื่อนไขต่อไปนี้:

เนื่องจากความไม่เท่าเทียมกันมีอยู่ที่ x*ค่าที่น้อยที่สุดจะน้อยกว่า P* อย่างแน่นอน

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

ความเป็นคู่ที่แข็งแกร่ง

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

เราสามารถเขียนความเป็นคู่ที่แข็งแกร่งใหม่ได้ดังต่อไปนี้โดยแสดงค่า infimum ของ L สำหรับ xด้วยฟังก์ชันของ lambda:

ตอนนี้ให้เราแสดงคำตอบทางด้านซ้ายด้วย D*, ซึ่งฟังก์ชัน q ประเมินที่ดาวแลมบ์ดา

เราก็รู้เช่นกัน

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

เพียงลดความซับซ้อนของอสมการข้างต้น เราก็จะได้:

และเป็นไปได้ก็ต่อเมื่อ:

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

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

ปัญหา SVM

ตอนนี้ให้เรากลับมาที่ปัญหาเดิมของเราและพยายามแก้ไขโดยแนะนำปัญหาคู่

ย่อเล็กสุด

ขึ้นอยู่กับข้อจำกัดดังต่อไปนี้

ส่วนขยายลากรองจ์จะเป็น

และปัญหาคู่:

เราต้องเริ่มต้นด้วยการค้นหาค่า infimum ซึ่งทำได้โดยการค้นหาอนุพันธ์ย่อยที่เกี่ยวข้องกับ W และ B และตั้งค่าให้เท่ากับศูนย์:

เมื่อแทนสมการเหล่านี้กลับไปสู่ปัญหาคู่ ปัญหาคู่จะเป็น:

โดยมีข้อจำกัดดังนี้

บทสรุป

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