คำตอบของไรอันซอตติอธิบายแรงจูงใจเบื้องหลังขอบเขตการตัดสินใจสูงสุดคำตอบของคาร์ลอสซีให้ความคล้ายคลึงและความแตกต่างบางประการกับผู้จำแนกประเภทอื่น ฉันจะให้ในคำตอบนี้ภาพรวมทางคณิตศาสตร์โดยย่อของวิธีการฝึกอบรมและใช้งาน SVM
ข้อความ
ในต่อไปนี้สเกลาร์จะแสดงด้วยตัวพิมพ์เล็กตัวเอียง (เช่นy,b ) เวกเตอร์ที่มี lowercases หนา (เช่นw,xWwTw∥w∥=wTw
ปล่อย:
- xเป็นคุณลักษณะของเวกเตอร์ (เช่นอินพุตของ SVM) โดยที่คือมิติของเวกเตอร์คุณลักษณะx∈Rnn
- yเป็นคลาส (เช่นเอาต์พุตของ SVM) , นั่นคืองานการจำแนกประเภทเป็นเลขฐานสองy∈{−1,1}
- wและเป็นพารามิเตอร์ของ SVM: เราจำเป็นต้องเรียนรู้พวกเขาโดยใช้ชุดการฝึกอบรมb
- (x(i),y(i))เป็นตัวอย่างในชุดข้อมูล สมมติว่าเรามีตัวอย่างในชุดการฝึกอบรมithN
ด้วยเราสามารถแทนขอบเขตการตัดสินใจของ SVM ได้ดังนี้:n=2
คลาสถูกพิจารณาดังนี้:y
y(i)={−11 if wTx(i)+b≤−1 if wTx(i)+b≥1
ซึ่งสามารถเขียนได้รัดกุมมากเป็น1y(i)(wTx(i)+b)≥1
เป้าหมาย
SVM มุ่งมั่นที่จะสนองความต้องการสองประการ:
SVM ควรเพิ่มระยะห่างระหว่างขอบเขตการตัดสินใจทั้งสอง ในทางคณิตศาสตร์นี่หมายความว่าเราต้องการเพิ่มระยะห่างระหว่างไฮเปอร์เพลนที่กำหนดโดยและไฮเปอร์เพลนที่กำหนดโดย1 ระยะนี้จะมีค่าเท่ากับ|} ซึ่งหมายความว่าเราต้องการที่จะแก้|} เราต้องการ
เท่ากันwTx+b=−1wTx+b=12∥w∥maxw2∥w∥minw∥w∥2
SVM ควรจัดหมวดหมู่ทั้งหมดอย่างถูกต้องซึ่งหมายถึงx(i)y(i)(wTx(i)+b)≥1,∀i∈{1,…,N}
ซึ่งนำเราไปสู่ปัญหาการหาค่าเหมาะที่สุดต่อไปนี้:
minw,bs.t.∥w∥2,y(i)(wTx(i)+b)≥1∀i∈{1,…,N}
นี่คือSVM แบบ hard-marginเนื่องจากปัญหาการหาค่าเหมาะที่สุดแบบสมการกำลังสองนี้ยอมรับวิธีแก้ปัญหาหากข้อมูลแยกกันเป็นเส้นตรง
หนึ่งสามารถผ่อนคลายข้อ จำกัด โดยการแนะนำที่เรียกว่าตัวแปรหย่อน {(i)} โปรดทราบว่าแต่ละตัวอย่างของชุดการฝึกอบรมมีตัวแปรสแลคของตัวเอง สิ่งนี้ทำให้เรามีปัญหาการหาค่าเหมาะที่สุดสมการกำลังสองต่อไปนี้:ξ(i)
minw,bs.t.∥w∥2+C∑i=1Nξ(i),y(i)(wTx(i)+b)≥1−ξ(i),ξ(i)≥0,∀i∈{1,…,N}∀i∈{1,…,N}
นี่คือSVM นุ่มขอบ เป็น hyperparameter เรียกว่าโทษของระยะข้อผิดพลาด ( อะไรคืออิทธิพลของ C ใน SVM ที่มีเคอร์เนลเชิงเส้น?และช่วงการค้นหาใดสำหรับการพิจารณาพารามิเตอร์ที่เหมาะสมที่สุดของ SVM )C
เราสามารถเพิ่มความยืดหยุ่นได้มากขึ้นด้วยการแนะนำฟังก์ชั่นที่แมปพื้นที่คุณลักษณะดั้งเดิมกับพื้นที่คุณลักษณะมิติที่สูงขึ้น สิ่งนี้อนุญาตให้มีขอบเขตการตัดสินใจที่ไม่ใช่เชิงเส้น ปัญหาการหาค่าเหมาะที่สุดกำลังสองจะกลายเป็น:ϕ
minw,bs.t.∥w∥2+C∑i=1Nξ(i),y(i)(wTϕ(x(i))+b)≥1−ξ(i),ξ(i)≥0,∀i∈{1,…,N}∀i∈{1,…,N}
การเพิ่มประสิทธิภาพ
ปัญหาการหาค่าเหมาะที่สุดกำลังสองสามารถเปลี่ยนเป็นปัญหาการเพิ่มประสิทธิภาพอื่นที่ชื่อปัญหาคู่ลากรองจ์ (ปัญหาก่อนหน้านี้เรียกว่าครั้งแรก ):
maxαs.t.minw,b∥w∥2+C∑i=1Nα(i)(1−wTϕ(x(i))+b)),0≤α(i)≤C,∀i∈{1,…,N}
ปัญหาการปรับให้เหมาะสมนี้สามารถทำให้ง่ายขึ้น (โดยตั้งค่าการไล่ระดับสีเป็น ) เป็น:0
maxαs.t.∑i=1Nα(i)−∑i=1N∑j=1N(y(i)α(i)ϕ(x(i))Tϕ(x(j))y(j)α(j)),0≤α(i)≤C,∀i∈{1,…,N}
wไม่ปรากฏเป็น (ตามที่ระบุไว้ในทฤษฎีบทของผู้ตอบโต้ )w=∑Ni=1α(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 เวกเตอร์สนับสนุน∑Ni=1α(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:
ลิงค์อื่น ๆ :
อ้างอิง: