데이터 분석 Data Analytics/프로그래머스 데이터분석 데브코스 2기

[TIL] 데이터분석 데브코스 48일차 (4) - 비지도 학습 (Un-Supervised Learning)이 다루는 대표 문제와 해결을 위한 알고리즘

상급닌자연습생 2024. 4. 24. 23:18

비지도 학습

: 정답 레이블이 지정되지 않음 데이터로부터 패턴을 찾아내는 학습 방법론

 

  • 목표 : 주어진 데이터 내부에서 데이터의 구조, 패턴을 자동으로 탐색하는 것
  • 활용 분야 : 고객 세분화, 이상탐지, 대규모 데이터셋의 구조 파악 등
  • 장점
    • 수동으로 데이터의 정답(=레이블)을 생성할 필요가 없어 비용과 시간이 절약
    • 데이터 내부의 구조를 탐색 → (사람이 알고있는 것 이외의) 다양한 통찰
    • 다양한 데이터 유형과 복잡한 구조에도 적용 가능
       
  • 단점
    • 결과 해석이 어려움
    • 명확한 정답이 X → 모델 성능 객관화 및 평가가 어려움
    • 노이즈에 매우 민감

 

 

 

 

 

비지도 학습에서 다루는 대표 문제

1. 군집화(Clustering)

: 데이터를 비슷한 특성을 가진 하위 그룹(=클러스터)로 분할하는 과정

  • 목적 : 레이블이 없는 데이터에서 내재된 구조를 발견
  • 유사한 데이터 포인트를 그룹화하여 패턴을 이해하는 데 사용
  • 군집화한 데이터의 의미는 사람이 부여해야 함 ► 도메인 지식이 있는 전문가가 필요
  • 활용 예시 :
    • 고객들의 구매 데이터를 활용해 유사 고객 그룹 생성
    • 글을 유형별로 나눠 주제별로 분류
    • 유사한 특성을 갖는 이미지 그룹핑

 

2. 차원 축소(Dimensionality Reduction)

: 데이터의 핵심적인 특성은 유지하되, 고차원 데이터의 특성을 줄여서 더 낮은 차원의 표현으로 만드는 과정

 

  • 목적 : 데이터 시각화, 노이즈 감소, 계산 효율성 증가, 더 나은 데이터 해석 등
  • 복잡한 데이터 구조를 간소화하고, 중요 정보를 강조하는데 사용
  • 활용 예시 : 
    • 분석할 데이터의 차원을 낮춰 2차원 혹은 3차원의 그래프로 확인
    • 데이터의 주된 특성을 유지하면서 세밀하게 표현된 노이즈를 제거 

 

3. 이상 탐지 (Anomaly Detection)

: 데이터에서 비정상적인 패턴, 이상치, 또는 예외적 사례 탐지하는 과정

  • 목적 : 데이터에서 일반적으로 볼 수 있는 특성에서 많이 벗어난 데이터를 식별
  • 활용 예시 : 
    • 외국 어딘가에서 사용자 계좌에 로그인 하려는 시도를 포착
    • 충격파 그래프를 이용해 물체 혹은 건물 내부의 균열을 탐지
       

 

 

 

 

 

 

 

 

문제 해결에 활용되는 알고리즘

1. 군집화 문제 -  K-means / 계층적 군집화 / DBSCAN

K-평균 (K-means)

  • 데이터를 K개의 클러스터로 그룹화
  • 각 클러스터의 중심을 계산하고, 각 데이터 포인트를 가장 가까운 클러스터 중심에 할당하는 방식으로 작동
  • 반복적인 과정을 통해 클러스터 중심을 업데이트하며 최적화

 

계층적 군집화 (Hierarchical Clustering)

  • 데이터 포인트를 개별 클러스터로 가정하여 시작
  • 점차 유사한 클러스터를 병합하거나 큰 클러스터를 세분화하는 방식으로 진행

 

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

  • 데이터가 모여있는 밀도를 기반으로 클러스터를 형성
  • 고밀도 지역과 저밀도 지역을 이용해 군집화를 진행 → 저밀도 부분은 이상치 탐지로 활용될 수도 있음

 

 

 

 

2. 차원 축소 문제 - PCA / t-SNE / Autoencoder

주성분 분석(PCA)

  • 목표 : 정보력을 최대한 잃지 않고 차원을 축소해나가는 것
  • 데이터의 분산을 최대한 보존하는 방향의 축을 찾고, 해당 축을 기준으로 고차원 데이터를 저차원으로 변환
  • 주로 데이터의 주요 특성을 추출하고 시각화 하는 과정에서 사용

 

t-SNE

  • 고차원 데이터의 구조를 보존하면서 저차원으로 매핑하는 기법
  • 시각화 과정에서 매우 유용하게 사용

 

Autoencoder

  • 신경망(딥러닝)을 이용한 차원 축소 기법
  • 입력 데이터를 저차원으로 압축한 후, 다시 원래 차원으로 복원하는 방식으로 핵심 특징을 만들어냄

 

 

 

 

 

3. 이상 탐지 문제 - Isolation Forest / One-Class SVM / LOF

Isolation Forest (고립숲)

  • Tree를 기반으로하며 특정 데이터 포인트를 격리시키는 데 필요한 분할 수를 기준으로 이상치를 탐지
  • 이상치 데이터의 경우 더 적은 분할로 격리되는 경향이 있음을 활용

 

One-Class SVM

  • 하나의 클래스만 분류해서 그 클래스가 아니면 이상치로 판단
  • 정상 데이터만을 활용해 “정상” 이라는 class로 SVM을 학습하고, SVM이 정상 패턴에서 벗어나는 데이터를 보고 출력하는 결과를 보고 이상치를 판단

 

LOF (Local Outlier Factor)

  • 주어진 데이터 주변의 데이터 밀도를 계산
  • 정상 데이터는 주변에 높은 데이터 밀도를 갖고 있고, 이상치는 주변에 데이터가 적어 낮은 밀도를 갖고 있음을 활용