Support Vector Machine (SVM) ทำงานอย่างไร


108

อย่างไรเครื่องสนับสนุนเวกเตอร์ (SVM)การทำงานและสิ่งที่แตกต่างจากตัวจําแนกเชิงเส้นอื่น ๆ เช่นเป็น Linear Perceptron , เชิงเส้นวิเคราะห์จำแนกหรือถดถอยโลจิสติ ? * * * *

(* ฉันกำลังคิดในแง่ของแรงจูงใจพื้นฐานสำหรับอัลกอริทึมกลยุทธ์การปรับให้เหมาะสมความสามารถในการวางนัยทั่วไปและความซับซ้อนของเวลาทำงาน )


4
ดูเพิ่มเติมที่: stats.stackexchange.com/questions/3947/…

ดูเพิ่มเติมstats.stackexchange.com/questions/80398/…

คำตอบ:


126

เครื่องเวกเตอร์สนับสนุนเน้นเฉพาะจุดที่ยากที่สุดในการแยกออกจากกันในขณะที่ตัวแยกประเภทอื่น ๆ ให้ความสนใจกับทุกจุด

สัญชาตญาณเบื้องหลังการสนับสนุนเวกเตอร์แมชชีนวิชวลคือถ้าลักษณนามดีในการเปรียบเทียบที่ท้าทายที่สุด (คะแนนใน B และ A ที่ใกล้เคียงกันมากที่สุดในรูปที่ 2) ลักษณนามจะดียิ่งขึ้นเมื่อเปรียบเทียบง่าย ๆ ( เปรียบเทียบคะแนนใน B และ A ที่อยู่ห่างไกลกัน)

Perceptrons และตัวแยกประเภทอื่น ๆ :

Perceptrons สร้างขึ้นโดยการทีละจุดและปรับเส้นแบ่งตาม ทันทีที่มีการแยกจุดทั้งหมดอัลกอริทึม Perceptron จะหยุด แต่มันสามารถหยุดได้ทุกที่ รูปที่ 1 แสดงว่ามีเส้นแบ่งจำนวนมากมายที่แยกข้อมูล เกณฑ์การหยุดของ perceptron นั้นง่าย: "แยกจุดและหยุดปรับปรุงเส้นเมื่อคุณได้รับการแยก 100%" Perceptron ไม่ได้บอกอย่างชัดเจนว่าให้หาเส้นแบ่งที่ดีที่สุด การถดถอยแบบลอจิสติกและแบบจำลองเชิงเส้นเชิงพหุถูกสร้างขึ้นคล้ายกับ perceptrons

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

ป้อนคำอธิบายรูปภาพที่นี่

สนับสนุน Vector Machines:

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

เมื่อพบจุดที่ใกล้ที่สุดแล้ว SVM จะลากเส้นเชื่อมต่อพวกเขา (ดูบรรทัดที่มีข้อความ 'w' ในรูปที่ 2) มันวาดเส้นเชื่อมต่อนี้โดยทำการลบเวกเตอร์ (จุด A - จุด B) จากนั้นเครื่องเวกเตอร์สนับสนุนจะประกาศเส้นแบ่งที่ดีที่สุดให้เป็นเส้นที่แบ่งครึ่งและตั้งฉากกับ - เส้นเชื่อมต่อ

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

ป้อนคำอธิบายรูปภาพที่นี่

ฉันคิดว่าตัวเองเป็นผู้เรียนรู้ทางสายตาและฉันก็ต้องดิ้นรนกับสัญชาตญาณเบื้องหลังการสนับสนุนเวกเตอร์แมชชีนเป็นเวลานาน ในที่สุดกระดาษที่ชื่อว่าDuality และ Geometry ใน SVM Classifiersก็ช่วยให้ฉันมองเห็นแสงได้ในที่สุด นั่นคือสิ่งที่ฉันได้รับภาพจาก


4
+1 จากผู้เรียนรู้ภาพอีกคน! สำหรับผู้อ่านฉันต้องการทราบว่าขอบเขตเหล่านี้ชัดเจนในรูปข้างต้นขึ้นอยู่กับชุดข้อมูลที่ได้ถูกแปลงไปแล้ว ไม่ใช่ชุดข้อมูลดิบ
Kingz

