본문 바로가기
Data Analytics/MachineLearning

[ML] 비지도학습(Unsupervised Learning)의 종류 알아보기 / 군집화, 차원축소, 연관규칙

by Istj_eff 2022. 11. 8.

1. 비지도학습(Unsupervised Learning)

  • 클러스터링/군집화(Clustering), 차원축소(Dimensionality Reduction), 연관 규칙(Association Rules)으로 구분

 

군집화는 공간상에서 서로 가깝고 유사한 데이터를 클러스터로 그룹화 (유사성, 거리로 구분)

차원축소는 고차원의 데이터에 대해서 너무 많은 정보를 잃지 않으면서 데이터를 고차원→ 저차원으로 축소시키는 방법 (데이터 손실없이 얼마나 차원축소를 하느냐가 중요)

연관 규칙은 데이터에서 특성 간의 연관성이 있는 흥미로운 규칙을 찾는 방법


2. 비지도 학습 알고리즘

1. 군집화(Clustering ; 클러스터링)

1-1. K-Means

: 데이터를 평균을 활용하여 K개의 군집(Cluster)으로 묶는(Clusting) 알고리즘이다.

 

1-2. DBSCAN

 

1-3. 계층 군집 분석(HCA, Hierarchical Clustering)

: KNN 알고리즘과 동일한 거리 기반 모델로, 거리가 가까운 관측치들은 비슷한 특징을 가질 것이라는 전체하에 클러스터링을 수행. (예측목적이 아니라 데이터 축소 목적)

 

  • 이상치 탐지(Outlier Detection), 특이값 탐지(Novelty Detection) : 보통 신용카드소비자가 기존 소비패턴을 벗어난 소비형태를 하거나, 국내 사용자가 갑자기 해외소비기록이 뜰때 사용한다.
  • 군집화 용도
    • 데이터에 내재된 구조 추정
    • 데이터의 전반적 구조 통찰
    • 가설 설정과 이상치(anomaly, outlier)감지
    • 데이터 전처리(preprocessing) 작업

2. 차원축소(Dimensionality Reduction)

: 매우 많은 피처로 구성된 다차원 데이터 세트의 차원을 축소해 새로운 차원의 데이터 세트를 생성하는 것

  • 피처 선택 : 특정 피처에 종속성이 강한 불필요한 피처는 아예 제거하는 것
    • 장점은 선택한 피처의 해석이 용이하다는 점
    • 단점은 피처간 상관관계를 고려하기 어렵다는 점
  • 피처 추출 : 기존 피처를 저차원의 중요 피처로 압축해서 추출하는 것
    • 장점은 피처 간 상관관계를 고려하기 용이하고 피처의 개수를 많이 줄일 수 있다는 점이
    • 단점은 추출된 변수의 해석이 어렵다는 점

 

2-1. 주성분 분석(PCA ;Principle Component Analysis)

  • 가장 대표적인 차원축소 기법
  • 상관관계를 이용해서 이를 대표하는 주성분을 찾아내 차원을 축소하여, 주성분은 손상시키지 않고 축소
  • PCA 기법의 핵심은 데이터를 축에 사영했을 때 가장 높은 분산을 가지는 데이터의 축을 찾아 그 축으로 차원을 축소하는 것인데, 이 축을 주성분이라고 한다.
    • 높은 분산을 갖는 축을 찾는 이유는 정보의 손실을 최소화 하기 위해서이다.
    • 사영했을 때 분산이 크다는 것 원래 데이터의 분포를 잘 설명할 수 있다는 것을 뜻하고 정보의 손실을 최소화 할 수 있다는 뜻
  • KPCA(커널 PCA) : PCA, SVM에서 사용되는 커널(Kernel)기법은 비선형함수인 커널함수를 이용하여 비선형 데이터를 고차원 공간으로 매핑하는 기법이다.
  • T-SNE(T-Distributed Stochastic Neighbor Embedding) : 시각화에서도 많이 사용하는 기법으로 높은 차원의 복잡한 데이터를 2차원으로 축소하는 기법이다.

 

2-2. LDA(Linear Discriminant Analysis)

  • LDA는 선형 판별 분석법으로 불리며 PCA와 매우 유사하다.
  • LDA는 PCA와 유사하게 입력 데이터 세트를 저차원 공간에 투영해 차원을 축소하는 기법이지만, 중요한 차이는 LDA는 지도학습의 분류에서 사용하기 쉽도록 개별 클래스를 분별할 수 있는 기준을 최대한 유지하면서 차원을 축소한다.
  • PCA는 입력 데이터의 변동성(분산)이 가장 큰 축을 찾았지만,
    LDA는 입력 데이터의 결정 값 클래스를 최대한으로 분리할 수 있는 축을 찾는다.
  • 순서
    1. 클래스 내부와 클래스 간 분산 행렬을 구한다.
    2. 클래스 내부 분산 행렬의 역치 행렬과 클래스 간 분산 행렬의 곱을 분해하여 고유벡터와 고유값을 구한다.
    3. 고유값이 가장 큰 순으로 K개 추출
    4. 추출된 고유벡터를 이용해 입력 데이터를 선형 변환한다.

3. 연관규칙(Association Rule Learning)

3-1.Apriori

 

3-2. Eclat

  • "맥주를 구매하는 고객들은 기저귀를 구매할 가능성이 높다." 예시도 연관규칙 탐색을 통해 도출된 결론임

댓글