SOM đại diện cho Bản đồ Tự tổ chức Đặc trưng (Self-Organizing Feature Map). Nó là một kỹ thuật phân cụm (clustering) và trực quan hóa dữ liệu (data visualization) tùy thuộc trên quan điểm mạng nơ-ron (neural network viewpoint). Bất kể cơ sở mạng nơ-ron của SOM, nó được trình bày đơn giản — tối thiểu trong bối cảnh biến đổi phân cụm dựa trên nguyên mẫu (prototype-based clustering).
Thuật toán của SOM như sau:
- Khởi tạo các centroid (centroids).
- lặp
- Chọn đối tượng tiếp theo.
- Xác định centroid gần nhất với đối tượng.
- Làm mới centroid này và các centroid gần, tức là, trong một lân cận (neighborhood) xác định.
- cho đến khi centroid không thay đổi nhiều hoặc ngưỡng bị vượt quá (outspace).
- Gán mỗi đối tượng cho centroid gần nhất của nó và khôi phục centroid và cụm.
Khởi tạo (Initialization)
Bước này (dòng 1) có thể được triển khai theo nhiều cách. Một cách là chọn mỗi phần tử của centroid ngẫu nhiên từ phạm vi giá trị quan sát được trong dữ liệu cho phần tử đó.
Mặc dù phương pháp này hoạt động, nó không nhất thiết là phương pháp tốt nhất, đặc biệt để tạo hội tụ nhanh (rapid convergence). Cách khác là chọn ngẫu nhiên các centroid ban đầu từ các điểm dữ liệu có sẵn. Điều này rất giống việc chọn ngẫu nhiên centroid cho K-means.
Chọn đối tượng (Selection of an object)
Bước đầu tiên trong vòng lặp (dòng 3) là lựa chọn đối tượng tiếp theo. Điều này đơn giản, nhưng có một số khó khăn. Vì hội tụ có thể yêu cầu một số bước, mỗi đối tượng dữ liệu có thể được dùng nhiều lần, đặc biệt nếu số đối tượng nhỏ. Nhưng nếu số đối tượng lớn, thì không phải mỗi đối tượng đều cần được dùng. Cũng có thể tăng cường ảnh hưởng của các nhóm đối tượng cụ thể bằng cách tăng tần suất của chúng trong tập huấn luyện.
Gán (Assignment)
Xác định centroid gần nhất (dòng 4) là dễ dàng, mặc dù nó cần mô tả độ đo khoảng cách (distance metric). Độ đo khoảng cách Euclid (Euclidean distance metric) được dùng, cũng như độ đo tích vô hướng (dot product metric). Khi dùng khoảng cách tích vô hướng, các vector dữ liệu thường được chuẩn hóa trước và vector tham chiếu (reference vectors) được chuẩn hóa ở mỗi bước. Theo cách này, dùng độ đo tích vô hướng tương đương với dùng độ đo cosin (cosine measure).
Cập nhật (Update)
Bước cập nhật (dòng 5) là khó khăn. Cho m₁..., mₖ là các centroid. Đối với bước thời gian t, cho p(t) là đối tượng hiện tại (điểm) và xét rằng centroid gần nhất đến p(t) là mⱼ. Do đó, cho thời gian t+1, centroid thứ j được làm mới bằng cách dùng phương trình sau:
$$\mathrm{m_j(t + 1) = m_j(t) + h_j(t)(p(t) - m_j(t))}$$
Chấm dứt (Termination)
Xác định khi nào đủ cho một tập centroid ổn định (stable) là vấn đề thiết yếu. Lý tưởng, lặp lại phải tiếp tục cho đến khi hội tụ xuất hiện, tức là, cho đến khi vector tham chiếu không thay đổi hoặc thay đổi nhỏ. Chi phí hội tụ sẽ dựa trên nhiều yếu tố, bao gồm dữ liệu và α(t).