Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

SOM Algorithm คืออะไร?


SOM แสดงถึงแผนผังคุณลักษณะการจัดระเบียบตนเอง เป็นเทคนิคการจัดกลุ่มและการสร้างภาพข้อมูลขึ้นอยู่กับมุมมองของโครงข่ายประสาทเทียม โดยไม่คำนึงถึงพื้นฐานโครงข่ายประสาทเทียมของ SOM เป็นเพียงการนำเสนอแบบง่ายๆ ในบริบทของการเปลี่ยนแปลงการจัดกลุ่มตามต้นแบบ

อัลกอริทึมของ SOM มีดังนี้ -

  • เริ่มต้นเซนทรอยด์

  • ซ้ำ

  • เลือกวัตถุถัดไป

  • กำหนดเซนทรอยด์ที่ใกล้ที่สุดกับวัตถุ

  • รีเฟรชเซนทรอยด์นี้และเซนทรอยด์ที่อยู่ใกล้เคียง เช่น ในย่านที่แน่นอน

  • จนกว่าเซนทรอยด์จะไม่เปลี่ยนแปลงมากนักหรือธรณีประตูอยู่นอกสเปซ

  • สร้างแต่ละอ็อบเจ็กต์ให้เป็นเซนทรอยด์ที่ใกล้ที่สุดและกู้คืนเซนทรอยด์และคลัสเตอร์

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

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

การเลือกวัตถุ − ขั้นตอนแรกในลูป (บรรทัดที่ 3) คือการเลือกอ็อบเจ็กต์ถัดไป นี่เป็นเรื่องง่าย แต่มีปัญหาหลายประการ เนื่องจากการบรรจบกันอาจต้องใช้บางขั้นตอน แต่ละอ็อบเจ็กต์ข้อมูลจึงสามารถใช้ได้หลายครั้ง โดยเฉพาะอย่างยิ่งถ้าหลายอ็อบเจ็กต์มีขนาดเล็ก แต่ถ้าจำนวนอ็อบเจ็กต์มากก็ไม่จำเป็นต้องใช้แต่ละอ็อบเจ็กต์ นอกจากนี้ยังใช้เพื่อปรับปรุงอิทธิพลของกลุ่มวัตถุเฉพาะด้วยการปรับปรุงความถี่ในชุดการฝึก

การมอบหมาย − การหาเซนทรอยด์ที่ใกล้ที่สุด (บรรทัดที่ 4) นั้นง่าย แม้ว่าจะต้องการคำอธิบายของการวัดระยะทางก็ตาม มีการใช้เมตริกระยะทางแบบยุคลิด เช่นเดียวกับเมตริกผลิตภัณฑ์ดอท เมื่อใช้ระยะทางผลคูณดอท โดยทั่วไปเวกเตอร์ข้อมูลจะถูกทำให้เป็นมาตรฐานล่วงหน้า และเวกเตอร์อ้างอิงจะถูกทำให้เป็นมาตรฐานในทุกขั้นตอน ในวิธีนี้ การใช้เมตริกซ์ดอทจะเหมือนกับการใช้การวัดโคไซน์

อัปเดต − ขั้นตอนการอัพเดท (บรรทัดที่ 5) นั้นยาก ให้ m1..., mk เป็นเซนทรอยด์ สำหรับขั้นตอนเวลา t ให้ p(t) เป็นวัตถุปัจจุบัน (จุด) และพิจารณาว่าเซนทรอยด์ที่ใกล้ที่สุดกับ p(t) คือ mj ดังนั้น สำหรับเวลา t+1 เซนทรอยด์ที่ j จะถูกรีเฟรชโดยใช้สมการต่อไปนี้

$$\mathrm{mj(t + 1) =mj(t) + hj(t)(p(t) - mj(t))}$$

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