Support Vector Machines (SVM)

PradyaSin
2 min readOct 4, 2019

--

เป็นหนึ่งในโมเดล Machine Learning ที่ใช้ในการจำแนกข้อมูล หรือแบ่งกลุ่มข้อมูลโดยจะสร้างเส้นตรงที่ใช้แบ่งกลุ่มข้อมูล (Hyperplane) และหาเส้นที่ดีที่สุด

ตัวอย่างรูป SVM kindsonthegenius.com

Max-Margin and Support Vectors

การแบ่งข้อมูลสามารถแบ่งได้หลายเส้นแต่เราจะเลือกเส้นไหนล่ะ? เราจะเลือกเส้นที่มี Margin มากที่สุด คือ เส้นที่มีระยะแบ่งกว้างที่สุด เช่น เส้นสีส้มมีระยะมากที่สุด หาก Margin แคบไปขยับข้อมูลเดียวอาจจะทำให้ข้ามไปอีกฝั่งหนึ่งได้เลยทำให้มีโอกาส Overfit สูง ดังนั้น เราจะเลือก Margin เยอะ ทำให้ Overfit น้อย หรือเรียกกว่า Soft Margin

ตัวอย่างการแบ่งข้อมูล

Parameter C

การปรับ parameter C จะทำให้ขนาดของเส้นแบ่งเปลี่ยนแปลงได้
โดยที่ C มากจะทำให้พื้นที่แคบลง C น้อยจะทำให้พื้นที่กว้างขึ้น

Parameter C

Kernels

หากข้อมูลไม่สามารถแบ่งกลุ่มได้ด้วยเส้นตรง (linear) จึงได้มีวิธีการ Kernels ที่เป็น non-linear เข้ามาแก้ไขปัญหาที่เกิดขึ้น โดยวิธีการคือ สร้างมิติขึ้นมาจากเดิม 2D เป็น 3D แล้วลากเส้นตัดผ่านตรงกลางจะทำให้สามารถแบ่งข้อมูลออกไปกลุ่มได้

ตัวอย่างการทำ Kernels

Example Kernels

Example Kernels https://twitter.com/plotlygraphs

References

IT554 Pattern Recognition and Machine Learning, SWU

--

--