หากมีจุดสามจุดดังนี้
และสมการ Hyperplane
นำเอา a,b,c แทนเข้าไปในสมการ Hyperplane ได้ผลดังนี้
สังเกตุเครื่องหมายของผลลัพธ์ของสมการหลังจากผ่านข้อมูลจุด a,b,c ออกมาเป็น ตามลำดับ เมื่อนำไป plot
จากรูปที่ 1 แสดงให้เห็นว่า ถ้าค่าของสมการ Hyperplane ออกมาน้อยกว่า 0 จุดอยู่ใต้เส้น หากมากกว่า 0 จะอยู่เหนือเส้น และหากเท่ากับ 0 จะอยู่บนเส้น สรุปออกมาได้ดังรูปที่ 2
พิจารณารูปที่ 2 ถ้าหากถูกขอให้พิจารณาความมั่นใจในการแยกจุด C ออกจากจุด A และการแยกจุด B ออกจากจุด A น่าจะได้คำตอบว่า การแยกจุด C ออกจากจุด A จะให้ความมั่นใจสูงกว่า ทั้งนี้เพราะเรามองได้ชัดว่าระยะห่างระหว่างจุด C กับ Hyperplane มากกว่ากว่าจุด B
เราทราบแล้วว่าการใช้ สมการ hyperplane ร่วมกับ hypothesis function สามารถใช้แบ่งกลุ่มข้อมูลได้ คำถามที่เกิดขึ้นคือหากเรามี hyperplane มากกว่า 1 hyperplane แล้ว เราควรเลือก hyperplane ไหนที่เหมาะกับ data set ที่มีอยู่
ระยะทางระหว่างจุดกับเส้นตรง สามารถหาได้จากสมการ [1]
รูปแบบของสมการ vector
เราสามารถทดสอบได้โดยการนำเอา data set มาทดสอบกับ hyperplane ทุก hyperplane ซึ่งจะได้ค่าของ hyperplane ออกมา เลือกค่าที่น้อยที่สุดของแต่ละ hyperplane มาเทียบกัน แล้วเลือก hyperplane ที่ให้ค่ามากที่สุดเป็น hyperplane ที่เหมาะสม
ดูตัวอย่าง
สมการ hyperplane :
ค่า minimum ของแต่ละ hyperplane :
ได้ว่าสมการ hyperplane ที่สองให้ค่าสูงสุดจากค่า margin ที่มากที่สุดในสามค่าที่ได้ ดังนั้น hyperplane ที่สองจึงเป็น hyperplane ที่เหมาะสมที่สุด
เอกสารอ้างอิง
[1] https://smarter-machine.blogspot.com/2018/07/perpendicular-distance-from-point-to.html
และสมการ Hyperplane
นำเอา a,b,c แทนเข้าไปในสมการ Hyperplane ได้ผลดังนี้
a = [4,6] | |
b = [8,8] | |
c = [4,8] |
สังเกตุเครื่องหมายของผลลัพธ์ของสมการหลังจากผ่านข้อมูลจุด a,b,c ออกมาเป็น
![]() |
รูปที่ 1 |
จากรูปที่ 1 แสดงให้เห็นว่า ถ้าค่าของสมการ Hyperplane ออกมาน้อยกว่า 0 จุดอยู่ใต้เส้น หากมากกว่า 0 จะอยู่เหนือเส้น และหากเท่ากับ 0 จะอยู่บนเส้น สรุปออกมาได้ดังรูปที่ 2
![]() |
รูปที่ 2 |
เราทราบแล้วว่าการใช้ สมการ hyperplane ร่วมกับ hypothesis function สามารถใช้แบ่งกลุ่มข้อมูลได้ คำถามที่เกิดขึ้นคือหากเรามี hyperplane มากกว่า 1 hyperplane แล้ว เราควรเลือก hyperplane ไหนที่เหมาะกับ data set ที่มีอยู่
![]() |
รูปที่ 3 |
ระยะทางระหว่างจุดกับเส้นตรง สามารถหาได้จากสมการ [1]
รูปแบบของสมการ vector
พิจารณาสมการ (2) จะเห็นว่า เมื่อนำค่าจาก data set มาแทนค่าลงสมการที่ละจุดไปเรื่อย ๆ ค่าที่ออกมานั้นก็คือระยะห่างระหว่างจุดที่เป็นตัวแทนของข้อมูลกับเส้น hyperplane (การนำเอาค่า ซึ่งเป็นค่าคงที่ไปหารก็คือการทำ normalize ค่าของระยะทาง) ค่านี้ต่อไปจะเรียกว่า "margin"
หากเปรียบการหา hyperplane เป็นการสร้างถนนคั่นระหว่างข้อมูลสองกลุ่ม เราก็กำลังพยายามสร้างถนนให้กว้างที่สุดเท่าที่จะทำได้ แต่ต้องไม่กว้างเกินไปจนไปทับอยู่บนตัวข้อมูล
หากเปรียบการหา hyperplane เป็นการสร้างถนนคั่นระหว่างข้อมูลสองกลุ่ม เราก็กำลังพยายามสร้างถนนให้กว้างที่สุดเท่าที่จะทำได้ แต่ต้องไม่กว้างเกินไปจนไปทับอยู่บนตัวข้อมูล
เราสามารถทดสอบได้โดยการนำเอา data set มาทดสอบกับ hyperplane ทุก hyperplane ซึ่งจะได้ค่าของ hyperplane ออกมา เลือกค่าที่น้อยที่สุดของแต่ละ hyperplane มาเทียบกัน แล้วเลือก hyperplane ที่ให้ค่ามากที่สุดเป็น hyperplane ที่เหมาะสม
![]() |
รูปที่ 4 |
ดูตัวอย่าง
สมการ hyperplane :
ค่า minimum ของแต่ละ hyperplane :
ได้ว่าสมการ hyperplane ที่สองให้ค่าสูงสุดจากค่า margin ที่มากที่สุดในสามค่าที่ได้ ดังนั้น hyperplane ที่สองจึงเป็น hyperplane ที่เหมาะสมที่สุด
![]() |
hyperplane ที่ 1 และที่ 3 ให้ผลของการแบ่งข้อมูลได้ไม่ค่อยดีนัก จะเห็นว่ามีข้อมูลบางส่วนไปอยู่บน hyperplane |
![]() |
hyperplane ที่สองให้ภาพการแบ่งกลุ่มข้อมูลที่ดีกว่า ไม่มีข้อมูลไปอยู่บน hyperplane |
![]() |
แสดง hyperplane ที่เหมาะสมพร้อม margin |
Hyperplane ที่เหมาะสมควรให้ค่า margin ที่มากที่สุดเมื่อแทนที่ด้วย data set ที่มีอยู่
เลือก hyperplane ที่ให้ค่า
เอกสารอ้างอิง
[1] https://smarter-machine.blogspot.com/2018/07/perpendicular-distance-from-point-to.html
ความคิดเห็น
แสดงความคิดเห็น