다음을 통해 공유


구성 요소: K-평균 클러스터링

이 문서에서는 Azure Machine Learning 디자이너에서 K-평균 클러스터링 구성 요소를 사용하여 학습되지 않은 K-평균 클러스터링 모델을 만드는 방법을 설명합니다.

K-평균은 가장 간단하고 가장 잘 알려진 자율 학습 알고리즘 중 하나입니다. 다음과 같은 다양한 기계 학습 작업에 알고리즘을 사용할 수 있습니다.

  • 비정상적인 데이터 검색
  • 텍스트 문서 클러스터링
  • 다른 분류 또는 회귀 방법을 사용하기 전에 데이터 세트 분석

클러스터링 모델을 만들려면 다음을 수행합니다.

  • 파이프라인에 이 구성 요소를 추가합니다.
  • 데이터 세트를 연결합니다.
  • 예상되는 클러스터 수, 클러스터를 만드는 데 사용할 거리 메트릭 등과 같은 매개 변수를 설정합니다.

구성 요소 하이퍼 매개 변수를 구성한 후에는 학습되지 않은 모델을 클러스터링 학습 모델에 연결합니다. K-평균 알고리즘은 자율 학습 방법이므로 레이블 열은 선택 사항입니다.

  • 데이터에 레이블이 포함된 경우 레이블 값을 사용하여 클러스터 선택을 안내하고 모델을 최적화할 수 있습니다.

  • 데이터에 레이블이 없는 경우 알고리즘은 데이터만을 기반으로 가능한 범주를 나타내는 클러스터를 만듭니다.

K-평균 클러스터링 이해

일반적으로 클러스터링에서는 반복 기술을 사용하여 데이터 세트의 사례를 유사한 특성을 가진 클러스터로 그룹화합니다. 이러한 그룹화는 데이터를 탐색하고, 데이터의 변칙을 식별하고, 결국 예측을 하는 데 유용합니다. 클러스터링 모델은 검색하거나 대충 관찰해서는 논리적으로 도출할 수 없는 데이터 세트의 관계를 식별하는 데도 유용할 수 있습니다. 이러한 이유로 클러스터링은 종종 기계 학습 작업의 초기 단계에서 데이터를 탐색하고 예기치 않은 상관 관계를 검색하는 데 사용됩니다.

K-평균 메서드를 사용하여 클러스터링 모델을 구성하는 경우 모델에서 원하는 중심 수를 나타내는 대상 숫자 k 지정해야 합니다. 중심은 각 클러스터를 나타내는 지점입니다. K-평균 알고리즘은 클러스터 내 제곱합을 최소화하여 들어오는 각 데이터 요소를 클러스터 중 하나에 할당합니다.

학습 데이터를 처리할 때 K-평균 알고리즘은 임의로 선택된 중심선의 초기 집합으로 시작합니다. Centroids는 클러스터의 시작점 역할을 하며 Lloyd의 알고리즘을 적용하여 위치를 반복적으로 구체화합니다. K-평균 알고리즘은 다음 조건 중 하나 이상을 충족하는 경우 클러스터 빌드 및 구체화를 중지합니다.

  • 중심은 안정적입니다. 즉, 개별 요소에 대한 클러스터 할당이 더 이상 변경되지 않고 알고리즘이 하나의 솔루션에서 수렴되었습니다.

  • 알고리즘이 지정된 반복 횟수 실행을 완료했습니다.

학습 단계를 완료한 후에는 클러스터에 데이터 할당 구성 요소를 사용하여 K-평균 알고리즘으로 찾은 클러스터 중 하나에 새 사례를 할당합니다. 새 사례와 각 클러스터의 중심 사이의 거리를 계산하여 클러스터 할당을 수행합니다. 각각의 새 사례는 가장 가까운 중심을 가진 클러스터에 할당됩니다.

