ฉันคิดว่าคุณกำลังพยายามที่จะเริ่มต้นจากจุดจบที่เลวร้าย สิ่งที่ควรรู้เกี่ยวกับ SVM เพื่อใช้เป็นเพียงแค่ว่าอัลกอริทึมนี้กำลังค้นหาไฮเปอร์เพลนในไฮเปอร์สเปซของคุณลักษณะที่แยกสองคลาสที่ดีที่สุดโดยวิธีที่ดีที่สุดที่มีระยะห่างระหว่างคลาสมากที่สุด เบลอภาพรวม) ดังภาพที่มีชื่อเสียงเช่นนี้:
ตอนนี้มีปัญหาบางอย่างเหลืออยู่
ก่อนอื่นคุณจะทำอย่างไรกับคนผิดปกติที่น่ารังเกียจอย่างไร้ยางอายในจุดศูนย์กลางของจุดต่าง ๆ ในกลุ่มเมฆ?
ด้วยเหตุนี้เราจึงอนุญาตให้เครื่องมือเพิ่มประสิทธิภาพปล่อยตัวอย่างผิดไป แต่ยังลงโทษตัวอย่างแต่ละตัวอย่าง เพื่อหลีกเลี่ยงการใช้คำสั่งหลายคำสั่งบทลงโทษสำหรับคดี mislabelled จะถูกรวมเข้ากับขนาดมาร์จิ้นด้วยการใช้พารามิเตอร์เพิ่มเติม C ซึ่งควบคุมความสมดุลระหว่างจุดมุ่งหมายเหล่านั้น
ถัดไปบางครั้งปัญหาไม่ได้เป็นเชิงเส้นและไม่พบไฮเปอร์เพลนที่ดี ที่นี่เราแนะนำเคล็ดลับเคอร์เนล - เราแค่ฉายพื้นที่ดั้งเดิมที่ไม่ใช่เชิงเส้นไปยังมิติที่สูงกว่าด้วยการแปลงแบบไม่เชิงเส้นแน่นอนที่กำหนดโดยพารามิเตอร์เพิ่มเติมจำนวนมากโดยหวังว่าในพื้นที่ที่เกิดปัญหาจะเหมาะสำหรับธรรมดา SVM:
อีกครั้งด้วยคณิตศาสตร์และเราสามารถเห็นได้ว่ากระบวนการเปลี่ยนแปลงทั้งหมดนี้สามารถถูกซ่อนไว้อย่างงดงามโดยการแก้ไขฟังก์ชั่นวัตถุประสงค์โดยการแทนที่จุดผลิตภัณฑ์ของวัตถุด้วยฟังก์ชันเคอร์เนลที่เรียกว่า
ในที่สุดทั้งหมดนี้ใช้งานได้ 2 คลาสและคุณมี 3; จะทำอย่างไรกับมัน? ที่นี่เราสร้างตัวแยกประเภท 2 ระดับ 3 แบบ (การนั่ง - แบบไม่มีการยืน, แบบไม่มีการยืน, แบบไม่มีทางเดิน - ไม่เดิน) และในการจัดหมวดหมู่จะรวมการลงคะแนน
ตกลงดังนั้นปัญหาดูเหมือนจะได้รับการแก้ไข แต่เราต้องเลือกเคอร์เนล (ที่นี่เราปรึกษากับสัญชาตญาณของเราและเลือก RBF) และพอดีกับพารามิเตอร์น้อย (C + เคอร์เนล) และเราจะต้องมีฟังก์ชั่นวัตถุประสงค์ที่ปลอดภัยมากเกินไปสำหรับมันเช่นการประมาณข้อผิดพลาดจากการตรวจสอบข้าม ดังนั้นเราปล่อยให้คอมพิวเตอร์ทำงานต่อไปแล้วไปหากาแฟกลับมาแล้วดูว่ามีพารามิเตอร์ที่เหมาะสมที่สุด ที่ดี! ตอนนี้เราเพิ่งเริ่มการตรวจสอบข้ามแบบซ้อนกันเพื่อให้เกิดข้อผิดพลาดและ voila
เวิร์กโฟลว์สั้น ๆ นี้เป็นหลักสูตรที่ง่ายเกินไปที่จะถูกต้องครบถ้วน แต่แสดงเหตุผลว่าทำไมฉันคิดว่าคุณควรลองใช้ฟอเรสต์แบบสุ่มซึ่งเกือบจะเป็นพารามิเตอร์ที่ไม่ขึ้นกับคลาสหลายตัว .