SOM (Self-Organizing Feature Map) เป็น clustering และ data visualization technique ที่อิง neural network perspective 儘管มี neural network basis แต่ SOM นำเสนออย่าง minimal ในบริบทของ prototype-based clustering alteration
อัลกอริทึมของ SOM
Initialize the centroids (เริ่มต้น centroids)
repeat
Choose the next object (เลือก object ถัดไป)
Determine the closest centroid to the object (หา centroid ใกล้ที่สุด)
Update this centroid และ centroids ที่ใกล้เคียง (ใน neighborhood ที่กำหนด)
until centroids ไม่เปลี่ยนแปลงมาก หรือ threshold ถูกครบ
Assign แต่ละ object ให้ nearest centroid และคืนค่า centroids และ clusters
Initialization (การเริ่มต้น) − ขั้นตอนนี้ (บรรทัด 1) ทำได้หลายวิธี วิธีหนึ่งคือสุ่มแต่ละ element ของ centroid จาก range ของค่าที่สังเกตในข้อมูลสำหรับ element นั้น วิธีนี้ใช้ได้แต่ไม่ใช่ที่ดีที่สุดโดยเฉพาะ rapid convergence อีกวิธีคือสุ่มเลือก initial centroids จาก data points ที่มีอยู่ คล้ายกับการสุ่ม centroids สำหรับ K-means
Selection of an object (การเลือก object) − ขั้นตอนแรกใน loop (บรรทัด 3) คือเลือก object ถัดไป ดูง่ายแต่มีความยุ่งยาก เนื่องจาก convergence อาจใช้หลาย steps แต่ละ data object อาจถูกใช้หลายครั้ง โดยเฉพาะถ้าจำนวน objects น้อย แต่ถ้าจำนวน objects มาก ไม่ทุก object ต้องถูกใช้ ยังสามารถเพิ่ม influence ของกลุ่ม objects บางกลุ่มโดยเพิ่ม frequency ใน training set
Assignment (การกำหนด) − การหา nearest centroid (บรรทัด 4) ง่าย แต่อาจต้องการ distance metric definition ใช้ Euclidean distance metric หรือ dot product metric เมื่อใช้ dot product distance data vectors มัก normalized ก่อน และ reference vectors normalized ทุก step ในกรณีนี้ dot product metric เทียบเท่า cosine measure
Update (การอัปเดต) − ขั้นตอน update (บรรทัด 5) ซับซ้อน ให้ m1...mk เป็น centroids ที่ time step t ให้ p(t) เป็น current object และสมมติ nearest centroid ไปยัง p(t) คือ mj ดังนั้นที่ time t+1 centroid ที่ j จะอัปเดตด้วยสมการ:
$$\mathrm{mj(t + 1) = mj(t) + hj(t)(p(t) - mj(t))}$$
Termination (การสิ้นสุด) − การกำหนดเมื่อถึง stable set of centroids เป็น important issue ควร iterate จน converge คือ reference vectors ไม่เปลี่ยนหรือเปลี่ยนน้อย Cost of convergence ขึ้นอยู่กับหลาย factors รวมถึง data และ 𝛼(t)