K - means Clustering
K-평균 군집화(K-means clustering)는 데이터 세트를 k개의 그룹(또는 클러스터)으로 분할하는 데 사용되는 인기 있는 비지도 머신 러닝 알고리즘입니다. 여기서 k는 사전에 정의된 숫자입니다. 기본 아이디어는 각 클러스터마다 하나씩 k개의 중심점(centroid)을 정의하는 것입니다. 이 중심점들은 각 반복의 시작점으로 사용됩니다. 알고리즘은 다음과 같이 작동합니다:

초기화: 중심점들을 무작위로 배치합니다. 이 위치들은 클러스터 중심의 초기 추측값입니다. 할당 단계: 각 데이터 포인트를 가장 가까운 중심점에 할당합니다. ‘가장 가까운’ 것은 일반적으로 데이터 포인트와 중심점 간의 유클리드 거리를 사용하여 결정됩니다. 업데이트 단계: 모든 포인트가 할당되면, 중심점의 위치를 다시 계산합니다. 이는 일반적으로 해당 중심점의 클러스터에 할당된 모든 포인트의 평균을 취함으로써 이루어집니다. 반복: 할당과 업데이트 단계를 반복합니다. 각 반복으로 중심점들이 이동하며 클러스터 내 분산을 줄입니다. 목표는 포인트와 해당 중심점 간의 제곱 차이의 합을 최소화하는 것입니다. 수렴: 알고리즘은 중심점들이 안정화되었을 때(즉, 그 위치가 더 이상 변하지 않을 때) 또는 사전에 정해진 반복 횟수가 완료되었을 때 멈춥니다. 결과: 결과는 클러스터 내 분산이 최소화되고 클러스터 간 분산이 최대화된 클러스터 세트입니다.
K-평균 군집화의 주요 특징은 그 간단함과 속도로, 다양한 응용 분야에 적합합니다. 그러나 사전에 클러스터 수(k)를 지정해야 한다는 점, 중심점의 초기 배치에 민감하다는 점, 다양한 크기와 밀도를 가진 클러스터를 다루는 데 어려움이 있다는 등의 한계점도 있습니다. K-평균은 시장 세분화, 문서 군집화, 이미지 세분화 등 데이터에서 그룹이나 패턴을 식별하는 것이 중요한 많은 분야에서 널리 사용됩니다.