การอ่าน svm มากว่าสองปีแล้ววันนี้เข้าใจว่ามีการระบุบรรทัดการแยกและอีกสองสามสิ่ง ขอบคุณสำหรับคำตอบที่สะอาด
user123

53

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

ข้อความ

ในต่อไปนี้สเกลาร์จะแสดงด้วยตัวพิมพ์เล็กตัวเอียง (เช่นy,b ) เวกเตอร์ที่มี lowercases หนา (เช่นw,xWwTww=wTw

ปล่อย:

  • xเป็นคุณลักษณะของเวกเตอร์ (เช่นอินพุตของ SVM) โดยที่คือมิติของเวกเตอร์คุณลักษณะxRnn
  • yเป็นคลาส (เช่นเอาต์พุตของ SVM) , นั่นคืองานการจำแนกประเภทเป็นเลขฐานสองy{1,1}
  • wและเป็นพารามิเตอร์ของ SVM: เราจำเป็นต้องเรียนรู้พวกเขาโดยใช้ชุดการฝึกอบรมb
  • (x(i),y(i))เป็นตัวอย่างในชุดข้อมูล สมมติว่าเรามีตัวอย่างในชุดการฝึกอบรมithN

ด้วยเราสามารถแทนขอบเขตการตัดสินใจของ SVM ได้ดังนี้:n=2

ป้อนคำอธิบายรูปภาพที่นี่

คลาสถูกพิจารณาดังนี้:y

y(i)={1 if wTx(i)+b11 if wTx(i)+b1

ซึ่งสามารถเขียนได้รัดกุมมากเป็น1y(i)(wTx(i)+b)1

เป้าหมาย

SVM มุ่งมั่นที่จะสนองความต้องการสองประการ:

  1. SVM ควรเพิ่มระยะห่างระหว่างขอบเขตการตัดสินใจทั้งสอง ในทางคณิตศาสตร์นี่หมายความว่าเราต้องการเพิ่มระยะห่างระหว่างไฮเปอร์เพลนที่กำหนดโดยและไฮเปอร์เพลนที่กำหนดโดย1 ระยะนี้จะมีค่าเท่ากับ|} ซึ่งหมายความว่าเราต้องการที่จะแก้|} เราต้องการ เท่ากันwTx+b=1wTx+b=12wmaxw2wminww2

  2. SVM ควรจัดหมวดหมู่ทั้งหมดอย่างถูกต้องซึ่งหมายถึงx(i)y(i)(wTx(i)+b)1,i{1,,N}

ซึ่งนำเราไปสู่ปัญหาการหาค่าเหมาะที่สุดต่อไปนี้:

minw,bw2,s.t.y(i)(wTx(i)+b)1i{1,,N}

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

หนึ่งสามารถผ่อนคลายข้อ จำกัด โดยการแนะนำที่เรียกว่าตัวแปรหย่อน {(i)} โปรดทราบว่าแต่ละตัวอย่างของชุดการฝึกอบรมมีตัวแปรสแลคของตัวเอง สิ่งนี้ทำให้เรามีปัญหาการหาค่าเหมาะที่สุดสมการกำลังสองต่อไปนี้:ξ(i)

minw,bw2+Ci=1Nξ(i),s.t.y(i)(wTx(i)+b)1ξ(i),i{1,,N}ξ(i)0,i{1,,N}

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

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

minw,bw2+Ci=1Nξ(i),s.t.y(i)(wTϕ(x(i))+b)1ξ(i),i{1,,N}ξ(i)0,i{1,,N}

การเพิ่มประสิทธิภาพ

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

maxαminw,bw2+Ci=1Nα(i)(1wTϕ(x(i))+b)),s.t.0α(i)C,i{1,,N}

ปัญหาการปรับให้เหมาะสมนี้สามารถทำให้ง่ายขึ้น (โดยตั้งค่าการไล่ระดับสีเป็น ) เป็น:0

