K는 Matlab 클러스터링을 의미합니다. [소스 코드 포함]

게시 됨: 2020-12-09

K-평균 클러스터링은 데이터 전문가가 가장 일반적으로 사용하는 기술 중 하나입니다. 알고리즘의 효율성으로 인해 다양한 응용 분야에서 수많은 산업 분야에서 요구되고 있습니다.

데이터 과학자의 작업에는 여러 단계에서 클러스터링을 구현해야 합니다. 현재 많은 대규모 프로젝트가 클러스터링 알고리즘을 기반으로 하고 있으며 데이터 과학 전문가의 요구에 대한 기준을 크게 높였습니다.

이러한 알고리즘 중 하나는 K-평균 클러스터링으로, 이는 이 기사의 기본 아이디어이자 MATLAB 소스 코드로 구현하는 것입니다.

주제를 파악하기 전에 클러스터링이 무엇인지, 그 중요성과 실제 생활에서 어떻게 구현할 수 있는지 간단히 살펴보겠습니다. 게시물이 끝나면 이 알고리즘이 대규모 세트의 데이터를 이해하는 데 얼마나 중요한지 알게 될 것입니다.

목차

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

데이터는 모든 애플리케이션에서 가장 중요한 구성 요소이며 클러스터는 결합된 유사한 데이터 포인트의 축적에 불과합니다. 이름에서 명확하게 정의할 수 있듯이 클러스터링은 데이터 패턴에 따라 많은 양의 데이터를 하위 그룹으로 또는 클러스터로만 나누는 프로세스입니다.

기계 학습에서 클러스터링은 사용 가능한 사전 정의된 데이터가 없을 때 적용됩니다. 궁극적인 목표는 데이터를 클래스 내 유사성이 높은 클래스로 그룹화하는 것입니다.

클러스터링은 데이터를 탐색하는 데 사용됩니다. 사용할 수 있는 몇 가지 실제 사례는 유사한 행동을 가진 고객을 찾기 위한 시장 세분화, 이미지 세분화/압축, 여러 주제의 문서 클러스터링 등이 있습니다.

지도 모델을 구축하기 위해 동종 그룹을 식별하기 위해 데이터를 처리하기 전에 필요한 단계입니다. K-평균 클러스터링은 유사한 관찰을 통합하고 별개의 그룹을 형성 하기 위해 데이터를 찾아야 하기 때문에 비지도 학습 알고리즘입니다.

가장 많이 적용되고 가장 간단한 클러스터링 알고리즘 중 하나인 K-Means 알고리즘 을 살펴보자 .

K-평균 클러스터링

이미지 소스

K-평균 클러스터링은 가장 원하는 비지도 머신 러닝 알고리즘 중 하나입니다.

비지도 알고리즘은 레이블이 지정된 결과를 참조하지 않고 입력 벡터를 사용하여 데이터 세트에서 결론을 내립니다.

각 데이터 포인트가 하나의 그룹 에 속하는 클러스터 내 데이터 포인트의 유사도가 증가하고 클러스터 간의 거리는 최적으로 유지됩니다.

데이터 포인트와 클러스터 중심 사이의 거리는 유클리드 거리와 같이 최소로 유지됩니다. K-Means에서 각 클러스터는 중심에 연결됩니다. 주요 목표는 포인트와 해당 클러스터 중심 사이의 거리를 최소화하는 것입니다.

K-평균 클러스터링은 어떻게 작동합니까?

클러스터링 프로세스는 여러 번의 반복을 수행해야 하므로 K-Means 알고리즘은 고유한 작동 방식을 가지고 있습니다. 다음은 작동 방식에 대한 단계별 설명입니다.

이미지 소스

1단계: 처음에 클러스터 수 ' 2단계: 무작위 K 데이터 포인트를 각 클러스터의 중심으로 초기화합니다.

2개의 클러스터가 있는 경우 'K'의 값은 2가 됩니다.

3단계: 클러스터에 할당된 데이터 포인트가 변경되지 않을 때까지 여러 번 반복합니다.

4단계: 데이터 포인트와 중심 사이의 거리 제곱의 합을 계산합니다.

5단계: 각 데이터 포인트를 가장 가까운 클러스터(중심)에 할당하여 거리를 최소화합니다.

6단계: 서로 속한 클러스터의 중심을 평균합니다.

이것은 중심을 계산하고 중심으로부터의 거리를 기반으로 클러스터에 점을 할당하기 위해 수행되는 단일 반복 프로세스입니다. 모든 중심이 정의되면 프로세스가 중지됩니다.

