自己組織化写像
SOMのアルゴリズムにはどんな次元の特徴ベクトルでも入力できるが、多くの応用では、入力の次元は高い。出力されるマップは1次元や2次元など、入力と異なる次元でも構わない(「近傍」が定義できればよい(→位相幾何学))。しかしポピュラーなのは2次元もしくは3次元のマップである。なぜなら、SOMは次元の拡大でなく、主に次元の削減に用いられるからである。
アルゴリズムはニューラルネットの用語を用いることで容易に記述できる。各々のニューロンは出力のマップ上にそれぞれ固有の「物理的な」位置を持っている。入力に対して、一番近いウェイトベクトルを持っていたニューロンを「勝者」と呼び、勝者の重みベクトルはより入力ベクトルに近くなるように修正される。この「勝者が全部とる (winner-take-all, WTA)」プロセスは競合学習と呼ばれる。
それぞれのニューロンは近傍を持っている。あるニューロンが勝者となった場合、その近傍のニューロンもまた重みベクトルを修正される。このプロセスを、全てのデータについて、何度も(通常、たくさん)繰り返す。
このネットワークは最終的には、入力データセット中のグループまたはパターンを出力ノードに関連付ける結果となる。それら関連づけられたニューロンは入力パターンの名前で呼んでもよいことになる(色のベクトルを学習したなら色ニューロンのように)。
他の多くのニューラルネット同様、SOMにも2つのフェーズがある。