본문 바로가기
머신러닝

[머신러닝] S.O.M 알고리즘 (1) - 개념

by 하응 2021. 5. 4.

Self-organizing map (자기조직화지도) 

 

  • 데이터 내 위상(topology)을 보존하면서, 고차원의 input space를 단순한 저차원의 output space로 변환 
  • 인공신경망 구조이며, error-correction learning이 아닌 competitive learning 방법 채택 
  • 각 output 노드의 weight vector와 이웃 노드 weight vector 간 거리의 평균을 표현한 U-matrix로 시각화

 

S.O.M 알고리즘은, 1980년대 알고리즘을 처음 발표한 Teuvo Kohonen 교수의 이름을 따서,

Kohonen map이라고 부르기도 한다.   


Kohonen's S.O.M 알고리즘 수행 단계 

 

1. Normalization

  • 스케일이 큰 설명변수에 치우쳐 맵이 생성되지 않도록 설명변수들을 스케일링한다. 

2. Initialization

  • 다음과 같은 Parameter들의 초기값을 설정해준다. 
  • map size, weight vectors, learning rate function, neighborhood function, radius(반경) of neighborhood, the max number of iterations

3. Sampling

  • training 데이터셋에서 input vector \(x(t)\)를 랜덤하게 샘플링한다. 

4. Similarity Matching 

  • 샘플링된 input vector \(x(t)\)와 output 노드 weight vector 간 Euclidean 거리를 계산하여 winning 노드를 도출한다.

5. Weight Updating

  • 도출된 winning 노드와 이웃 노드의 weight vector 값을 업데이트한다

6. Parameter Adjustment

  • 미리 정의한 함수에 따라 radius of neighborhood, learning rate가 각각 조정된다.

7. Continuation

  • 업데이트된 weights 값의 변화가 일정 수준을 넘어가지 않거나, 반복횟수에 도달할 때까지 3~6단계를 반복하여 수행한다.  

반응형

 

평가지표 

 

1. QE (Quantization Error) 

  • 샘플링된 input vector와 BMU(Best Matching Unit)간 Euclidean 거리의 평균값을 의미하며, QE 값이 작을수록 맵이 데이터에 잘 fitting되었다고 평가된다.
  • output 노드의 개수가 많아질수록(맵 사이즈가 커질수록), input sample들이 맵에 더 잘 분포되어 QE값이 감소한다.   
  • QE 지표는 데이터 내 위상 관계(topological relations)와 무관하다. 

⎻ T : input sample 개수

⎻ t : iteration index

⎻ \(x(t)\) :  t번째 iteration에서의 input sample vector

⎻ \(w_c(t)\) : t번째 iteration의 input sample vector의 winning node vector  

 

2. TE (Topographic Error)

  • **특정 조건을 만족하는 데이터 벡터의 개수의 비율을 의미하며, TE 값이 작을수록 데이터 위상이 잘 보존되었다고 평가된다.
  • Topology preservation(projection quality)을 파악하기 위해 자주 사용되는 지표이다. 
  • 맵에서 second-BMUBMU 가까이 있을수록 좋은 위상을 가지고 있다고 평가한다.

⎻ T : input sample 개수

⎻ t : iteration index

- \(x(t)\) :  t번째 iteration에서의 input sample vector

 

** t번째 iteration의 input sample vector의 BMU와 second-BMU가 인접하지 않으면 u(x(t))=1,

    반대의 경우(BMU와 second-BMU가 인접하는 경우), u(x(t))=0

 

 

참고자료

샘플 데이터로 Kohonen 알고리즘을 설명하고 있어 이해하기 쉽다.   

Umut Asan (2012), An Introduction to Self-Organizing Maps, Computational Intelligence Systems in Industrial Engineering: with Recent Theory and Applications (pp.299-319)

 

MiniSom python 패키지 실습

2021.05.12 - [머신러닝] - S.O.M 알고리즘 (2) - MiniSom

 

반응형

댓글