본문 바로가기
AI/데이터 사이언스

머신러닝의 개요와 클러스트링

by 남오공 2022. 2. 9.
728x90

머신러닝의 개요

지도 학습

  • 답이 있는것(target, label 이라고 하는 것이 있는경우)
  • 분류 모델: 카테고리컬 데이터를 예측
  • 회귀 모델:뉴메릭 데이터(연속적인 데이터)를 결과를 예측

비지도 학습

  • 답이 없는것(target, label)이라고 하는 것이 없는 경우
  • 차원축소 : 높은 차원의 데이터를 선택 추출하여 차원을 줄이는 것
     ex PCA
  • 군집화(Clustering) 
  • 연관 규칙 학습(Association Rule Learning) 데이터셋의 feature들의 관계를 발견하는 방법
    ex) 장바구니 분석
  • 강화 학습 : 좋은 행동에는 보상, 그렇지 않은 행동에는 처벌이라는 피드백을 머신러닝에 부여
    ex) 가중치로 학습

군집화 (Clustering) 이란?

  • 대표적인 비지도학습 알고리즘이다.
  • 데이터 셋을 요약과 정리하는 용도로 사용하는데 좋다.
  • 각 데이터의 유사성을 측정하여 데이터를 다수의 군집으로 나누고 상이성을 확인하는 분석이다
  • 데이터 속에 다수의 군집이 존재한다고 생각하고(군집이 몇 개가 나오는게 좋을지 모름)
    분석을 시도하며 군집이 단 하나만 나올수도 있다
  • 군집들이 어떻게 묶이는 지는 사용하는 알고리즘에 의해 나눠진다 
  • 분류(Classification)는 새로들어오는 데이터를 어디로 넣을 것인가를 판단하는 것이다.

 

데이터가 비슷한걸 모은다는게 군집이라고 하는데 데이터가 비슷한지는 어떻게 아는걸까?

유클리디안(Euclidean) : 두 점사이의 거리를 계산하여 유사도를 구하는 방법이다. 

 

 

 

클러스트링이 잘 되었다?

  • 클러스트링 내부에 있는 데이터 간의  유사성이 높다
  • 클러스트링 내부에 있는 데이터 간의 거리가 가깝다
  • 클러스터링 내부에 있는 데이터 간의 거리의 합이 작을 수 록 좋다.

 


 

 

계층적 군집화 (hiearchical clustering) or 연속적 분할 군집화

  • 하나의 군집이 다른 하위 군집을 갖도록 군집을 만드는 방법이다.
  • Agglomerative: bottom-up (작은 개별 클러스트링 -> 큰 묶음의 클러스터링)
  • Divisive: top-down(한개의 큰 클러스터링 -> 작은 개별 클러스터링으로 분화)
  • 군집은 데이터들을 합쳐가는 방또는 나눠가는 밥업으로 만들게 되며 연결(linkage)를 기준으로 판단한다.

 


Point Assignment

시작할 떄 몇개의 클러스터링을 진행할지 정하는 것 -> k means

 

K-means clustering

k: 군집의 수 

means: 각 클러스터링의 중심점을 평균을 활용해서 구하겠다는 의미

 

k means 클러스터링의 진행과정 

  1. k개의 랜덤한 데이터를 cluster의 중심점으로 설정,
    ex 100개의 데이터가 있는데 3개의 랜덤으로 뽑아서 군집을 해 
  2. 해당 클러스터에 근접해있는 데이터를 클러스터로 할당
    ex 나머지 97개 데이터를 3개중에 가장 가까운 클러스트에 할당
  3. 변경된 클러스터에 대해서 중심점을 새로 계산
    ex 클러스터마다 중심점을 평균으로 구함
  4. 클러스터에 유의미한 변화가 없을떄 까지 2~3을 반복

(클러스트링할 데이터의 주제를 결정하고 , 얼마나 많은 클러스트를 만들지 고민하고 ,데이터를 준비하고 클러스트링을 수행할 알고리즘을 선택한다.)

 


 

Hard vs Soft Clustering

hard: 특정 데이터는 하나의 클러스터링에만 속함 

soft: 특정 데이터는 여러 클러스터링에 속함 

댓글