뉴럴 네트워크를 활용한 클러스터링 기법의 일종이다. 한국어로는 자기조직화 맵이라는 이름으로 불리운다. 다른 클러스터링 기법과 마찬가지로 주된 목적은 입력값 (input pattern)을 그룹화 하여 유사한 그룹으로 클러스터링 하는 것이다.
[그림 1]은 7차원의 입력데이터를 5개의 cluster로 구분할 수 있는 SOM의 구조를 나타내고 있다. x는 input vector를 구성하는 각 dimension을, y은 각각의 클러스터를 의미한다. wij는 입력값과 클러스터를 연결하는 벡터로써, 입력값으로 표현되는 클러스터의 현재 위치, 즉 중앙값으로 생각하면 될 듯 하다. 따라서 SOM의 목적은, 입력데이터를 가장 잘 구분할 수 있는 weight vector를 찾는 것이다.
Weight vector의 학습과정은 다음과 같다. 입력값들은 각각의 weight vector와의 비교를 통해 가장 가까운 클러스터로 할당되게 된다. 가장 가까운 클러스터가 찾아졌다면, 해당 클러스터와 그 이웃의 weight vector들의 위치가 조금씩 조정되게 된다. 자기조직화 맵이라는 이름은 이처럼, weight vector를 스스로 학습하여 조정해 나가는 과정을 지칭하기 때문인 것으로 생각된다. 이같은 과정을 수차례 거치면, weight vector들의 값이 점차적으로 안정화 되게 되고, SOM이 완성되게 된다.
[그림 1] Self-organizing map 예시 (7차원 입력 데이터를 5개의 클러스터로 나눌 경우) |
참고자료: http://mnemstudio.org/neural-networks-kohonen-self-organizing-maps.htm
댓글 없음:
댓글 쓰기