상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 머신러닝알고리즘: 클러스터링에서 K-Means의 원리는 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
K-Means 알고리즘은 주어진 데이터셋을 사용자가 지정한 개수(K)의 군집(cluster)으로 나누는 비지도 학습 기법입니다. 군집 간 거리를 최대화하고, 같은 군집 내의 데이터 간 거리를 최소화하는 것을 목표로 합니다. 이를 위해 ‘각 군집의 중심(centroid)’ 값을 반복적으로 갱신해 가며 데이터를 배정하는 과정을 수행합니다. 먼저 사용자는 분류하고자 하는 군집의 수 K를 정합니다. 초기 단계에서는 보통 임의로 K개의 중심점을 선택하거나 K-Means++처럼 초기 중심점을 뽑는 알고리즘을 사용해 데이터 공간에 흩뿌려 놓습니다. 그 뒤 다음 두 단계를 반복하면서 중심점을 조정합니다. 1) 할당(Assignment) 단계 모든 데이터 포인트를 현재 중심점들과 비교해, 가장 가까운(예: 유클리드 거리 기준) 중심점이 속한 군집으로 배정합니다. 이 과정을 통해 각 군집에 속한 포인트들이 결정됩니다. 2) 재계산(Update) 단계 방금 할당된 각 군집에 속한 포인트들의 좌표를 평균 내어 새로운 중심점으로 이동시킵니다. 이 평균값이 바로 해당 군집을 대표하는 중심(centroid)이 됩니다. 이 두 단계를 반복하면서 군집의 중심점은 점점 더 안정된 위치로 모이고, 데이터 포인트의 배정도 더이상 크게 변하지 않는 지점에 이르면 알고리즘이 수렴했다고 판단하여 종료합니다. 수렴 조건은 보통 중심점 이동 거리가 충분히 작아지거나, 할당 자체가 변화가 없을 때, 혹은 최대 반복 횟수에 다다랐을 때 등으로 설정할 수 있습니다. K-Means의 핵심 목적은 각 군집 내 데이터와 군집 중심 간의 제곱거리 합(Within-Cluster Sum of Squares)을 최소화하는 것입니다. 이 값을 목적 함수(objective function)로 두고, 반복 갱신 과정을 통해 점차 그 값을 줄여 나가는 형태입니다. 장점으로는 구현이 비교적 간단하고, 계산량이 다른 복잡한 군집화 기법에 비해 적당히 가볍다는 점이 꼽힙니다. 반면 단점으로는 • K 값을 사전에 정해야 한다는 점, • 초기 중심점의 위치에 따라 최종 결과가 달라져 로컬 최적해에 빠질 수 있다는 점, • 비구형(cluster shape) 분포나 밀도 차이가 큰 데이터에 취약하다는 점 등이 있습니다. 이를 보완하기 위해 보통 K-Means++와 같은 초기화 방법을 사용하거나, 엘보우(elbow) 기법·실루엣(silhouette) 지수 등을 통해 적절한 K를 탐색합니다. 또한 여러 번 반복 실행해 가장 좋은 결과를 선택하는 방식으로 안정성을 높이기도 합니다. 정리하면, K-Means는 “최소화할 대상(군집 내 제곱거리 합)”과 “반복적 중심점 갱신”이라는 두 가지 아이디어를 핵심으로, 데이터를 지정된 개수의 클러스터로 구분해 주는 대표적인 파티셔닝(partitioning) 군집화 알고리즘입니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기