비지도학습(Unsupervised Learning)

김승혁·2023년 7월 28일
0

ML

목록 보기
9/9

비지도학습(Unsupervised Learning)

비지도학습은 라벨(정답값, y값, 종속변수)이 없다.

  • 데이터가 어떻게 구성되었는지를 알아내는 문제!
  • 인간의 개입이 없는 데이터를 스스로 학습하여

그 속의 패턴(pattern) 또는 각 데이터 간의 유사도(similarity)를 학습한다.

  • 가장 대표적으로 clustering과 dimensionality reduction이 있음

Clustering

K-means(clustering)

K-means는 사용자가 정한 K개의 클러스터로 군집을 생성하는 알고리즘!

  • 가장 일반적으로 사용되는 클러스터링 알고리즘
  • 알고리즘이 쉽고 간결하지만 효율적이어서 여전히 자주 사용
  • 중심점(centroid)라는 특정한 임의의 지점을 선택하여 해당 중심에 가장 가까운 포인트들을 선택하는 기법


1. K-means 알고리즘의 첫번째 작업은 중심점의 초기값을 설정하는 것이다. 초기값은 데이터 중에서 임의로 K개를 선택한다.
2. 각 중심점에서 가장 가까운 포인트들을 선택한다
3. 각 군집 포인트들의 평균으로 중심점을 업데이트한다.
4. 2-3번을 반복하다가 더이상 중심점 이동이 없을 경우에 중단한다.


(적정 k 클러스터링 잡는법)

Transformation

차원축소

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

  • Feature Selection : 특정 Feature에 종속성이 강한 불필요한 Feature 제거
  • Feature Extraction : 기존 Feature를 저차원의 중요 feature로 압축해서 추출하는 것

왜 차원축소를 해야 하는가

차원의 저주 ( Curse of dimension)
데이터 학습을 위한 차원(=특성,변수,피쳐)이 증가하면서 학습데이터의 수 보다 차원의 수가 많아지게 되어 모델의 성능이 떨어지는 현상.
예를 들어 데이터의 수는 500개인데 차원이 1000개라면, 모델의 복잡도는 증가하지만 성능은 떨어지게 됨.
일반적으로 차원이 커지면 -> 데이터 포인터 간의 거리가 기하급수적으로 증가
공간의 부피가 증가하고 밀도가 줄어들면 이러한 빈 공간들은 0으로 저장하게 됨(sparse한 구조)
-> 분석시간 증가, 불필요한 용량 저장, 용량 문제

PCA(주성분분석)

PCA는 여러 변수간에 존재하는 상관관계를 이용해 이를 대표하는 주성분(Principal Component)을 추출해 차원을 축소하는 기법
목표 : 정보 유실 최소화
-> 가장 높은 분산을 가지는 데이터의 축을 찾아 해당 축(주성분!)으로 차원을 축소하겠다.

  1. PCA는 제일 먼저 가장 큰 데이터 변동성을 기반으로 첫 번째 벡터 축을 생성
  2. 두 번째 축은 이 벡터 축에 직각이 되는 벡터(직교 벡터)를 축으로 생성
  3. 세 번째 축은 다시 두 번째 축과 직각이 되는 벡터를 설정하는 방식으로 축을 생성
  4. 이렇게 생성된 벡터 축에 원본 데이터를 투영하면 벡터 축의 개수 만큼의 차원으로 원본 데이터가
    차원 축소 됩니다.
profile
어떻게 오셨나요

0개의 댓글

관련 채용 정보