부본 K-Means 클러스터링이란 무엇입니까? - Unite.AI
Rescale 미팅 예약

AI 101

K-Means 클러스터링이란 무엇입니까?

mm
업데이트 on

K-평균 클러스터링은 비지도 학습 모든 비지도 학습 알고리즘 중에서 K-평균 클러스터링은 강력함과 단순성 덕분에 가장 널리 사용됩니다. K-평균 클러스터링은 정확히 어떻게 작동합니까?

짧은 대답은 K-평균 클러스터링이 다음과 같이 작동한다는 것입니다. 기준점 생성(중심) 원하는 수업 수만큼, 그리고 나서 클래스 클러스터에 데이터 포인트 할당 가장 가까운 기준점을 기반으로 합니다. 이것이 K-평균 클러스터링에 대한 빠른 정의이지만 시간을 내어 K-평균 클러스터링에 대해 자세히 알아보고 작동 방식에 대해 더 나은 직관을 얻으십시오.

클러스터링 정의

K-평균 클러스터링을 수행하는 데 사용되는 정확한 알고리즘을 검토하기 전에 일반적으로 클러스터링을 정의하는 데 약간의 시간을 할애하겠습니다.

클러스터는 항목의 그룹일 뿐이며 클러스터링은 해당 그룹에 항목을 넣는 것입니다. 데이터 과학의 의미에서, 클러스터링 알고리즘 두 가지 일을 하는 것을 목표로 합니다.

  • 클러스터의 모든 데이터 포인트가 가능한 한 서로 유사한지 확인합니다.
  • 서로 다른 클러스터의 모든 데이터 포인트가 가능한 한 서로 다른지 확인하십시오.

클러스터링 알고리즘은 일부 유사성 메트릭을 기반으로 항목을 함께 그룹화합니다. 배타적이지는 않지만 데이터 세트에서 가능한 여러 그룹의 "중심"을 찾아 수행하는 경우가 많습니다. 다양한 클러스터링 알고리즘이 있지만 모든 클러스터링 알고리즘의 목표는 동일하며 데이터 세트에 고유한 그룹을 결정합니다.

K- 평균 군집화

K-Means Clustering은 가장 오래되고 가장 일반적으로 사용되는 클러스터링 알고리즘 유형 중 하나이며 다음을 기반으로 작동합니다. 벡터 양자화. 원점으로 선택한 공간의 한 지점이 있고 원점에서 데이터 세트의 모든 데이터 지점으로 벡터가 그려집니다.

일반적으로 K-평균 군집화는 다섯 단계로 나눌 수 있습니다.

  • 모든 인스턴스를 하위 집합에 배치합니다. 여기서 하위 집합의 수는 K입니다.
  • 새로 생성된 클러스터 파티션의 평균 포인트/중심을 찾습니다.
  • 이러한 중심을 기반으로 각 포인트를 특정 클러스터에 할당합니다.
  • 모든 점에서 중심까지의 거리를 계산하고 중심에서 거리가 최소인 군집에 점을 할당합니다.
  • 포인트가 군집에 할당된 후 군집의 새 중심을 찾습니다.

훈련 과정이 끝날 때까지 위의 단계를 반복합니다.