K-평균 클러스터링 구현을 설명하는 예시

성명서: 유명한 식품 체인 중 하나인 McDonald's는 캘리포니아 전역에 체인 매장을 열고 최대 수익을 얻을 수 있는 위치를 찾고자 합니다.

맥도날드는 이미 무엇을 가지고 있습니까?

Ø 강력한 전자 상거래 존재

Ø 주문이 자주 일어나는 위치를 분석하기 위한 온라인 고객 데이터

그들이 직면할 수 있는 가능한 도전

  • 주문이 자주 들어오는 지역을 분석합니다.
  • 해당 지역에 얼마나 많은 매장을 개설해야 하는지 파악
  • 매장과 배송 지점 사이의 최소 거리를 유지하기 위해 모든 지역 내에서 매장 위치를 ​​파악합니다.

이 모든 점을 처리하려면 많은 분석과 수학이 필요합니다.

여기서 K-means 클러스터링 방법을 어떻게 사용할 수 있습니까?

K의 사전 정의된 값을 사용하여 K-평균 알고리즘은 다음 단계로 구현될 수 있습니다.

  • K개의 비어 있지 않은 하위 집합으로 객체의 K 파티션으로 상점 위치 식별.
  • 파티션의 클러스터 중심을 결정합니다.
  • 각 위치를 특정 클러스터에 할당합니다.
  • 각 위치에서 거리를 계산하고 콘센트와의 거리가 최소인 클러스터에 포인트를 할당합니다.
  • 한 번의 반복 후에 점을 다시 할당하고 형성된 새 클러스터의 중심을 찾습니다.

마찬가지로 K-Means Clustering 알고리즘은 다양한 규모의 다양한 응용 프로그램에 적용될 수 있습니다. 환대 산업, 범죄 수사 부서, 이미지 크기 조정 등을 들 수 있습니다.

K-Means 알고리즘은 R , Python, MATLAB 등과 같은 많은 언어를 사용하여 구현됩니다. 다음 섹션에서는 K-Means 클러스터링 MATLAB이 어떻게 적용되는지 살펴보겠습니다.

읽기: Matlab의 함수 유형

MATLAB을 사용한 K-평균 알고리즘

K-Means는 데이터 과학, 기계 학습, 인공 지능, 암호화 및 사이버 보안을 다루는 많은 전문가가 사용하는 널리 사용되는 알고리즘입니다.

이 알고리즘을 사용하는 핵심 목적은 각 클러스터의 중심을 찾는 것입니다. 프로그래머에게 주어진 데이터는 이질적입니다. 다음은 각 클러스터의 중심을 플로팅하고 각 중심의 좌표를 할당하는 MATLAB 코드입니다.

MATLAB 클러스터링

암호:

rng 기본값; % 재현성

X = [randn(100,2)*0.75+ones(100,2);

randn(100,2)*0.5-ones(100,2)];

opts=statset('디스플레이','최종');

[idx,C]=kmeans(X,4,'Distance','cityblock','Replicates',5,'Options',opts);

plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12);

기다리다;

plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12);

plot(X(idx==3,1),X(idx==3,2),'g.','MarkerSize',12);

plot(X(idx==4,1),X(idx==4,2),'y.','MarkerSize',12);

plot(C(:,1),C(:,2),'Kx','MarkerSize',15,'LineWidth',3);

legend('클러스터 1','클러스터 2','클러스터 3','클러스터 4','중심', '위치','NW');

title('클러스터 할당 및 중심');

보류하다;

i=1:크기(C, 1)의 경우

display(['중심 ', num2str(i), ': X1 = ', num2str(C(i, 1)), '; X2 = ', num2str(C(i, 2))]);

산출:

4개의 클러스터와 각 중심을 보여주는 MATLAB 창

이미지 소스

결과:

구한 중심은 다음과 같습니다.

  1. 중심 1에 대한 X1 및 X2 값: 1.3661; 1.7232
  2. 중심 2에 대한 X1 및 X2 값: -1.015; -1.053
  3. Centroid 3에 대한 X1 및 X2 값: 1.6565; 0.36376
  4. Centroid 4의 X1 및 X2 값: 0.35134; 0.85358

K-Means 클러스터링을 구현할 수 있는 일부 비즈니스 영역

K-평균 클러스터링은 다목적 알고리즘이며 모든 유형의 그룹화에 대한 많은 비즈니스 사용 사례에 사용할 수 있습니다. 몇 가지 예는 다음과 같습니다.