maxαi=1Nα(i)i=1Nj=1N(y(i)α(i)ϕ(x(i))Tϕ(x(j))y(j)α(j)),s.t.0α(i)C,i{1,,N}

wไม่ปรากฏเป็น (ตามที่ระบุไว้ในทฤษฎีบทของผู้ตอบโต้ )w=i=1Nα(i)y(i)ϕ(x(i))

เราจึงเรียนรู้โดยใช้ของชุดฝึกอบรมα(i)(x(i),y(i))

(FYI: ทำไมต้องกังวลกับปัญหาที่สองเมื่อทำการปรับ SVMคำตอบสั้น ๆ : การคำนวณเร็วขึ้น + อนุญาตให้ใช้เคอร์เนลเคล็ดลับแม้ว่าจะมีวิธีการที่ดีในการฝึกอบรม SVM ในระยะแรกเช่นดู {1})

การทำนายผล

เมื่อเรียนรู้แล้วเราสามารถทำนายคลาสของตัวอย่างใหม่ได้ด้วยคุณสมบัติเวกเตอร์ดังนี้:α(i)xtest

ytest=sign(wTϕ(xtest)+b)=sign(i=1Nα(i)y(i)ϕ(x(i))Tϕ(xtest)+b)

การรวมอาจดูล้นหลามเนื่องจากมันหมายความว่าเราต้องสรุปผลการฝึกอบรมทั้งหมด แต่ส่วนใหญ่ของเป็น (ดูทำไม Lagrange ทวีคูณกระจายสำหรับ SVMs ) ดังนั้นในทางปฏิบัติมันไม่เป็นปัญหา (โปรดทราบว่าหนึ่งสามารถสร้างกรณีพิเศษที่ทั้งหมด ) iffเป็นเวกเตอร์สนับสนุน . ภาพประกอบด้านบนมี 3 เวกเตอร์สนับสนุนi=1Nα(i)0α(i)>0α(i)=0x(i)

เคล็ดลับเคอร์เนล

สามารถสังเกตได้ว่าปัญหาการปรับให้เหมาะสมใช้เฉพาะในผลิตภัณฑ์ภายในขวา) ฟังก์ชั่นที่แม็พกับผลิตภัณฑ์ภายในจะเรียกว่าเคอร์เนล , ฟังก์ชันเคอร์เนล aka, แสดงโดยมักkϕ(x(i))ϕ(x(i))Tϕ(x(j))(x(i),x(j))ϕ(x(i))Tϕ(x(j))k

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

ก้าวต่อไป

QA ที่น่าสนใจเกี่ยวกับ SVM:

ลิงค์อื่น ๆ :


อ้างอิง:


2
สวัสดี Franck ขอบคุณมากสำหรับคำตอบของคุณ คุณพอจะอธิบายได้ไหมว่าทำไมเวกเตอร์ตั้งฉากกับไฮเปอร์เพลนที่ SVM สร้างขึ้น และคุณคำนวณระยะห่างระหว่างสองขอบเขตการตัดสินใจให้เท่ากับw2w
tosik

3
นอกจากคำตอบที่ยอดเยี่ยมนี้ฉันต้องการแนะนำวิดีโอนี้ที่เดินผ่านทางคณิตศาสตร์หลัง SVM โดยเฉพาะอย่างยิ่งและชี้แจงคำถาม @tosik ให้ความเห็นyoutube.com/watch?v=_PwhiWxHK8o
Nikolas Rieble

คำตอบที่ดีมาก เพียงหนึ่งคำพูดให้เป็นไปในส่วนนี้: IFFเป็นเวกเตอร์การสนับสนุน สำหรับการจัดหมวดหมู่ผลรวมนั้นมีประสิทธิภาพเหนือเวกเตอร์สนับสนุน (เช่น ) α(i)=0x(i)α(i)0
989

13

