용어집

차원 감소

차원 축소 기법으로 고차원 데이터를 간소화하세요. 지금 바로 ML 모델 성능, 시각화 및 효율성을 개선하세요!

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

차원 축소는 머신 러닝(ML) 및 데이터 분석에서 데이터 세트의 특징(또는 차원) 수를 줄이면서 의미 있는 정보를 최대한 많이 유지하는 데 사용되는 중요한 프로세스입니다. 수많은 특징을 포함하는 고차원 데이터는 모델 학습에 계산 비용이 많이 들고, 더 많은 메모리가 필요하며, 과적합이 발생하기 쉽고, 희박한 데이터 분포로 인해 일반화에 어려움을 겪는 '차원의 저주'라는 문제를 일으킬 수 있습니다. 차원 축소 기술은 데이터를 저차원 공간으로 변환하고, 모델을 단순화하며, 학습 속도를 개선하고, 모델 성능을 향상시키고, 데이터를 더 쉽게 시각화함으로써 이러한 문제를 완화하는 것을 목표로 합니다.

차원 축소 작동 방식

차원 축소 기술은 일반적으로 크게 두 가지 범주로 나뉩니다:

  1. 특징 선택: 이 방법은 원래 기능의 하위 집합을 선택하고 관련성이 없거나 중복된 것으로 간주되는 기능은 삭제합니다. 목표는 가장 유익한 피처를 변경하지 않고 유지하는 것입니다. 방법은 필터(통계적 속성 기반), 래퍼(모델 성능 기반) 또는 임베디드(모델 학습 프로세스에 통합)로 분류할 수 있습니다.
  2. 특징 추출: 이 방법은 원래의 고차원 데이터를 새로운 저차원 특징 공간으로 변환합니다. 단순히 특징을 선택하는 것이 아니라 필수 정보를 포착하는 새로운 특징(종종 원래 특징의 조합)을 생성합니다. 이는 특징 추출 용어집 항목에 자세히 설명되어 있는 핵심 개념입니다.

주요 기술

차원 축소에는 일반적으로 몇 가지 알고리즘이 사용됩니다:

  • 주성분 분석(PCA): 특징 추출을 위해 널리 사용되는 선형 기법입니다. 주성분 분석은 원본 데이터의 최대 분산을 포착하는 상관관계가 없는 새로운 특징인 주성분을 식별합니다. 이러한 구성 요소에 데이터를 투영하여 데이터의 변동성을 대부분 보존하면서 효과적으로 차원을 줄입니다. 주로 Scikit-learn과 같은 라이브러리를 사용하여 구현됩니다.
  • t-분산 확률적 이웃 임베딩(t-SNE): 주로 고차원 데이터를 2차원 또는 3차원으로 시각화하는 데 사용되는 비선형 기법으로, 데이터의 로컬 구조를 보존하는 데 중점을 두고 고차원 데이터 포인트를 저차원 포인트에 매핑하여 유사한 포인트가 서로 가깝게 유지되도록 합니다. 시각화에는 탁월하지만, 계산 집약적이며 모델 훈련 전 일반적인 차원 축소에는 PCA에 비해 적합하지 않습니다. 로렌스 반 데어 마텐의 사이트에서 t-SNE에 대한 리소스를 제공합니다.
  • 자동 인코더: 비지도 학습 및 특징 추출에 사용되는 신경망(NN)의 일종입니다. 자동 인코더는 입력 데이터를 저차원 잠재 표현(병목 계층)으로 압축하는 인코더와 이 표현에서 원본 데이터를 재구성하는 디코더로 구성됩니다. 압축된 잠재 표현은 축소된 차원의 출력으로 사용됩니다. 이들은 종종 다음과 같은 프레임워크를 사용하여 구축됩니다. PyTorch 또는 TensorFlow.

