YJ.log
로그인
YJ.log
로그인
[BDA 데이터분석모델링반(ML1)] 7주차 K-means Clustering
YJ
·
2024년 11월 30일
팔로우
0
BDA
데이터 분석
머신러닝
0
BDA 데이터분석모델링반(ML1)
목록 보기
7/7
K-Means Clustering
데이터를 몇 개의 클러스터로 나누는 비지도 학습 알고리즘
특징
거리 기반 알고리즘
으로, 데이터 간의 거리(유사성)를 계산하여 클러스터 형성
데이터 스케일링(정규화) 필수
유사성이 높은 데이터는 같은 클러스터로, 유사성이 낮은 데이터는 다른 클러스터로 할당
알고리즘 순서
로이드 알고리즘
(Lloyd's Algorithm)
초기 클러스터 중심(K개의 중심) 설정
데이터에서 K개의 중심을 무작위로 선택한다.
거리 계산
각 데이터 포인트와 모든 클러스터 중심 간의 거리를 계산한다.
주로
유클리드 거리
사용한다.
클러스터 할당
:
각 데이터 포인트를 가장 가까운 클러스터 중심에 할당한다.
중심 업데이트
:
각 클러스터의 데이터 평균을 계산하여 새로운 클러스터 중심으로 설정한다.
반복
클러스터 할당과 중심 업데이트를 반복하여 클러스터 중심이 더 이상 변화하지 않을 때까지 수행한다.
엘칸 알고리즘 (Elkan's Algorithm)
K-means의 계산 효율성을 높인 최적화 버전으로, 불필요한 거리 계산을 줄이는데 초점을 둔다.
삼각 부등식
을 활용하여, 데이터 포인트와 클러스터 중심 간 거리를 계산하지 않아도 되는 경우를 효율적으로 판별한다.
각 클러스터 중심 간의 거리를 계산하여 저장한다.
삼각 부등식을 사용해 데이터 포인트와 클러스터 중심 간 거리를 계산하지 않아도 되는 상황을 식별한다.
예: 데이터가 이전 클러스터 중심에 더 가깝다고 보장되면 다른 중심과의 거리 계산을 생략
나머지는 로이드 알고리즘과 동일하게 작동한다.
K개의 중심 초기화 방법
랜덤 초기화
가장 기본적인 방법으로, 데이터를 무작위로 선택해 중심으로 설정
간단하지만, 부적절한 초기화로 지역 최적값에 빠질 가능성이 있다.
K-means++
효율적인 초기화 방법으로, 클러스터 중심이 서로 멀리 떨어진 위치에서 시작하도록 설정
첫번째 중심을 랜덤으로 선택한 후, 남은 중심들은 기존 중심들로부터 가장 멀리 떨어진 데이터 포인트를 선택한다.
수렴 속도 향상과 성능 개선 효과를 가진다.
K-means의 한계
위의 그림은 k-means의 목적함수를 나타낸다.
한계
초기화에 민감
: k-means는 초기화 방식에 따라 최종 결과가 달라질 수있다. (지역 최적값에 수렴하는 알고리즘임)
클러스터 개수 k의 사전 설정
: 클러스터 개수 k를 사전에 설정해야한다. k를 잘못설정하면, 실제 데이터 구조를 반영하지 못할 수 있다.
이상치에 민감
: 클러스터 중심과의 거리의 제곱합을 최소화 시키는 거리기반 알고리즘으로 이상치에 민감하다.
계산량 증가
: 모든 데이터 포인트와 모든 클러스터 중심 간 거리를 반복적으로 계산하므로 데이터셋 크기가 커질수록 계산량이 크게 증가한다.
클러스터 내부거리만 고려
: 목적함수가 클러스터 내부 거리만 고려하므로 클러스터 간의 거리를 고려하지 않는다. 서로다른 클러스터가 가까이 위치한다면 경계가 불명확해질 수 있다.
K-means 장단점
장점
알고리즘이 간단하고 큰 데이터에도 손쉽게 사용가능
단점 (목
적 함수 한계와 연관)
연속형 변수에 가장 최적화 되어 있다.
결과가 초기에 지정한 클러스터 중심의 위치에 따라 달라질 수있어 반복이 필요하다.
클러스터의 개수 지정이 필요하다.
이상치에도 민감하다.
구형의 또는 비선형 구조를 클러스터링 할때는 성능이 떨어진다.
K 설정 및 군집 평가
K 설정
비즈니스 도메인 지식 확인이 필요하다.
faeture 자체에 대해 어떤 데이터 패턴을 보이는지 시각화를 통해 미리 확인해보아야한다.
차원축소, 다른 군집화를 사용
Elbow method
최적의 클러스터 개수(K)를 설정하기 위한 방법으로,거리 제곱합(J)을 가지고 클러스터의 품질과 최적의 K를 결정한다.
원리
K를 증가면 내부 포인트 간의 평균 거리가 줄어들어 J값이 감소한다.
K를 계속 증가시키면,
J값의 감소 폭이 줄어드는 지점
이 생긴다. 이를
Elbow Point
라고 하며,
최적의 클러스터 개수로 간주
한다.
군집 평가
외부 평가
클러스터링 결과를 참조 레이블(Groud Truth)와 비교하여 평가하는 방식이다.
레이블이 이미 있는 지도 학습용 데이터셋이 필요하다.
방법
Rand index (RI)
데이터 포인트 간의 쌍을 기준으로, 투 클러스터링 결과가 얼마나 일치하는지를 계산
데이터 포인트 쌍이
같은 클러스터
에 있는 경우,
다른 클러스터
에 있는 경우의 일치 여부를 통해 계산
수식
분모는 전체 데이터 쌍의 수로 nC2로 계산됨
TP (True Positive)
: 참조와 평가에서 모두 같은 클러스터에 속한 데이터 쌍
TN (True Negative)
: 참조와 평가에서 모두 다른 클러스터에 속한 데이터 쌍
FP (False Positive)
: 참조에서는 다른 클러스터, 평가에서는 같은 클러스터에 속한 데이터 쌍
FN (False Negative)
: 참조에서는 같은 클러스터, 평가에서는 다른 클러스터에 속한 데이터 쌍
Adjusted Rand Index (ARI)
Rand Index를 확장하여, 두 클러스터링 간의 일치도를 측정하면서 무작위로 생성된 클러스터링 결과에서도 일관된 점수를 부여하도록 보정된 지표
수식
RI :
Rand Index
E[RI] (Expected Rand Index) : 데이터를 무작위로 클러스터에 배정했을 때 예상되는
Rand Index
Max(RI) : Rand Index의 최대값으로 이론적으로 1로 계산된다.
내부 평가
참조 레이블 없이, 클러스터링 자체의 품질을 평가하는 방식이다.
클러스터링 결과만으로 평가가 가능하다.
실루엣 계수(Silhouette coefficient)
클러스터 내부의 응집도와 클러스터 간의 분리도를 동시에 평가하는 지표이다.
각 데이터 포인트가 자신이 속한 클러스터에
얼마나 잘 속해 있는지(응집도)
를 측정하고, 동시에 다른 클러스터와
얼마나 잘 분리되어 있는지(분리도)
를 평가한다.
YJ
제 글이 유익하셨다면 ♡와 팔로우로 응원 부탁드립니다.
팔로우
이전 포스트
[BDA 데이터분석모델링반(ML1)] 6주차 KNN 알고리즘 실습
0개의 댓글
댓글 작성
관련 채용 정보