본문 바로가기

Signal Processing & Machine Learning

[Clustering] (5-1) SOM: Self-Organizing Map, 자기조직화 맵

포스팅에서는 Data Mining에서 군집화 (Clustering) 기법 중 Self-Organizing Map (SOM) 에 대해서 소개한다. 또한, Matlab을 이용하여 SOM을 기반으로 classification을 수행하는 간략한 예시도 제시한다. 


1. 소개 

  • SOM은, Self-Organizing Map의 약자로 자기조직화 맵, 또는 Self-Organizing Feature Map (SOFM)으로도 불린다. 이 방법은 핀란드의 헬싱키 공과대학 (Helsinki Technology University)의 Teuvo Kohonen (1981) [1][2]에 의해 고안되었다. 
  • SOM의 특징 및 장점은 다차원 (multi-dimension)의 특징 벡터 (feature vectors)의 차원을 축소 (dimensionality reduction) 시켜주면서 동시에 군집화 (clustering)을 수행한다는 것이다. 
  • SOM도 신경망 알고리즘 중에 하나의 방법인데, 통상적으로 우리가 알고있는 Artificial Neural Network (ANN)는 clustering 보다는 classification을 할 때 주로 사용하는 것으로 알려져있다. 
  • 하지만, ANN으로 clustering도 가능한 것이, 바로 SOM 방법이다. 따라서, 대부분의 ANN 알고리즘이 지도 학습 (supervised learning) 방법인 것과 다르게, SOM은 비지도 학습 (unsupervised learning) 방법을 기반으로 한 ANN으로, 각 뉴런끼리의 가중치 (weight)들이 서로 경쟁 (competitive) 학습을 하게 된다. 


  • 위의 영상은 SOM의 neuron들의 weight가 updating 되는 과정을 간략하게 설명한 그림이다. 
  • 각 input data는 random으로 선택되며, 선택된 data (주황색)는 각 뉴런들 (N1, N2)과의 거리 (distance)를 계산하게 된다. 계산되어진 거리를 기반으로 neuron의 weight가 업데이트 되어지고, 입력된 모든 Input data의 weight가 update 될 때까지 이 과정을 반복한다. 
  • 더 가까운 neuron은 더 가깝게, 더 먼 neuron은 더 멀게 weight가 조정되므로, 모든 과정이 수행되면 최종적으로 유사한 군집의 input data들끼리 같은 neuron을 더 높은 weight를 가지고 connection하게 된다. 




본 포스팅에서는 SOM에 대한 간략한 소개를 하였고, 다음 포스팅에서 구체적인 내용을 포스팅하겠습니다


* SOM의 학술적인 내용은, 하기 Reference들을 참고하기 바랍니다. 특히, T. Kohonen이 저술한 “Self-Organized Formation of Topologically Correct Feature Maps” 논문은 Open access이므로 Google scholar에서 access가 가능합니다. 

[References] 
[1] T. Kohonen and T. Honkela, “Kohonen Network," Scholarpedia. 
[2] T. Kohonen, “Self-Organized Formation of Topologically Correct Feature Maps,” Biological Cybernetics, vol. 43, no. 1, pp. 59-69.