Ø 행동 분리:

  • 구매내역을 이용한 구분
  • 애플리케이션, 웹사이트 또는 플랫폼 활동을 사용하는 부문
  • 관심사를 기반으로 고객의 이미지 식별
  • 모니터링 활동을 통한 프로필 생성

Ø 이미지 스케일링

  • Python을 사용한 이미지 압축

Ø 센서 측정:

  • 모션 센서 활동 유형 감지
  • 그룹 이미지
  • 오디오 나누기
  • 스팟 상태 모니터링 그룹

Ø 봇 또는 이상 징후 확인:

  • 봇에서 활동 그룹 분리
  • 이상치 탐지를 정리하기 위해 유효한 활동 그룹을 만듭니다.

Ø 재고 분류:

  • 판매 활동별로 인벤토리 그룹 만들기
  • 제조 메트릭으로 인벤토리 그룹 만들기

K-Means 클러스터링의 장점

최고의 전문가들이 K-Means 클러스터링 알고리즘을 선호하는 데는 이유가 있습니다. 다음과 같은 이점이 있습니다.

  • 빠르고 강력하며 이해하기 쉬운 알고리즘입니다.
  • 최종 효율이 상대적으로 높음
  • 데이터 세트가 서로 다를 때 놀라운 결과를 제공합니다. 더 높은 변수 값의 경우 K-평균이 비교적 빠르게 작동합니다.
  • K-Means로 생성된 클러스터는 다른 클러스터링 방법보다 상대적으로 빡빡합니다.

반드시 읽어야 함: MATLAB 데이터형

결론

K-평균 클러스터링은 데이터 클러스터를 분석하기 위해 널리 사용되는 접근 방식입니다. 일단 명령을 내리면 이해하기 쉽고 결과를 빠르게 적용하고 전달할 수 있습니다.

우리는 이 기사를 희망합니다. 이 분석 기법을 소개할 수 있습니다. K-means 알고리즘에 대한 질문이 있으면 아래에 자유롭게 의견을 말하십시오.

또한, 이 연구 분야에 관심이 있으시면 30개 이상의 사례 연구 및 과제, 업계 전문가의 25개 이상의 멘토링 세션, 10개의 Practical Hands- Capstone Projects에서 450시간 이상의 학습 및 배치 지원.

기계 학습에서 K는 클러스터링을 의미합니까?

이것은 비지도 머신 러닝에 사용되는 인기 있는 클러스터링 알고리즘입니다. K Means 알고리즘은 K 중심을 무작위로 식별하는 원리에 따라 작동합니다. 다음 단계에서 알고리즘은 군집 내 전체 거리를 최대화하고 군집 간 전체 거리도 최소화하려고 합니다. K 평균 알고리즘은 반복적인 접근 방식입니다. 각 반복에서 현재 중심 집합에서 K 평균을 선택합니다. 그런 다음 알고리즘은 각 관측치를 가장 가까운 K 평균에 할당합니다. 두 군집 사이의 거리는 가장 가까운 두 관측치 사이의 거리를 기반으로 계산됩니다. 군집의 중심은 군집에 있는 모든 관측치의 평균으로 정의됩니다.

K Means 클러스터링 알고리즘의 한계는 무엇입니까?

K 수단에는 사용할 때 염두에 두어야 할 몇 가지 제한 사항이 있습니다. K 평균은 이상값에 강하지 않습니다. K Means 알고리즘은 모든 데이터 포인트가 중심에서 거의 같은 거리에 있을 때만 잘 작동합니다. 일부 데이터 포인트가 중심에서 멀리 떨어져 있으면 다른 데이터 포인트 할당이 클러스터에 편중됩니다. K Means는 고유한 솔루션을 보장하지 않습니다. 포인트 클러스터가 두 개 이상인 경우 알고리즘이 실행될 때마다 K 평균이 동일한 수의 클러스터를 반환한다는 보장은 없습니다. K 천천히 수렴함을 의미합니다. 알고리즘은 작은 데이터 세트에서도 매우 느리게 수렴됩니다.

K Means 클러스터링의 장점은 무엇입니까?

단일 및 다중 차원 모두에 효과적입니다. 2차원과 3차원 모두에 적용할 수 있습니다. 클러스터가 많은 상황에서 특히 유용합니다. 클러스터는 데이터 포인트의 중간 지점에서 얻습니다. 각 클러스터에 대해 평균값이 계산됩니다. 각 점을 표준편차로 나눈 다음 평균값과 비교합니다. 평균값과 표준편차는 모든 군집과 점에 대해 계산됩니다.