자기조직화 지도(SOM, Self-Organizing Map)는 인공신경망(Artificial Neural Network, ANN)의 한 종류로, 데이터의 고차원 정보를 저차원의 격자로 정리하는 비지도 학습(unsupervised learning) 방식의 군집 분석 기법입니다.
SOM은 인공 신경망 기반의 군집 분석 기법으로, 데이터의 고차원 구조를 저차원 격자로 변환합니다. SOM의 주요 구성 요소는 다음과 같습니다.
SOM은 입력 벡터들을 2D 또는 3D의 격자로 변환하면서 비슷한 특징을 가진 데이터들이 가까운 위치에 배치되도록 학습합니다.
✅ 비지도 학습(unsupervised learning)
✅ 고차원 데이터의 차원 축소 가능
✅ 데이터의 군집 형성(clustering)이 직관적으로 가능
✅ 데이터의 시각화 및 패턴 분석 용이
✅ 지도 기반 데이터 표현으로 해석이 쉬움
💻구성도
입력층과 경쟁층으로 구성되며, 경쟁층의 뉴런들이 2차원 격자 구조로 배열되어 고차원 입력데이터를 저차원공간에 시각적으로 표현하는 구조
기법 | 학습 방식 | 주요 특징 | 적용 분야 |
---|---|---|---|
K-means | 비지도 학습 | 고정된 K개의 중심 설정 | 일반적인 군집 분석 |
SOM | 비지도 학습 | 데이터 시각화 및 군집화 가능 | 패턴 분석, 시각화 |
PCA | 차원 축소 | 선형 변환 기반 | 데이터 차원 축소 |
DBSCAN | 밀도 기반 군집화 | 밀도가 높은 영역을 군집화 | 이상 탐지, 공간 데이터 분석 |
from minisom import MiniSom
import numpy as np
import matplotlib.pyplot as plt
# 데이터 생성
data = np.random.rand(100, 3) # 100개의 3차원 데이터
# SOM 설정 (10x10 격자, 3차원 입력)
som = MiniSom(x=10, y=10, input_len=3, sigma=1.0, learning_rate=0.5)
som.random_weights_init(data)
som.train_random(data, 1000) # 1000번 반복 학습
# 시각화
plt.figure(figsize=(6, 6))
for x, t in zip(data, range(len(data))):
w = som.winner(x) # BMU 찾기
plt.text(w[0], w[1], str(t), ha='center', va='center')
plt.title("SOM 군집화 결과")
plt.show()
구분 | SOM (Self-Organizing Map) | 일반 신경망 (Artificial Neural Networks) |
---|---|---|
학습 방식 | 비지도 학습 (Unsupervised Learning) | 지도 학습 (Supervised Learning) |
출력 형태 | 군집(Clustering) 형태의 2D/3D 격자 맵 | 특정 값 예측 (Classification, Regression) |
가중치 업데이트 | 경쟁 학습(Competitive Learning) 기반, BMU와 이웃 뉴런 업데이트 | 오차 역전파(Backpropagation) 사용 |
활용 목적 | 데이터 군집화, 차원 축소, 패턴 분석 | 이미지 인식, 음성 인식, NLP 등 |
대표 알고리즘 | Kohonen SOM | MLP, CNN, RNN, LSTM |
네트워크 구조 | 입력층 + 경쟁층 (1~2개 층) | 입력층 + 은닉층 다수 + 출력층 |
SOM은 비지도 학습을 통해 데이터의 패턴을 스스로 학습하고 군집화하는 강력한 기법입니다. 특히, 고차원 데이터를 2D로 변환하여 직관적인 시각화를 제공한다는 점에서 많은 응용이 가능합니다. 하지만 하이퍼파라미터 설정과 계산량이 많다는 점을 고려해야 합니다.
※ 참고로 본 내용은 정보관리기술사 134회 4교시에 출제된 Topic입니다.
6. 군집분석 기법인 SOM(Self-Organizing Map)에 대하여 설명하시오.
가. SOM 정의 및 특징
나. SOM 구성요소
다. SOM과 신경망 분석기법의 차이점
오늘은 AI 생태계에 혁신적인 변화를 가져올 것으로 예상되는 MCP(Model Context Protocol)에 대해 상세히 알아보겠습니다. 2024년…
1. TPM이란? TPM(Trusted Platform Module)은 국제 표준 기반의 보안 하드웨어 칩으로, 컴퓨터나 디지털 장비 내에서…
시즌2, 기대했는데... 실망도 두 배!두뇌싸움을 기대했는데, 전략도 없는 자기들만의 감정에 따른 편가르기, 정치싸움이 되어 버린…
BPF(Berkeley Packet Filter) 도어는 해커가 관리자 몰래 뒷문을 새로 만든 것입니다.해커가 명령을 내려 특정 데이터들을 뒷문을…
1. IPC의 개념과 목적 1.1 IPC란 무엇인가? IPC (Inter-Process Communication)는 운영체제 내의 서로 독립적인 프로세스…