ฉันจะมุ่งเน้นไปที่ความคล้ายคลึงและความแตกต่างจากตัวแยกประเภทอื่น ๆ :

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

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

  • จาก LDA: LDA ยังสามารถมองเห็นเป็นอัลกอริธึมกำเนิดมันสันนิษฐานว่าฟังก์ชั่นความหนาแน่นความน่าจะเป็น (p (x | y = 0) และ p (x | y = 1) มีการกระจายตามปกตินี่คืออุดมคติเมื่อข้อมูลอยู่ใน ความจริงปกติกระจายอย่างไรก็ตามมันมีข้อเสียที่ "การฝึกอบรม" ต้องมีการผกผันของเมทริกซ์ที่สามารถมีขนาดใหญ่ (เมื่อคุณมีคุณสมบัติมากมาย) ภายใต้ homocedasticity LDA กลายเป็นQDAซึ่งเป็น Bayes ที่ดีที่สุดสำหรับการกระจายข้อมูลตามปกติ สมมติฐานมีความพึงพอใจจริง ๆ คุณไม่สามารถทำได้ดีกว่านี้

ที่รันไทม์ (เวลาทดสอบ) เมื่อแบบจำลองได้รับการฝึกอบรมความซับซ้อนของวิธีการเหล่านี้จะเหมือนกันมันเป็นเพียงแค่ผลิตภัณฑ์ dot ระหว่างไฮเปอร์เพลนที่กระบวนการฝึกอบรมพบและดาต้าพอยน์


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

1
@ DavideChicco.it ใช่เราสามารถใช้ฟังก์ชั่นตัวบ่งชี้เพื่อจำแนกข้อมูลใหม่ซึ่งมักจะเป็นวัตถุประสงค์หลักของตัวจําแนก (อย่าใช้คำพูดของฉันสำหรับสิ่งนี้แม้ว่าฉันจะใหม่ทั้งหมด)
keyser

12

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

ป้อนคำอธิบายรูปภาพที่นี่

ในภาพประกอบด้านบนถ้าเราเลือกเวกเตอร์มุมฉากที่เราสามารถสร้างเกณฑ์การตัดสินใจสำหรับตัวอย่างที่ไม่รู้จักเพื่อจัดหมวดหมู่เป็นแบบบวก:w=1u

wuC

สอดคล้องกับค่าที่จะทำให้การฉายภาพเกินเส้นการตัดสินใจที่อยู่ตรงกลางถนน ขอให้สังเกตว่าw}wu=uw

เงื่อนไขที่เท่าเทียมกันสำหรับตัวอย่างที่เป็นบวกคือ:

(1)wu+b0

ด้วยC=b.

เราจำเป็นต้องและจะมีกฎการตัดสินใจและการที่จะได้มีที่เราต้องจำกัดbw

จำกัด เป็นครั้งแรกที่เราจะไปกำหนดเป็นที่สำหรับบวกใด ๆ ตัวอย่าง , ; และสำหรับตัวอย่างเชิงลบ-1 ในขอบเขตการหารหรือไฮเปอร์เพลน ( ค่ามัธยฐาน ) ค่าจะเป็นในขณะที่ค่าที่ท่อจะเท่ากับและ :x+,wx++b1wx+b1011

ป้อนคำอธิบายรูปภาพที่นี่

เวกเตอร์เป็นเวกเตอร์น้ำหนักในขณะที่เป็นอคติwb


เมื่อต้องการนำความไม่เท่าเทียมกันทั้งสองเข้าด้วยกันเราสามารถแนะนำตัวแปรเพื่อให้สำหรับตัวอย่างที่เป็นบวกและหากตัวอย่างเป็นลบและสรุปyiyi=+1yi=1

yi(xiw+b)10.

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

(2)yi(xiw+b)1=0

ขอให้สังเกตว่านี่เทียบเท่ากับที่กำหนดให้yi(xiw+b)=1.

ป้อนคำอธิบายรูปภาพที่นี่


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

ป้อนคำอธิบายรูปภาพที่นี่

สมมติว่าเวกเตอร์หน่วยตั้งฉากกับขอบเขตการตัดสินใจ , ผลิตภัณฑ์ดอทที่มีความแตกต่างระหว่าง "ขอบ" สองบวกและลบตัวอย่างคือความกว้างของ "ถนน" :w

width=(x+x)ww