K-평균 클러스터링 구성 요소 구성

  1. K-평균 클러스터링 구성 요소를 파이프라인에 추가합니다.

  2. 모델을 학습할 방법을 지정하려면 트레이너 모드 만들기 옵션을 선택합니다.

    • 단일 매개 변수: 클러스터링 모델에서 사용할 정확한 매개 변수를 알고 있는 경우 특정 값 집합을 인수로 제공할 수 있습니다.
  3. 중심 수에서 알고리즘을 시작하는 데 사용할 클러스터 수를 입력합니다.

    모델이 정확히 이 수의 클러스터를 생성하도록 보장되지는 않습니다. 알고리즘은 이 개수의 데이터 요소로 시작하고 반복하여 최적 구성을 찾습니다. sklearn소스 코드를 참조할 수 있습니다.

  4. 초기화 속성은 초기 클러스터 구성을 정의하는 데 사용되는 알고리즘을 지정하는 데 사용됩니다.

    • 첫 번째 N: 데이터 세트의 일부 초기 개수는 데이터 세트에서 선택되고 초기 수단으로 사용됩니다.

      이 메서드를 Forgy 메서드라고도 합니다.

    • 임의: 알고리즘에서 클러스터에 데이터 요소를 임의로 배치한 다음, 임의로 할당된 클러스터 요소의 중심이 될 초기 평균을 계산합니다.

      이 메서드를 임의 파티션 메서드라고도 합니다.

    • K-Means++: 클러스터를 초기화하는 기본 방법입니다.

      K-평균++ 알고리즘은 표준 K-평균 알고리즘에 의한 불량 클러스터링을 방지하기 위해 David Arthur와 Sergei Vassilvitskii가 2007년에 제안했습니다. K-means++는 초기 클러스터 센터를 선택하는 다른 방법을 사용하여 표준 K-평균을 향상시킵니다.

  5. 난수 시드의 경우 필요에 따라 클러스터 초기화의 시드로 사용할 값을 입력합니다. 이 값은 클러스터 선택에 상당한 영향을 미칠 수 있습니다.

  6. 메트릭의 경우 클러스터 벡터 간 또는 새 데이터 요소와 임의로 선택된 중심 사이의 거리를 측정하는 데 사용할 함수를 선택합니다. Azure Machine Learning에서 지원하는 클러스터 거리 메트릭은 다음과 같습니다.

    • 유클리드: 유클리드 거리는 일반적으로 K-평균 클러스터링의 클러스터 산점도 측정값으로 사용됩니다. 이 메트릭은 점과 중심 사이의 평균 거리를 최소화하기 때문에 선호됩니다.
  7. 반복의 경우 알고리즘이 중심선 선택을 완료하기 전에 학습 데이터를 반복해야 하는 횟수를 입력합니다.

    이 매개 변수를 조정하여 학습 시간과 정확도의 균형을 맞출 수 있습니다.

  8. 레이블 할당 모드의 경우 데이터 세트에 있는 경우 레이블 열을 처리하는 방법을 지정하는 옵션을 선택합니다.

    K-평균 클러스터링이 감독되지 않는 기계 학습 방법이기 때문에 레이블은 선택 사항입니다. 그러나 데이터 세트에 레이블 열이 이미 있는 경우 해당 값을 사용하여 클러스터 선택을 안내하거나 값을 무시하도록 지정할 수 있습니다.

    • 레이블 열 무시: 레이블 열의 값은 무시되며 모델을 빌드하는 데 사용되지 않습니다.

    • 누락된 값 채우기: 레이블 열 값은 클러스터를 빌드하는 데 도움이 되는 기능으로 사용됩니다. 레이블이 누락된 행이 있으면 다른 기능을 사용하여 값이 대체됩니다.

    • 중심에 가장 가까운 요소에서 덮어쓰기: 현재 중심에 가장 가까운 요소의 레이블을 사용하여 예측된 레이블 값으로 레이블 열 값을 대체합니다.

  9. 학습 전에 기능을 정규화하려면 기능 정규화 옵션을 선택합니다.

    정규화를 적용하는 경우 학습 전에 데이터 요소가 MinMaxNormalizer로 [0,1] 정규화됩니다.

  10. 모델을 학습시킵니다.

    • 트레이너 모드 만들기단일 매개 변수로 설정하는 경우 태그가 지정된 데이터 세트를 추가하고 클러스터링 모델 학습 구성 요소를 사용하여 모델을 학습시킵니다.

결과

모델 구성 및 학습을 완료한 후 점수를 생성하는 데 사용할 수 있는 모델이 있습니다. 그러나 모델을 학습하는 여러 가지 방법과 결과를 보고 사용하는 여러 가지 방법이 있습니다.

작업 영역에서 모델의 스냅샷 캡처

클러스터링 모델 학습 구성 요소를 사용한 경우 다음을 수행합니다.

  1. 클러스터링 모델 학습 구성 요소를 선택하고 오른쪽 패널을 엽니다.

  2. 출력 탭을 선택합니다. 데이터 세트 등록 아이콘을 선택하여 학습된 모델의 복사본을 저장합니다.

저장된 모델은 모델을 저장한 시점의 학습 데이터를 나타냅니다. 나중에 파이프라인에 사용되는 학습 데이터를 업데이트하는 경우 저장된 모델을 업데이트하지 않습니다.

클러스터링 결과 데이터 세트 참조

클러스터링 모델 학습 구성 요소를 사용한 경우 다음을 수행합니다.

  1. 클러스터링 모델 학습 구성 요소를 마우스 오른쪽 단추로 클릭합니다.

  2. 시각화를 선택합니다.

최상의 클러스터링 모델을 생성하기 위한 팁

클러스터링 중에 사용되는 시드 프로세스는 모델에 큰 영향을 줄 수 있는 것으로 알려져 있습니다. 시드는 지점의 초기 배치를 잠재적인 중심점으로 지정하는 것을 의미합니다.

예를 들어 데이터 세트에 많은 이상값이 포함되어 있고 클러스터를 시드하기 위해 이상값을 선택한 경우 다른 데이터 요소가 해당 클러스터와 잘 맞지 않으며 클러스터는 싱글톤일 수 있습니다. 즉, 한 점만 있을 수 있습니다.

다음 몇 가지 방법으로 이 문제를 방지할 수 있습니다.

  • 중심을 변경하고 여러 시드 값을 시도합니다.

  • 메트릭을 변경하거나 더 반복하여 여러 모델을 만듭니다.

일반적으로 클러스터링 모델을 사용하면 지정된 구성으로 인해 로컬로 최적화된 클러스터 집합이 생성될 수 있습니다. 즉, 모델에서 반환된 클러스터 세트는 현재 데이터 요소에만 적합하고 다른 데이터로 일반화할 수 없습니다. 다른 초기 구성을 사용하는 경우 K-평균 메서드는 다른 우수한 구성을 찾을 수 있습니다.

다음 단계

Azure Machine Learning에서 사용 가능한 구성 요소 집합을 참조하세요.