강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

K MJ님의 프로필 이미지
K MJ

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

사이킷런을 이용한 GMM 군집화 실습

K-means의 중심점

작성

·

393

0

K-means 중심점을 클러스터의 개수와 같이 생성하고 시작하는데 K-means 알고리즘을 진행하는데 맨 처음에 중심점은 어떤 기준으로 생성되는 건가요?

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

최초에 중심점을 생성하는 방법은 random과 k-means++가 있으며 default로 k-means++입니다.

KMeans(init='k-means++') 와 같이 설정합니다.

random은 말 그대로 random하게 중심점을 생성합니다(원래 kmeans는 random하게 중심점을 생성합니다)

kmeans++는 random  중심점으로 초기화 시 문제들을 해결하기 위해 도입되었습니다. 이게 설명이 길어서 아래 URL의 내용을 참조 부탁드립니다.

https://eunsukim.me/posts/understanding-K-Means++

요약하자면

  1. 첫 번째 centroid를 임의로 지정합니다.
  2. 남은 각 데이터 포인트에 대해서 가장 가까운 centroids와의 거리를 계산합니다.
  3. 다음 centroid는 각 데이터 포인트와 가장 가까운 centroid와의 거리에 비례하는 확률에 따라 지정됩니다. 이로 인해 다음 centroid가 이미 지정된 centroid에 근접하게 되는 것을 예방할 수 있습니다.
  4. 2 ~ 3 단계를 k 개의 centroids를 모두 지정할 때 까지 반복합니다.

감사합니다.

K MJ님의 프로필 이미지
K MJ

작성한 질문수

질문하기