초기 단계에서 중심은 데이터 포인트 사이 어딘가에 배치됩니다.
사진: wikimedia commons를 통한 Weston.pace, GNU 무료 문서 라이선스(https://commons.wikimedia.org/wiki/File:K_Means_Example_Step_1.svg)

또는 중심을 배치한 후 K-평균 클러스터링을 두 가지 다른 단계(데이터 포인트 레이블 지정 및 중심 업데이트) 간에 전환하는 것으로 생각할 수 있습니다.

두 번째 단계에서는 유클리드 거리와 같은 거리 메트릭을 사용하여 주어진 점이 가장 가까운 중심을 계산한 다음 포인트를 해당 중심의 클래스에 할당합니다. 사진: Wikimedia Commons를 통한 Weston.pace, GNU 무료 문서 라이선스(https://commons.wikimedia.org/wiki/File:K_Means_Example_Step_2.svg)

데이터 포인트 라벨링 단계에서 모든 데이터 포인트에는 가장 가까운 중심에 속하는 클러스터에 배치하는 라벨이 할당됩니다. 가장 가까운 중심은 일반적으로 제곱 유클리드 거리를 사용하여 결정되지만 클러스터링 알고리즘에 입력되는 데이터 유형에 따라 맨해튼 거리, 코사인 및 Jaccard 거리와 같은 다른 거리 메트릭을 사용할 수 있습니다.

세 번째 단계에서는 중심을 모든 데이터 포인트의 평균으로 이동합니다. 그런 다음 수업이 재할당됩니다. 사진: Wikiemedia Commons, CC SA 3.0을 통한 Weston.pace(https://commons.wikimedia.org/wiki/File:K_Means_Example_Step_3.svg)

중심 업데이트 단계에서는 현재 클러스터 내에 포함된 모든 데이터 포인트 사이의 평균 거리를 찾아 중심을 계산합니다.

"K"에 대한 올바른 값을 선택하는 방법

K-평균 클러스터링이 감독되지 않은 알고리즘이고 클래스의 수를 미리 알 수 없다는 점을 고려할 때 적절한 클래스 수/K에 대한 올바른 값을 어떻게 결정합니까?

올바른 K-값을 선택하는 한 가지 기술은 "팔꿈치 기술". 팔꿈치 기술은 다양한 K-값 범위에 대해 K-평균 클러스터링 알고리즘을 실행하고 정확도 메트릭(일반적으로 Sum of Squared Error)을 사용하여 최상의 결과를 제공하는 K 값을 결정하는 것으로 구성됩니다. Sum of Squared Error는 클러스터의 중심과 해당 클러스터의 데이터 포인트 사이의 평균 거리를 계산하여 결정됩니다.

"팔꿈치 기법"이라는 용어는 K의 다른 값과 관련하여 SSE를 플롯할 때 결과 선 그림이 종종 "팔꿈치" 모양을 갖게 되며, 여기서 SSE는 K의 처음 몇 가지 값에 대해 급격히 감소한다는 사실에서 비롯됩니다. 그러나 수평을 이룹니다. 이러한 조건에서 팔꿈치에 위치한 K의 값은 이 값 이후에 수익이 급격히 감소하므로 K에 대한 최상의 값입니다.

미니 배치 K-평균 클러스터링

데이터 세트가 커지면 계산 시간도 늘어납니다. 기본 K-평균 클러스터링은 대규모 데이터 세트에서 실행할 때 완료하는 데 오랜 시간이 걸릴 수 있으므로 알고리즘의 공간적 및 시간적 비용을 줄일 수 있도록 K-평균 클러스터링을 조정했습니다.

미니 배치 K-평균 클러스터링 K-평균 클러스터링의 변형입니다. 여기에서 고려 중인 데이터 세트의 크기가 제한됩니다. 일반 K-평균 클러스터링은 전체 데이터 세트/배치에서 한 번에 작동하는 반면 미니 배치 K-평균 클러스터링은 데이터 세트를 하위 집합으로 나눕니다.. 미니 배치는 전체 데이터 세트에서 무작위로 샘플링되며 각각의 새로운 반복에 대해 새로운 무작위 샘플이 선택되고 중심의 위치를 ​​업데이트하는 데 활용됩니다.

Mini-Batch K-Means 클러스터링에서 클러스터는 미니 배치 값과 학습률의 조합으로 업데이트됩니다. 학습 속도는 반복을 통해 감소하며 특정 클러스터에 배치된 데이터 포인트 수의 역수입니다. 학습률을 줄이는 효과는 새로운 데이터의 영향이 줄어들고 여러 번의 반복 후에도 클러스터에 변화가 없을 때 수렴이 이루어진다는 것입니다.

Mini-batch K-means 클러스터링의 효율성에 대한 연구 결과는 클러스터 품질의 약간의 트레이드 오프로 계산 시간을 성공적으로 줄일 수 있음을 시사합니다.

K-Means 클러스터링의 응용

K-평균 군집화는 데이터 포인트를 개별 그룹/클래스로 분할할 수 있는 모든 상황에서 안전하게 사용할 수 있습니다. 다음은 K-평균 클러스터링에 대한 일반적인 사용 사례의 몇 가지 예입니다.

K-평균 클러스터링은 주제, 태그, 단어 사용, 메타데이터 및 기타 문서 기능과 같은 기능을 기반으로 문서를 그룹화하는 문서 분류에 적용될 수 있습니다. 또한 게시물 및 댓글과 같은 활동 패턴에 따라 사용자를 봇으로 분류하거나 봇이 아닌 것으로 분류하는 데 사용할 수 있습니다. K-평균 클러스터링을 사용하여 동반 질환, 연령, 환자 병력 등과 같은 기능을 기반으로 건강을 모니터링할 때 우려 수준에 따라 사람들을 그룹으로 분류할 수도 있습니다.

K-평균 클러스터링은 추천 시스템 생성과 같은 개방형 작업에도 사용할 수 있습니다. Netflix와 같은 시스템의 사용자는 시청 패턴 및 권장 유사 콘텐츠를 기반으로 함께 그룹화할 수 있습니다. K-평균 클러스터링은 이상 탐지 작업에 사용되어 사기 또는 결함 품목의 잠재적 인스턴스를 강조 표시할 수 있습니다.