차원 축소 대 관련 개념

  • 특징 추출: 앞서 언급했듯이 특징 추출은 기존 특징에서 새로운 특징을 생성하는 일종의 차원 축소입니다. PCA 및 자동 인코더와 같은 기술이 이 범주에 속합니다.
  • 피처 엔지니어링: 피처 엔지니어링은 모델 성능을 개선하기 위해 피처를 생성, 선택 및 변환하는 광범위한 프로세스입니다. 차원 축소(선택 및 추출 모두)는 피처 엔지니어링의 일부로 간주됩니다. 효과적인 피처 엔지니어링에는 종종 도메인 전문 지식이 필요합니다.
  • 데이터 압축: 둘 다 데이터 크기를 줄이는 것을 목표로 하지만, 차원 축소는 특히 ML 작업과 관련된 정보를 보존하는 데 초점을 맞추기 때문에 일부 재구성 세부 정보를 버릴 수 있습니다. 표준 데이터 압축(예: ZIP 파일)은 무손실 또는 재구성을 위해 허용 가능한 손실로 저장 크기를 최소화하는 것을 목표로 하며, 반드시 ML 모델 입력에 최적화하는 것은 아닙니다.

AI 및 ML 분야의 애플리케이션

차원 축소 기능은 많은 인공지능(AI) 및 머신러닝 애플리케이션에서 필수적입니다:

  • 컴퓨터 비전(CV): 이미지에는 방대한 양의 픽셀 데이터가 포함되어 있습니다. PCA 또는 컨볼루션 신경망(CNN) 의 고유한 특징 추출과 같은 기술(다음과 같은 모델에 사용됨)이 사용됩니다. Ultralytics YOLO와 같은 모델에 사용됨)는 물체 감지나 이미지 분류와 같은 작업의 관련 패턴에 집중하여 이 차원을 줄입니다. 이렇게 하면 처리 속도가 빨라지고 모델 정확도가 향상될 수 있습니다. 데이터 전처리 가이드에는 종종 특징 처리와 관련된 단계가 포함됩니다.
  • 생물정보학: 게놈 데이터 분석에는 수천 개의 유전자 발현(특징)이 포함된 데이터 세트가 포함되는 경우가 많습니다. 차원 축소는 연구자들이 질병이나 생물학적 기능과 관련된 중요한 패턴을 식별하는 데 도움이 되며, 복잡한 생물학적 데이터를 보다 쉽게 관리할 수 있게 해줍니다. Nature Methods와 같은 저널에 발표된 연구들은 종종 이러한 기술을 활용합니다.
  • 자연어 처리(NLP): 텍스트 데이터는 TF 단어 임베딩과 같은 기술을 사용해 고차원 공간에서 표현할 수 있습니다. 차원 축소는 문서 분류, 토픽 모델링 또는 정서 분석과 같은 작업에서 이러한 표현을 단순화하는 데 도움이 됩니다.
  • 데이터 시각화: t-SNE와 같은 기술은 고차원 데이터 세트(예: 고객 세그먼트, 유전자 클러스터)를 2D 또는 3D로 플로팅하여 사람이 데이터 내의 잠재적인 구조나 관계를 시각적으로 검사하고 이해할 수 있도록 하는 데 매우 유용합니다. 이러한 분석과 관련된 데이터 세트와 모델을 관리할 수 있는 플랫폼은 Ultralytics HUB와 같은 플랫폼입니다.

혜택과 과제

혜택:

  • 계산 비용과 교육 시간을 줄입니다.
  • 메모리 및 스토리지 요구 사항을 최소화합니다.
  • 치수의 저주를 완화하고 과적합을 줄일 수 있습니다.
  • 노이즈와 중복성을 제거하여 모델 성능을 개선합니다.
  • 복잡하고 고차원적인 데이터를 시각화할 수 있습니다.

도전 과제:

  • 신중하게 적용하지 않으면 중요한 정보가 손실될 수 있습니다.
  • 적절한 기법과 목표 치수 수를 선택하는 것은 어려울 수 있습니다.
  • (특징 추출에서) 변형된 특징은 원본 특징에 비해 해석하기 어려운 경우가 있습니다.
  • t-SNE와 같은 일부 기술은 계산 비용이 많이 듭니다.

현대의 AI 개발에서 크고 복잡한 데이터 세트를 효과적으로 처리하려면 차원 축소를 이해하고 적용하는 것이 필수적입니다.

모두 보기