ในสมการข้างบนและอยู่ในรางน้ำ (บนไฮเปอร์เพลนส์ทำให้การแยกสูงสุด) ดังนั้นสำหรับตัวอย่างที่เป็นบวก:หรือ ; และเป็นตัวอย่างที่ลบ:ข ดังนั้นปรับความกว้างของถนน:x+x (xiw+b)1=0x+w=1bxw=1b

width=(x+x)ww=x+wxww=1b(1b)w(3)=2w

ดังนั้นตอนนี้เราต้องเพิ่มความกว้างของถนนให้มากที่สุด - เช่นขยายสูงสุด ลดหรือย่อให้เล็กสุด:w2w,w

(4)12w2

ซึ่งสะดวกในเชิงคณิตศาสตร์


ดังนั้นเราต้องการ:

  1. ย่อเล็กสุดด้วยข้อ จำกัด :x2

  2. yi(wxi+b)1=0


เนื่องจากเราต้องการลดการแสดงออกนี้ตามข้อ จำกัด บางอย่างเราจึงต้องใช้ตัวคูณ Lagrange (กลับไปที่สมการ 2 และ 4):

(5)L=12w2λi[yi(xiw+b)1]

ความแตกต่าง,

Lw=wλiyixi=0
0

ดังนั้น,

(6)w=λiyixi

และสร้างความแตกต่างด้วยความเคารพต่อb:

Lb=λiyi=0,

ซึ่งหมายความว่าเรามีผลรวมเป็นศูนย์ของตัวคูณและป้ายกำกับ:

(7)λiyi=0

การเสียบสมการ Eq (6) กลับไปที่ Eq (5)

L=12(λiyixi)(λjyjxj)(λiyixi)(λjyjxj)λiyib+λi

เทอมสุดท้ายคือศูนย์ตามสมการ Eq (7)

ดังนั้น,

(8)L=λi12ijλiλjyiyjxixj

สมการ (8) เป็นลากรองจ์สุดท้าย

ดังนั้นการเพิ่มประสิทธิภาพขึ้นอยู่กับผลิตภัณฑ์ดอทของคู่ตัวอย่าง

กลับไปที่ "กฎการตัดสินใจ" ใน Eq (1) ด้านบนและใช้ Eq (6):

(9)λiyixiu+b0

จะเป็นกฎการตัดสินใจขั้นสุดท้ายสำหรับเวกเตอร์ใหม่u.


ไม่มีอะไรที่เป็นต้นฉบับ ... แค่บันทึกของฉันเองในระดับเริ่มต้น โดยพื้นฐานจากวิดีโอนี้จาก MITพร้อมภาพประกอบของฉันเอง สำหรับข้อผิดพลาดโปรดแจ้งให้เราทราบ สำหรับคำตอบที่ลึกซึ้งและรายละเอียดเพิ่มเติมไปที่ระดับผู้เชี่ยวชาญ (โพสต์ของ Franck และอื่น ๆ )
Antoni Parellada

และฉันจะคำนวณb ได้อย่างไร
ไมค์

1
@ ไมค์กับเป็นชุดของดัชนีของเวกเตอร์การสนับสนุนคุณสามารถค้นหาได้ที่นี่ b=ysmSαmymxmxsS(αi>0).
Antoni Parellada

@AntoniParellada คำตอบที่น่าอัศจรรย์อันโตขอบคุณมาก - แต่คุณไม่ได้พลาดส่วนหนึ่งของปัญหา Dual และเงื่อนไข KTT ใช่ไหม
Xavier Bourret Sicotte

@XavierBourretSicotte ฉันไม่สามารถทำงานกับมันได้ซักพักแล้ว โปรดลองเขียนคำตอบทางเลือกที่สัมผัสกับปัญหาเหล่านี้และถ้าคุณทำโปรดแจ้งให้เราทราบเพื่อที่ฉันจะได้ทราบและสามารถลงคะแนนได้
Antoni Parellada

3

ความคิดเห็นบางประการเกี่ยวกับเงื่อนไข Duality และ KTT

ปัญหาปฐม

