전문가가 전하는 최신 AI 트렌드
가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.
K-평균 클러스터링은 데이터 클러스터링에 사용되는 비지도 학습 알고리즘으로, 레이블이 지정되지 않은 데이터 포인트를 그룹 또는 클러스터로 그룹화합니다.
머신 러닝에서 가장 많이 사용되는 클러스터링 방법 중 하나입니다. 지도 학습과 달리 이 알고리즘이 사용하는 훈련 데이터에는 레이블이 지정되지 않아 데이터 포인트에 정의된 분류 구조가 없습니다.
배타적, 중첩적, 계층적, 확률적 등 다양한 유형의 클러스터링 알고리즘이 존재하지만, k-평균 클러스터링 알고리즘은 배타적 또는 '하드' 클러스터링 방법의 한 예입니다. 이 형태의 그룹화는 데이터 포인트가 하나의 클러스터에만 존재할 수 있도록 규정합니다. 또한 이러한 유형의 클러스터 분석은 데이터 과학에서 시장 세분화, 문서 클러스터링, 이미지 세분화 및 이미지 압축에 일반적으로 사용됩니다. k-평균 알고리즘은 효율적이고 효과적이며 간단하기 때문에 클러스터 분석에서 널리 사용되는 방법입니다.
K-평균은 중심점 사이의 거리에 따라 데이터 세트를 유사한 그룹으로 분할하는 반복적인 중심점 기반 클러스터링 알고리즘입니다. 중심점 또는 클러스터 중심은 데이터의 특성에 따라 클러스터 내에 있는 모든 포인트의 평균 또는 중앙값입니다.
가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.
K-평균 클러스터링은 데이터 포인트와 클러스터 중심 사이의 거리 합을 최소화하기 위한 반복적인 프로세스입니다.
K-평균 클러스터링 알고리즘은 클러스터 중심으로부터의 수학적 거리 측정값(일반적으로 유클리드)을 사용하여 데이터 요소를 클러스터로 분류하는 방식으로 작동합니다. 목표는 데이터 포인트와 할당된 클러스터 사이의 거리 합계를 최소화하는 것입니다. 중심점에 가장 가까운 데이터 포인트는 동일한 범주 내에서 함께 그룹화됩니다. k 값, 즉 클러스터 수가 높을수록 더 작은 클러스터에 더 많은 세부 정보가 포함되고, k 값이 낮을수록 더 큰 클러스터에 더 적은 세부 정보가 포함된다는 것을 의미합니다.
기존의 k-평균 클러스터링 알고리즘에는 몇 가지 단계가 필요합니다. 첫 번째 단계는 k 중심을 초기화하는 것이며, 여기서 k는 특정 데이터 세트에 대해 선택한 클러스터 수와 동등합니다. 이 접근 방식은 무작위 선택 또는 초기 중심 표본 추출 방법을 사용합니다.
다음 단계는 기대치 최대화 머신 러닝 알고리즘에 기반한 2단계 반복 프로세스가 포함됩니다.1 기대치 단계에서는 거리를 기준으로(일반적으로 유클리드) 각 데이터 요소를 가장 가까운 중심에 할당합니다. 최대화 단계에서는 각 클러스터에 대한 모든 포인트의 평균을 계산하고 클러스터 중심, 즉 중심점을 다시 할당합니다. 이 프로세스는 중심 위치가 수렴에 도달하거나 최대 반복 횟수에 도달할 때까지 반복됩니다.
k-평균 클러스터링은 간단하지만 초기 조건과 이상값에 민감합니다. 가장 의미 있는 클러스터를 얻으려면 중심값 초기화와 클러스터 수 k를 최적화하는 것이 중요합니다. 평가 메트릭과 초기 중심 샘플링 방법을 사용하여 알고리즘의 클러스터링 구성 요소를 평가하고 최적화하는 방법에는 여러 가지가 있습니다.
품질 클러스터에는 아래 속성이 2개 이상 포함되어 있습니다.
이러한 속성은 클러스터 내 거리를 최소화하고 데이터 세트에 있는 모든 데이터 포인트의 클러스터 간 거리를 최대화하여 얻을 수 있습니다. 즉, 클러스터가 더 조밀하고 다른 클러스터와 격리될수록 더 좋습니다. k-평균 클러스터링 알고리즘의 목표는 오차제곱합(SSE)을 최소화하는 것입니다.2 각 포인트에서 가장 가까운 중심점까지 유클리드 거리 제곱의 SSE를 계산하면 각 클러스터 내의 총 변동을 측정하여 클러스터 할당의 품질을 평가할 수 있습니다.
클러스터 평가 메트릭은 품질을 확인하고 클러스터링 결과를 분석하기 위한 다양한 관점을 제공합니다. 이는 최적의 클러스터 수와 중심점 초기화를 선택하는 데 도움이 됩니다. 다음 평가 메트릭은 클러스터링에서 클러스터 내 및 클러스터 간 거리를 측정하는 일반적인 방법입니다.
k-평균 클러스터링 알고리즘은 거리 지표를 기반으로 데이터 세트가 얼마나 잘 클러스터링되었는지 측정하는 평가 지표인 관성을 최소화하는 중심점 또는 클러스터 중심을 선택하는 것을 목표로 합니다. 관성은 데이터 포인트와 중심점 사이의 거리를 측정하고, 거리를 제곱하고, 클러스터의 각 데이터 포인트에 대해 해당 제곱을 합산하여 계산됩니다. 이 합계 또는 관성 값은 클러스터 내 거리입니다. 합계가 낮을수록 클러스터 내의 데이터 포인트가 조밀하거나 더 유사하다는 것을 의미하기 때문에 더 좋습니다.3
두 번째 속성은 Dunn 지수로 측정됩니다. Dunn 지수는 최소 클러스터 간 거리와 최대 클러스터 내 거리 간의 관계를 나타냅니다. 클러스터 간 거리가 긴 클러스터는 클러스터가 가능한 한 서로 다르다는 것을 의미하기 때문에 더 나은 품질을 나타냅니다.4
최상의 클러스터링 결과를 얻기 위해 k-평균을 사용할 때 최적화가 중요합니다.
k-평균 알고리즘은 무작위 초기화 단계로 인해 비결정적입니다. 이 방법은 동일한 데이터에 대해 알고리즘을 두 번 수행하면 클러스터 할당이 다를 수 있음을 의미합니다. 최적의 클러스터링 결과를 얻으려면 초기 중심점과 최적의 클러스터 수를 적절하게 선택하여 k-평균 알고리즘의 정확도와 속도를 향상합니다.
각 클러스터는 클러스터 중심을 나타내는 데이터 포인트인 중심점으로 표시됩니다. K-평균은 클러스터의 데이터 포인트 간 거리를 중심점 또는 k 평균값으로 최소화하여 유사한 데이터 포인트를 클러스터로 그룹화합니다. K-평균 알고리즘의 주요 목표는 포인트와 할당된 클러스터 중심점 사이의 총 거리를 최소화하는 것입니다. 알고리즘은 반복적으로 작동하며 초기 파티션 선택은 결과 클러스터에 큰 영향을 줄 수 있습니다.
무작위 초기화 시 결과의 일관성이 떨어질 있습니다. 중심 초기화 방법을 사용하면 이러한 위험이 줄어듭니다. NUS Computing의 연구는 널리 사용되는 k-평균++, 무작위 초기화 등의 방법들을 설명하고 비교합니다.5
K-평균++는 초기 클러스터 중심의 선택을 최적화하는 k-평균 알고리즘입니다. 연구원 Arthur와 Vassilvitskii가 개발한 k-평균++는 최종 클러스터 할당의 품질을 향상시킵니다.6
k-평균++ 방법을 사용하여 초기화하는 첫 번째 단계는 데이터 세트에서 하나의 중심점을 선택하는 것입니다. 이후의 각 중심점에 대해 가장 가까운 클러스터 중심에서 각 데이터 포인트까지의 거리를 계산합니다. 후속 중심점은 포인트가 이전에 선택한 가장 가까운 중심점으로부터 비례 거리에 있을 가능성을 고려하여 선택됩니다. 이 프로세스는 선택한 수의 클러스터 센터가 초기화될 때까지 반복을 실행합니다.
다음은 초기화에 k-평균++ 방법을 사용하는 IBM Developer의 튜토리얼입니다.
k-평균 알고리즘은 최적의 클러스터 수에 도달할 때까지 반복하는 것이 이상적입니다. 최대 반복 횟수 전에 중심점이 수렴에 도달하면 반복이 종료됩니다.
최적의 클러스터 수를 달성하는 한 가지 방법은 엘보우 방법입니다. 엘보우 방법은 k-평균 클러스터링 알고리즘 내에서 최적의 클러스터 수를 찾기 위한 그래픽 방법입니다. 각 데이터 포인트와 클러스터 중심 사이의 유클리드 거리를 측정하고 WCSS(클러스터 내 제곱합)의 변화가 평준화되는 위치에 따라 클러스터 수를 선택합니다. 이 값은 클러스터 수에 대해 도표가 표현된 각 클러스터 내의 총 분산을 나타냅니다.7
엘보우 방법의 첫 번째 단계는 각 클러스터(k)에 대한 WCSS를 계산하는 것입니다. 그런 다음 WCSS 값은 y축을 따라 표현되고 클러스터 수는 x축에 표현됩니다. 클러스터 수가 증가하면 도표의 포인트가 일관된 패턴을 형성해야 합니다. 이 패턴에서 최적의 클러스터 수에 대한 범위를 생성합니다.8 클러스터 수를 결정할 때는 계산 비용을 고려해야 합니다. 클러스터 수가 많을수록 특히 대규모 데이터 세트에서 더 많은 처리 능력이 필요합니다.
이 방법은 특히 차원이 높거나 모양이 불규칙한 데이터 세트의 경우 반드시 최선의 방법은 아닙니다. 최적의 클러스터 수를 선택하기 위한 또 다른 방법은 실루엣 분석입니다.9
k-평균 클러스터링 알고리즘은 거의 모든 분야와 산업에서 사용됩니다. 일반적으로 차원이 적고 숫자형이며 쉽게 분할할 수 있는 머신 러닝 데이터에 적용됩니다.
연구자들은 컴퓨터 비전, NLP 및 기타 여러 영역 등 다양한 머신 러닝 작업의 성능을 향상시키기 위해 k-평균 클러스터링을 CNN 및 RNN과 같은 딥 러닝 방법과 통합했습니다. 다음은 일반적인 k-평균 클러스터링 응용 사례 목록입니다.
고객 세분화: 유사성을 반영한 공통 특성을 기준으로 회사 고객을 그룹으로 나누는 관행입니다. 이 전략을 통해 기업은 특정 광고 캠페인에 대해 특정 클러스터 또는 고객 그룹을 타겟팅할 수 있습니다.
문서 분류: 문서에 다양한 클래스 또는 카테고리를 할당하는 절차입니다. 이 방법은 많은 조직에서 콘텐츠를 조정하는 데 사용됩니다. 문서 분류기를 구축하려면 이 Watson Discover 문서를 참조하세요.
이미지 분할: 디지털 이미지를 별개의 픽셀 세트로 나누는 컴퓨팅 비전 기술입니다. 이 연구에서는 의료 영상의 경계를 식별하는 데 도움이 되는 k-평균 모델을 사용하는 방법에 대해 자세히 설명합니다.10
추천 엔진: 웹 전반의 애플리케이션에서 추천 엔진을 사용합니다. 주성분 분석 및 k-평균 클러스터링 기술이 전자상거래 비즈니스를 위한 제품 추천을 구축하는 데 사용됩니다.11
실습 학습을 원하시는 경우, watsonx.ai의 IBM Watson Studio를 사용하여 Python에서 k-평균 클러스터링을 수행하는 기본 사항을 설명하는 튜토리얼을 확인하세요.
이 튜토리얼에서는 K-평균 클러스터링을 수행하는 scikit-learn(sklearn) 라이브러리의 모듈을 사용합니다. 이 모듈에는 클래스 매개변수로 조작되는 최적화 기술이 내장되어 있습니다. 모듈의 클래스는 다음과 같습니다:
class sklearn.cluster.KMeans(n_clusters=8, *, init='k-means++', n_init='auto', max_iter=300, tol=0.0001, verbose=0, random_state=None, copy_x=True, algorithm='lloyd')12
매개변수에는 형성할 클러스터의 수와 생성할 중심점의 수(n_clusters)가 포함됩니다. 초기화 방법에는 k-평균++와 무작위 두 가지를 사용할 수 있습니다. 또한 최대 반복 횟수를 설정하기 위한 속성도 포함되어 있습니다. 각 반복은 데이터 세트를 n_clustersparameter의 값으로 분할하는 것으로 시작됩니다.
해당 라이브러리는 테스트 데이터 세트를 생성하고 클러스터링을 수행합니다.
import pandas as pd import sklearn import matplotlib.pyplot as plt import seaborn as sns import numpy from sklearn.cluster import KMeans from sklearn.datasets import make_blobs from sklearn.decomposition import PCA from sklearn.preprocessing import StandardScaler
머신 러닝 애플리케이션에서 k-평균 클러스터링의 몇 가지 일반적인 이점은 다음과 같습니다.
단순성: k-평균 클러스터링은 이해하기 쉽고 실제로 적용하기도 쉽습니다. 가장 널리 사용되는 비지도형 머신 러닝 기법입니다.
신속성: K-평균 클러스터링은 계산이 간단한 반복 접근 방식으로 설계되었습니다. k-평균 클러스터링 알고리즘은 트리와 같은 클러스터 구조를 구축하고 모든 데이터 포인트 간의 쌍별 거리를 계산해야 하는 계층적 클러스터링보다 빠릅니다.
확장성: 또한 k-평균은 대규모 데이터 세트로 쉽게 확장할 수 있으며 다양한 형태와 크기의 클러스터로 일반화할 수 있어 클러스터 분석에 이상적입니다. 계산 효율이 매우 높기 때문에 다른 방법에 비해 확장성이 뛰어나고 대규모 데이터 세트에 적합합니다.
k-평균 클러스터링과 관련된 몇 가지 일반적인 문제는 다음과 같습니다.
입력 매개변수에 대한 의존성: K-평균 클러스터링은 적절하게 설정된 입력 매개변수에 따라 달라집니다. 의미 있는 클러스터 결과를 얻기 위해 적절한 중심점과 클러스터 수를 초기화하는 것이 필요합니다. 중심점 초기화가 잘못되면 실행 시간이 늘어나고 클러스터 할당 품질이 저하될 수 있습니다. 더 나은 클러스터링 결과와 더 빠른 수렴 시간을 위해 중심점 초기화 절차를 개선하기 위한 많은 연구가 진행되었습니다.
특정 데이터 세트에서 성능이 저하될 수 있음: k-평균은 데이터 세트에 크기가 비슷한 클러스터가 포함되어 있고 눈에 띄는 이상값이나 밀도 변화가 없을 때 효과적으로 수행됩니다. 데이터 세트에 많은 변형이 포함되어 있거나 차원이 높은 경우 k-평균의 성능이 저하됩니다. 특정 데이터 세트 가정에 맞지 않는 데이터가 있으면 k-평균이 품질이 낮은 클러스터를 생성할 수 있습니다.13 예를 들어, 크기가 고르지 않은 클러스터는 중심이 큰 클러스터에 치우쳐 편항이 생겨 작은 클러스터가 잘못 분류될 수 있습니다. 이 문제를 해결하기 위해 가우스 혼합 노드와 같은 확률 모델을 사용하여 k-평균을 일반화할 수 있습니다.
중대한 이상값 영향: 이상값은 K-평균 클러스터링의 결과에 상당한 영향을 미칩니다. 서로 다른 클러스터는 멀리 떨어져 있어야 하지만 데이터 포인트가 왜곡될 정도로 멀리 떨어져서는 안 됩니다. k-평균을 적용하기 전에 데이터 가정을 고려하는 것이 중요합니다. k-평균은 클러스터의 값을 평균화하여 중심값을 결정하는 것을 목표로 하기 때문에 이상값에 특히 민감합니다. 민감도가 높기 때문에 이러한 이상값을 포함할 때 과적합이 발생하기 쉽습니다.
AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.
업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.
AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.