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

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

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

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

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

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

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

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

K-평균 클러스터링 이해

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

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

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

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

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

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

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

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

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

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

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

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

    • 처음 N개: 데이터 세트에서 초기 개수의 데이터 요소를 선택하고 초기 평균으로 사용합니다.

      ‘Forgy 방법’이라고도 합니다.

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

      ‘임의 분할’ 방법이라고도 합니다.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

결과

모델 구성과 학습을 완료하면 점수를 생성하는 데 사용할 수 있는 모델이 생성됩니다. 그러나 모델을 학습하는 방법과 결과를 확인하고 사용하는 방법에는 여러 가지가 있습니다.

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

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

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

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

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

클러스터링 결과 데이터 세트 확인

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

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

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

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

클러스터링하는 동안 사용된 ‘시딩’ 프로세스가 모델에 상당한 영향을 줄 수 있다는 것은 잘 알려진 사실입니다. 시딩은 잠재적 중심에 대한 요소의 초기 배치를 의미합니다.

예를 들어 데이터 세트에 많은 이상값이 포함되어 있고 클러스터 시딩에 이상값이 선택된 경우 다른 데이터 요소는 해당 클러스터에 적합하지 않으며 클러스터가 싱글톤이 될 수 있습니다. 즉, 요소가 하나뿐일 수 있습니다.

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

  • 중심 수를 변경하여 여러 시드 값을 사용해 봅니다.

  • 메트릭을 변경하거나 반복 횟수를 늘려 여러 모델을 만듭니다.

일반적으로 클러스터링 모델에서는 어떤 구성을 사용하든 관계없이 로컬에 최적화된 클러스터 세트가 생성될 수 있습니다. 즉, 모델에서 반환된 클러스터 세트는 현재 데이터 요소에만 적합하고 다른 데이터로 일반화할 수 없습니다. 다른 초기 구성을 사용할 경우 K-평균 방법은 다른 우수한 구성을 찾을 수도 있습니다.

다음 단계

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