카테고리 없음

7주차 TIL - ML 마스터 클래스의 마지막

게임취업하고싶은 사람 2025. 2. 4. 20:43

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

💡 왜 필요한가? (K-means의 한계)

  • K-means는 군집을 원형(Spherical)으로 가정 → 복잡한 형태의 군집(강처럼 구불구불한 군집 등)은 잘 분류하지 못함.
  • 모든 클러스터 크기가 비슷하다고 가정 → 실제 데이터에서는 밀도가 다양한 군집이 존재.
  • 모든 데이터가 군집에 포함되어야 함 → 이상치(Outlier)를 처리하는 기능이 부족함.

➡ 해결책: DBSCAN
→ 밀도 기반 접근법으로 데이터가 밀집된 영역을 군집으로 인식하고, 밀도가 낮은 영역을 노이즈(이상치)로 간주하는 방식.


🔹 2. DBSCAN 작동 원리

DBSCAN의 주요 개념:

  • epsilon (ε): "이웃"을 정의하는 반경(거리).
  • minPoints: 핵심 포인트(Core Point)가 되기 위한 최소한의 이웃 수.

🔎 데이터 포인트 분류

  1. 핵심 포인트(Core Point): 반경 ε 내에 최소 minPoints 이상의 데이터가 존재하는 포인트.
  2. 경계 포인트(Border Point): 핵심 포인트의 이웃이지만 핵심 포인트의 기준(minPoints)을 만족하지 않는 포인트.
  3. 잡음 포인트(Noise Point): 위 두 조건을 만족하지 않는 포인트 → 노이즈(이상치)로 분류됨.

🔹 3. DBSCAN vs K-means 비교

알고리즘K-meansDBSCAN

기본 원리 중심점(Centroid) 기반 밀도(Density) 기반
필요한 파라미터 K (군집 개수) ε (반경), minPoints (최소 이웃 수)
군집 모양 원형으로 제한됨 어떤 모양이든 가능
군집 크기 비교적 균일한 크기 다양한 크기 허용
이상치 처리 모든 점을 군집에 포함해야 함 노이즈 포인트로 분류 가능
확장성 대규모 데이터셋에 효율적 대규모 데이터에서 계산 비용 증가
결과 일관성 초기값에 따라 달라짐 파라미터가 같으면 항상 동일한 결과

🔹 DBSCAN이 적합한 경우

  • 데이터가 비선형적인 군집 구조를 가질 때.
  • 밀도가 서로 다른 군집을 찾을 때.
  • 이상치가 많은 데이터를 다룰 때.

🔹 4. PCA (Principal Component Analysis, 주성분 분석)

💡 PCA의 필요성

  1. 차원의 저주 (Curse of Dimensionality)
    • 데이터 차원이 증가할수록 분석이 어려워짐 → 필요없는 차원을 제거할 필요가 있음.
  2. 다중공선성 문제 (Multicollinearity)
    • 독립 변수들 간 상관관계가 높은 경우 → 모델 해석이 어려움.

➡ 해결책: PCA
데이터의 변동성(정보)을 최대한 보존하면서 더 적은 수의 변수(주성분)로 표현하는 차원 축소 기법.


🔹 5. PCA 개념

📌 PCA를 여행 가방 싸기로 이해해보자! 🎒

  1. 가장 중요한 물건 먼저 선택 → 데이터에서 가장 중요한 특징(주성분, Principal Component) 찾기
  2. 짐을 효율적으로 정리 → 데이터를 주성분 축으로 변환
  3. 가방이 너무 무거우면 불필요한 물건 제거중요한 주성분 몇 개만 선택

🔹 6. PCA 주요 개념

  • 공분산(Covariance)
    → 두 변수가 어떻게 함께 변화하는지를 측정.
    • 양의 공분산: 두 변수가 같은 방향으로 변화
    • 음의 공분산: 한 변수가 증가할 때 다른 변수는 감소
  • 고유값(Eigenvalue) & 고유벡터(Eigenvector)
    • 고유벡터: 데이터의 주요 방향(주성분).
    • 고유값: 각 방향(주성분)의 중요도를 나타냄.
  • PCA 변환 과정
    1. 평균 중심화 (Centering): 평균을 빼서 데이터의 절대적인 크기를 제거.
    2. 공분산 행렬 계산: 변수 간의 관계를 분석.
    3. 고유값 & 고유벡터 계산: 주성분을 찾기 위해.
    4. 차원 선택: 가장 큰 고유값을 가진 몇 개의 주성분만 선택.

📌 PCA에서는 왜 상관계수가 아닌 공분산을 사용할까?
→ 공분산은 데이터의 실제 변동성을 보존하지만, 상관계수는 단위를 고려하지 않기 때문.


🔹 7. 핵심 요약

  1. DBSCAN(밀도 기반 군집화)
    • K-means의 한계를 보완한 알고리즘.
    • 밀도가 높은 영역을 군집으로 설정하고, 밀도가 낮은 영역은 노이즈(이상치)로 분류.
    • 다양한 모양과 크기의 군집을 찾을 수 있음.
  2. PCA(주성분 분석)
    • 차원의 저주 해결 & 다중공선성 문제 해결.
    • 데이터를 주성분으로 변환해 정보 손실 없이 차원을 축소.
    • 공분산 행렬을 이용해 고유값, 고유벡터를 계산하여 주성분을 선택.

📌 정리하면?
✅ 군집화할 때는 DBSCAN(K-means의 한계 보완)
✅ 차원을 줄이고 싶다면 PCA(중요한 정보만 유지하면서 차원 축소)

👉 실제 데이터를 다룰 때, 데이터 구조와 분석 목표에 맞춰 적절한 알고리즘을 선택하는 것이 중요합니다! 🚀