Dimensionality Reduction
차원 축소가 ML 워크플로를 최적화하는 방법을 알아보세요. PCA와 t-SNE 같은 기법을 활용해 Ultralytics YOLO26 성능과 데이터 시각화를 향상하는 방법을 살펴보세요.
차원 축소는 머신 러닝 (ML) 및 데이터 과학에서 데이터셋의 입력 변수 수(일반적으로 특성 또는 차원이라고 함)를 줄이면서 가장 중요한 정보를 유지하는 데 사용되는 혁신적인 기법입니다. 빅데이터 시대에는 데이터셋에 수천 개의 변수가 포함되는 경우가 많아 차원의 저주라는 현상이 발생합니다. 이 현상으로 인해 모델 학습에 많은 계산 비용이 들고 과적합이 발생하기 쉬우며 해석이 어려워질 수 있습니다. 고차원 데이터를 저차원 공간에 투영하면 실무자는 효율성, 시각화 및 예측 성능을 향상할 수 있습니다.
AI 개발의 핵심 이점#
데이터의 복잡성을 줄이는 것은 데이터 전처리 파이프라인의 기본 단계입니다. 이를 통해 견고한 인공지능 (AI) 시스템을 구축할 때 다음과 같은 여러 가지 실질적인 이점을 얻을 수 있습니다.
- 계산 효율성 향상: 특성이 적을수록 처리해야 할 데이터가 줄어듭니다. 따라서 YOLO26과 같은 알고리즘의 학습 시간이 단축되어 실시간 추론에 더 적합해지고 리소스가 제한된 엣지 AI 디바이스에 배포하기도 용이해집니다.
- 데이터 시각화 개선: 인간의 직관으로는 3차원을 초과하는 데이터를 이해하기 어렵습니다. 차원 축소는 복잡한 데이터셋을 2D 또는 3D 공간으로 압축하여 TensorFlow Embedding Projector와 같은 도구를 사용해 클러스터, 패턴 및 이상치를 파악하는 효과적인 데이터 시각화를 가능하게 합니다.
- 노이즈 감소: 이 기법은 데이터에서 가장 관련성이 높은 분산에 집중하여 노이즈와 중복 특성을 걸러냅니다. 그 결과 더 정제된 학습 데이터를 얻을 수 있어 모델이 보지 못한 예제에도 더 잘 일반화할 수 있습니다.
- 스토리지 최적화: Ultralytics Platform을 통해 관리하는 데이터셋과 같이 대규모 데이터셋을 클라우드에 저장하면 비용이 많이 들 수 있습니다. 특성 공간을 압축하면 필수적인 데이터 무결성을 훼손하지 않고도 스토리지 요구 사항을 크게 줄일 수 있습니다.
핵심 기법: 선형 방식과 비선형 방식#
차원 축소 방법은 일반적으로 데이터의 전역 선형 구조를 보존하는지, 아니면 국소 비선형 다양체를 보존하는지에 따라 분류됩니다.
선형 방법#
가장 잘 정립된 선형 기법은 주성분 분석 (PCA)입니다. PCA는 데이터에서 최대 분산을 포착하는 직교 축인 "주성분"을 식별하는 방식으로 작동합니다. 그런 다음 원본 데이터를 이러한 새로운 축에 투영하여 정보 기여도가 낮은 차원을 효과적으로 제거합니다. 이는 비지도 학습 워크플로에서 표준적으로 사용되는 기법입니다.
비선형 방법#
이미지 또는 텍스트 임베딩과 같은 복잡한 데이터 구조에는 비선형 방법이 필요한 경우가 많습니다. t-분포 확률적 이웃 임베딩 (t-SNE) 및 UMAP (균일 다양체 근사 및 투영)과 같은 기법은 국소 이웃 구조를 보존하는 데 뛰어나므로 고차원 클러스터를 시각화하는 데 적합합니다. 또한 오토인코더는 입력을 잠재 공간 표현으로 압축한 후 복원하도록 학습된 신경망으로, 데이터의 압축된 인코딩을 효과적으로 학습합니다.
실제 적용 사례#
차원 축소는 다양한 딥 러닝 (DL) 분야에서 중요합니다.
-
컴퓨터 비전: YOLO26과 같은 최신 객체 검출기는 수천 개의 픽셀이 포함된 이미지를 처리합니다. 내부 레이어는 풀링 및 스트라이드 합성곱과 같은 기법을 사용하여 특성 맵의 공간 차원을 점진적으로 줄이고, 원시 픽셀을 높은 수준의 의미론적 개념(예: "에지", "눈", "자동차")으로 정제합니다.
-
유전체학 및 헬스케어: 의료 이미지 분석 및 생물정보학에서 연구자들은 수만 개의 변수가 포함된 유전자 발현 데이터를 분석합니다. 차원 축소는 암 유전체학 연구에서 볼 수 있듯이 질병 분류를 위한 주요 바이오마커를 식별하는 데 도움이 됩니다.
-
추천 시스템: Netflix 또는 Spotify와 같은 플랫폼은 사용자 선호도를 예측하기 위해 행렬 분해(차원 축소 기법)를 사용합니다. 사용자-항목 상호작용의 희소 행렬을 축소하면 잠재 특성을 기반으로 콘텐츠를 효율적으로 추천할 수 있습니다.
차원 축소와 특성 선택 비교#
이 개념은 서로 다른 메커니즘을 통해 유사한 목표를 달성하는 특성 선택과 구분하는 것이 중요합니다.
- 특성 선택은 원본 특성의 하위 집합을 선택하는 방식입니다(예: "나이"는 유지하고 "이름"은 삭제). 선택한 특성의 값은 변경하지 않습니다.
- 차원 축소(특히 특성 추출)는 원본 특성의 조합으로 이루어진 새로운 특성을 생성합니다. 예를 들어 PCA는 "키"와 "체중"을 하나의 새로운 성분으로 결합하여 "체격"을 나타낼 수 있습니다.
Python 예제: 이미지 임베딩 축소#
다음 예제에서는 고차원 출력(이미지 임베딩 벡터를 시뮬레이션)을 가져와 PCA를 사용해 축소하는 방법을 보여 줍니다. 이는 YOLO26과 같은 모델이 유사한 클래스를 어떻게 그룹화하는지 시각화할 때 사용하는 일반적인 워크플로입니다.
import numpy as np
from sklearn.decomposition import PCA
# Simulate high-dimensional embeddings (e.g., 10 images, 512 features each)
# In a real workflow, these would come from a model like YOLO26n
embeddings = np.random.rand(10, 512)
# Initialize PCA to reduce from 512 dimensions to 2
pca = PCA(n_components=2)
reduced_data = pca.fit_transform(embeddings)
# Output shape is now (10, 2), ready for 2D plotting
print(f"Original shape: {embeddings.shape}") # (10, 512)
print(f"Reduced shape: {reduced_data.shape}") # (10, 2)