หยิบขึ้นมาจาก @ โพสต์อันโตในระหว่างสมการและ , จำได้ว่าเดิมของเราหรือปฐมปัญหาการเพิ่มประสิทธิภาพของรูปแบบ:(4)(5)

minw,bf(w,b)=minw,b 12||w||2s.t.  gi(w,b)=y(i)(wTx(i)+b)+1=0

วิธีการลากรองจ์

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

L(w,b,α)=12||w||2imαi[y(i)(wTx(i)+b)1]

ที่ไหน ที่เรียกว่าลากรองจ์และจะเรียกว่าคูณลากรองจ์ L(w,b,α)αi

ปัญหาการปรับให้เหมาะสมครั้งแรกของเรากับ Lagrangian มีดังต่อไปนี้: (โปรดทราบว่าการใช้ ,ไม่ได้เข้มงวดที่สุดเท่าที่เราควรใช้และที่นี่ ... )minmaxinfsup

minw,b(maxαL(w,b,α))

ปัญหาคู่

@Antoni และ Prof. Patrick Winston ได้ทำอะไรในการสืบทอดของพวกเขาคือสมมติว่าฟังก์ชั่นการเพิ่มประสิทธิภาพและข้อ จำกัด ตรงตามเงื่อนไขทางเทคนิคบางอย่างเช่นที่เราสามารถทำสิ่งต่อไปนี้:

minw,b(maxαL(w,b,α))=maxα(minw,bL(w,b,α))

สิ่งนี้ทำให้เราสามารถนำส่วนอนุพันธ์ของเทียบกับและ , เท่ากับศูนย์แล้วเสียบผลลัพธ์กลับเข้าไปในสมการดั้งเดิมของลากรองจ์ดังนั้นจึงสร้างความเท่าเทียมกันปัญหาการเพิ่มประสิทธิภาพแบบคู่ของแบบฟอร์มL(w,b,α)wb

maxαminw,bL(w,b,α)maxαimαi12i,jmy(i)y(j)αiαj<x(i)x(j)>s.t. αi0s.t. imαiy(i)=0

ความเป็นคู่และ KTT

เงื่อนไขเหล่านี้เป็นการรวมกันของ Duality และเงื่อนไข Karush Kuhn Tucker (KTT) และช่วยให้เราสามารถแก้ปัญหาคู่แทนที่จะเป็นครั้งแรกในขณะที่มั่นใจว่าทางออกที่ดีที่สุดเหมือนกัน ในกรณีของเรามีเงื่อนไขดังต่อไปนี้:

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

จากนั้นก็มีซึ่งเป็นวิธีแก้ปัญหาสำหรับปัญหาแรกและปัญหาที่สอง นอกจากนี้พารามิเตอร์เป็นไปตามเงื่อนไข KTT ด้านล่าง:w,αw,α

wiL(w,α,β)=0(A)βiL(w,α,β)=0(B)αigi(w)=0(C)gi(w)0(D)αi0(E)

ยิ่งไปกว่านั้นถ้ามีเป็นไปตามโซลูชัน KTT พวกเขาก็จะสามารถแก้ปัญหาที่สองและครั้งแรกw,α

สมการดังกล่าวข้างต้นมีความสำคัญโดยเฉพาะอย่างยิ่งและเป็นที่เรียกว่าสภาพ complementarity คู่ มันหมายความว่าถ้าแล้วซึ่งหมายความว่าข้อ จำกัดมีการใช้งานนั่นคือมันมีความเสมอภาคมากกว่าความไม่เท่าเทียมกัน นี่คือคำอธิบายเบื้องหลังสมการในแหล่งที่มาของ Antoni โดยที่ข้อ จำกัด ของความไม่เท่าเทียมนั้นเปลี่ยนเป็นข้อ จำกัด ด้านความเท่าเทียมกันα i > 0 g i ( w ) = 0 g i ( w ) 0 ( 2 )(C)αi>0gi(w)=0gi(w)0(2)

แผนภาพที่ใช้งานง่าย แต่ไม่เป็นทางการ

ป้อนคำอธิบายรูปภาพที่นี่

แหล่งที่มา


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