사실 이번 미션은 새롭게 더 찾아볼 내용이 많이 없었는데, k-평균 알고리즘을 혼공머신보다 쉽게 설명한 책이 없었기 때문이다.
기본미션
주차 | 진도 | 기본 미션 |
5주차 | Chapter 06 | k-평균 알고리즘 작동방식 설명하기 |
먼저 이 알고리즘에 대해 설명하기 전에 k-평균 군집분석 개념부터 살펴보자.
k-평균 군집(k-means clustering)이란?
데이터를 주어진 클러스터 k개로 각 개체를 가까운 초기값에 할당하여 클러스터를 형성한다.
그리고 각 클러스터의 평균을 계산하여 중심을 갱신하는 과정을 통해 전체 데이터셋을 상대적으로 유사한 k개의 최종 클러스터로 형성하는 분석 방법이다.
k-평균 알고리즘 작동 방식
작동방식은 다음과 같다.
① 데이터 개체 내 임의로 k개의 클러스터의 중심을 정한다.
② 모든 관측값을 평균과 연관시켜 가장 가까운 군집으로 할당한다.
③ 각 클러스터 내 새로운 평균이 각 클러스터의 중심이 된다.
④ 클러스터 중심의 변화가 거의 없을 때까지 2, 3단계를 반복한다.
① k-평균 알고리즘에서 클러스터 수인 k는 미리 정해 주어야 한다.
k 개의 초기 중심값은 자료값 중에서 임의로 선택이 가능하나, 가급적 멀리 떨어져 있는 것이 바람직하다. 초기 중심값의 선정에 따라 군집 결과가 크게 달라질 수 있다.
② 중심값을 기준으로 관측값과 비교하여 가장 가까운 k개의 군집으로 할당한다.
이 때, 적정 클러스터의 수를 정하는 방법으로 k=1부터 임의 k까지를 지정하고 군집 내 동질성과 이질성을 측정한다. 여기서 클러스터 수(k)를 늘려가면서 동질성의 증가와 이질성의 감소 기울기의 절감지점인 엘보우(elbow) 값을 찾는 방법을 사용할 수 있다.
③ 각 클러스터의 새로운 평균이 다시 k의 중심값이 된다.
추가로, k-평균 알고리즘은 매 단계마다 클러스터를 중심으로부터 오차제곱합(Sum of Square for Error, SSE)을 최소화하는 방향으로 클러스터를 형성해나가는 탐욕적(greedy) 알고리즘으로 간주될 수 있으며, 안정된 클러스터는 보장하나 전체적으로 최적값을 보장하지 못한다.
④ 군집 중심의 변화가 거의 없을 때까지 2,3 단계를 반복한다.
k-평균 알고리즘의 장·단점 비교
장점
- 알고리즘이 단순하며, 빠르게 수행되어 기법 적용이 용이하다.
- 계층적 군집보다 많은 양의 자료를 다룰 수 있다.
- 개체들 간의 거리 측정과 클러스터 수(k), 초기 중심점만 주어지면 바로 분석을 적용할 수 있다.
- 기법의 역사가 길어서 다양한 프로그래밍 언어에서 사용할 수 있다.
- 다양한 형태의 데이터에 적용 가능하다.
단점
- 임의 초기점(중심점) 할당으로 인해 최적의 군집을 차지 못할 수도 있다.
- 초기 클러스터 수(k)에 대한 임의 판단이 필요하다.
- 연속형 변수의 거리 측정만 다룰 수 있다.
- 잡음(노이즈)이나 이상값에 영향을 많이 받는다.
- 블록한 형태가 아닌(non-convex) 군집이 존재할 경우 성능이 떨어진다.
- 사전에 주어진 목적이 없으므로 결과 해석이 어렵다.
References
https://hleecaster.com/ml-kmeans-clustering-concept/
https://zephyrus1111.tistory.com/179
장원중, 이정인, 『데이터 분석의 모든 것』, 아이리포, 388~9p
** 사실과 다른 내용이 있을 수 있습니다. 언제든지 피드백 부탁드립니다!
'스터디 > 혼공학습단 10기 - 자바 & 머신러닝' 카테고리의 다른 글
[혼공학습단] 딥러닝의 세계로 들어가보자 (0) | 2023.08.15 |
---|---|
[혼공학습단] 차원의 저주를 풀기 위한 주성분 분석(PCA) (0) | 2023.08.12 |
[혼공학습단 ] HashMap으로 Map컬렉션을 이해하기 (0) | 2023.08.12 |
[혼공학습단] 파이썬과 비교해보는 자바의 컬렉션 프레임워크 (0) | 2023.08.07 |
[혼공학습단] 자바의 컬렉션 프레임워크 들어가기 앞서... (0) | 2023.08.06 |
댓글