자기조직화 지도(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과 신경망 분석기법의 차이점
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…
과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…