[ADsP] 군집분석

2023. 6. 18. 15:17·🥇 certification logbook
728x90
반응형

 

 

유사성을 측정하여 유사성이 높은 대상 집단을 분류하고, 군집에 속한 객체들의 유사성과 서로 다른 군집에 속한 객체간의 상이성을 규명하는 분석 방법

군집의 개수나 구조에 대한 가정 없이 데이터들 사이의 거리를 기준으로 군집화를 유도

 

군집 분석 요인 분석 판별 분석(유형분석)
유사 그룹 구분하여 특성 파악 (군집 끼리 비교) 유사 변수를 묶어 단순화 이미 그룹은 존재하고 새 데이터를 할당

 

거리 계산

연속형 변수인 경우

유클리디안 거리 (통계적 개념 X, 산포 고려 X, 유사성 측정, 제곱의 루트)

데이터간의 유사성을 측정할 때 많이 사용하는 거리

통계적 개념이 내포되어 있지 않아 변수들의 산포 정도가 전혀 감안되어 있지 않음

공통으로 점수를 매긴 항목의 크기를 통해 판단하는 측도

$$d(x,y) = \sqrt{(x_1-y_1)^2+...+(x_p-y_p)^2} = \sqrt{(x-y)'(x-y)}$$

 

마할라노비스 거리 (통계적 개념 포함, 산포 고려)

통계적 개념이 포함된 거리

변수들의 산포를 고려하여 이를 표준화한 거리(표준화와 변수 간의 상관성을 동시에 고려)

두 벡터 사이의 거리를 산포를 의미하는 표본공분산으로 나눠주어야 하며, 그룹에 대한 사전 지식 없이는 표본공분산S를 계산할 수 없으므로 사용하기 곤란

$$d(x,y) = \sqrt{(x-y)'S^{-1}(x-y)}, S=(S_{ij}) 공분산행렬$$

 

맨하탄 거리 (절대값)

유클리디안 거리와 함께 가장 많이 사용되는 거리

$$d(x,y) = \sum{|x_i-y_i|}$$

 

민코우스키 거리 (맨하탄 + 유클리디안)

맨하탄 거리와 유클리디안 거리를 한번에 표현한 공식

L1 거리(맨하탄거리), L2(유클리디안거리) 거리라 불림

$$d(x,y) = (\sum{|x_i-y_i|^m})^{1/m}$$

 

표준화 거리

표준편차로 척도 변환한 후 유클리드안 거리를 계산하는 방법

척도의 차이, 분산의 차이로 인한 왜곡을 피할 수 있음

$$d(x,y) = \sqrt{(x-y)'D^{-1}(x-y)}, D=diag(s_{11},...,s_{pp})$$

 

체비셰프 거리

$$d(x,y) = max_i|x_i-y_i|$$

 

캔버라 거리

$$d(x,y) = \sum{|x_i-y_i|\over(x_i+y_i)}$$

 

범주형 변수인 경우

자카드 거리

Boolean 속성으로 이루어진 두 객체 간의 유사도 측정에 사용

$$1-J(A,B)={|A\bigcup B|-|A\bigcap B| \over |A\bigcup B|}$$

 

자카드 계수

$$J(A,B)={|A\bigcap B| \over |A\bigcup B|}$$

 

코사인 거리

두 단위 벡터의 내적을 이용하여 단위 벡터의 내각의 크기로 유사도 측정

$$d_{cos}(A,B)=1-{A*B \over ||A||_2*||B||_2}$$

 

코사인 유사도

A와 B의 크기가 아닌 방향성(벡터의 방향성)을 측정하는 지표. 방향이 일치하면 1, 다른 방향이면 -1

$$cosine similarity={A*B \over ||A||_2*||B||_2}={A_0*B_0+..+A_n*B_n\over \sqrt{A_0^2+..+A_n^2}*\sqrt{B_0^2+..+B_n^2}}$$

 


군집화

덴드로그램

거리행렬을 통해 가장 가까운 거리의 객체들간의 관계를 규명하고 덴드로그램을 그림

덴드로그램을 보고 적절한 군집수를 선정(대부분 5개 이상의 군집은 잘 활용하지 않음)


 

계층적 군집분석 (군집개수 미리 지정 X)

n개의 군집으로 시작해 군집의 개수를 줄여 나가는 방법

군집을 형성하는 방법에는 합병형 방법(bottom-up), 분리형 방법(top-down)이 있음

 

최단연결법(단순연결법)

거리가 가장 가까운 데이터를 묶어서 군집 형성,사슬 모양의 군집이 생길 수 있음

최단거리를 거리로 계산하여 거리행렬을 수정하는 방법

hclust(dist_mat, method = "single")

 

최장연결법(완전연결법)

군집들의 내부 응집성에 중점을 둔 방법

최장거리를 거리로 계산하여 거리행렬을 수정하는 방법

hclust(dist_mat, method = "complete")

 

평균연결법

평균을 거리로 계산하여 거리행렬을 수정하는 방법

계산량이 불필요하게 많아질 수 있음

hclust(dist_mat, method = "average")

 

와드연결법

편차들의 제곱합(오차 제곱합)을 고려한 방법

손실을 최소화 하기 위해 군집화를 진행

크기가 비슷한 군집끼리 병합하게 되는 경향이 있음

hclust(dist_mat, method = "ward.D2")

 

중심연결법

hclust(dist_mat, method = "centroid")


 

비계층적 군집분석 (군집개수 미리 정함)

n개의 개체를 g개의 군집으로 나눌 수 있는 모든 방법을 점검해 최적화한 군집을 형성하는 것

 

K-평균 군집분석 (집단 내 제곱합 그래프 필요)

k개의 클러스터로 묶는 알고리즘

각 클러스터와 거리 차이의 분산(초기 중심으로부터 오차 제곱합)을 최소화 하는 방식으로 동작(집단 내 제곱합 그래프 필요)

 

과정

원하는 군집의 개수와 seed(초기값)들을 정해 seed 중심으로 군집 형성 → 가장 가까운 seed가 있는 군집으로 분류 → 각 군집의 seed 값을 다시 계산

 

특징

연속형 변수에 활용 가능

초기 중심값은 임의로 선택 가능 (가급적이면 멀리 떨어진 값이 바람직)

초기 중심값의 선정에 따라 결과가 달라질 수 있음

탐욕적(greedy) 알고리즘이므로 안정된 군집은 보장하나 최적이라는 보장은 없음

 

장점

알고리즘 단순, 빠름

계층적 군집분석보다 많은 양 데이터 컨트롤 가능

내부 구조에 대한 사전정보가 없어도 의미있는 자료구조 찾기 가능

다양한 형태의 데이터에 적용 가능

 

단점

군집의 수, 가중치와 거리 정의가 어려움

사전 목적이 없으니 결과 해석이 어려움

잡음, 이상값의 영향을 많이 받음

볼록한 형태가 아닌 군집이 존재할 경우 성능이 떨어짐

초기 군집수 결정 어려움

 

PAM, k-medoids (k-중앙값) 군집

이상값 자료에 민감한 k-평균 군집의 단점을 보완하기 위해 군집을 형성하는 매 단계마다 평균 대신 중앙값을 사용하는 방식

 

밀도 기반 기법 (DBSCAN)

비계층적 군집분석 알고리즘 이지만, 군집의 수를 미리 정할 필요가 없고 이상치에 강함

비선형적인 데이터에도 적용이 가능

그러나 파라미터 설정 (하이퍼파라미터) 에 따라 군집화 결과가 크게 달라질 수 있으며, 데이터가 밀도가 낮은 영역에 있는 경우 군집화가 어려울 수 있음.


 

혼합 분포 군집

모형 기반의 군집 방법

k개의 모수적 모형(정규분포 또는 다변량 정규분포를 가정)의 가중합으로 표현되는 모집단 모형으로부터 나왔다는 가정하에 모수와 가중치를 자료로부터 추정하는 방법 사용

k개의 각 모형은 군집을 의미. 각 데이터는 어느 모형으로부터 나왔을 확률이 높은지에 따라 군집의 분류가 이루어짐

모수와 가중치의 추정에 EM 알고리즘 사용

EM(Expectation-Maximization) 알고리즘

E단계

잠재변수 Z의 기대치 계산

잠재변수 Z의 조건부 분포로부터 조건부 기댓값을 구할 수 있음

M단계

잠재변수 Z의 기대치를 이용하여 파라미터를 추정

관측변수 X와 잠재변수 Z를 포함하는 (X,Z)에 대한 로그-가능도함수에 Z 대신 상수값인 Z의 조건부 기댓값을 대입하면 로그-가능도함수를 최대로 하는 모수를 쉽게 찾을 수 있음

 

→ 위 과정을 반복하면 수렴하는 값을 얻게되고, 이는 최대 가능도 추정치로 사용될 수 있음

 

특징

확률분포를 도입하여 군집 수행

군집을 몇 개의 모수로 표현 가능, 서로 다른 크기나 모양의 군집을 찾을 수 있음

데이터가 커지면 수렴에 시간이 걸릴 수 있음

군집의 크기가 너무 작으면 추정의 정도가 떨어지거나 어려울 수 있음

이상치 자료에 민감하므로 사전 조치 필요


 

평가지표

실루엣(Silhouette) 지수 (군집의 밀집 정도 계산, 군집 분할의 성과 평가)

각각의 데이터가 해당 데이터와 같은 군집 내의 데이터와는 얼마나 가깝게 군집화가 되었고, 다른 군집에 있는 데이터와는 얼마나 멀리 분포되어 있는지를 나타내는 지표

실루엣 계수가 가질 수 있는 값은 -1~1 (1에 가까울수록 군집화가 잘 되었음을 의미)

 

728x90
반응형

'🥇 certification logbook' 카테고리의 다른 글

[Coursera/IBM course #1] 데이터 사이언티스트 (data scientist) vs AI 엔지니어 (AI engineer)  (0) 2025.05.03
[Coursera/IBM course #1] 머신러닝이란 무엇인가  (0) 2025.05.02
[Coursera/IBM] IBM AI Engineering PC 및 Machine Learning with Python 코스 소개  (1) 2025.04.30
빅데이터분석기사 (빅분기) 실기 총 정리 / 시험 시작 전 확인  (0) 2023.12.19
[python 통계분석] 교차분석(카이제곱 검정)  (0) 2023.06.18
[python 통계분석] t-test 검정  (0) 2023.06.18
[python 데이터 전처리] 데이터 스케일링 (data scaling)  (0) 2023.06.15
[python 데이터 핸들링] 판다스 연습 튜토리얼 - 07_Merge , Concat  (0) 2023.06.15
'🥇 certification logbook' 카테고리의 다른 글
  • [Coursera/IBM] IBM AI Engineering PC 및 Machine Learning with Python 코스 소개
  • 빅데이터분석기사 (빅분기) 실기 총 정리 / 시험 시작 전 확인
  • [python 통계분석] 교차분석(카이제곱 검정)
  • [python 통계분석] t-test 검정
이소야
이소야
✔ 공부 기록 ٩(๑•̀o•́๑)و
  • 이소야
    I study SO
    이소야
    ✔ 공부 기록 ٩(๑•̀o•́๑)و
  • 전체
    오늘
    어제
    • 분류 전체보기 (216) N
      • 🤖 ai logbook (39)
      • 💻 developers logbook (1)
      • 🥇 certification logbook (66) N
      • ⚖️ legal logbook (108)
      • ⚡ electronics logbook (1)
      • 🌍 english logbook (0)
      • 🎁 etc (1)
  • 최근 글

  • 인기 글

  • 태그

    데이터분석준전문가
    형법
    민법
    온라인 강의 추천
    ADsP
    근로기준법
    법학과
    방통대
    deeplearning
    IBM
    머신러닝
    Python
    자격증
    빅데이터분석기사
    인공지능 입문
    datascience
    Coursera
    certificate
    기본권의기초이론
    데이터사이언스 입문
  • hELLO· Designed By정상우.v4.10.3
이소야
[ADsP] 군집분석
상단으로

티스토리툴바