logo

기계 학습의 클러스터링

실제 세계에서는 우리가 작업하는 모든 데이터에 목표 변수가 있는 것은 아닙니다. 이러한 종류의 데이터는 지도 학습 알고리즘을 사용하여 분석할 수 없습니다. 비지도 알고리즘의 도움이 필요합니다. 비지도 학습에서 가장 널리 사용되는 분석 유형 중 하나는 고객 세분화 타겟 광고, 알려지지 않았거나 새로운 감염 영역을 찾기 위한 의료 영상 및 이 기사에서 더 자세히 논의할 더 많은 사용 사례.

내용의 테이블

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

서로의 유사성을 기준으로 데이터 포인트를 그룹화하는 작업을 클러스터링 또는 클러스터 분석이라고 합니다. 이 방법은 다음 분기에 정의되어 있습니다. 비지도 학습 , 라벨이 지정되지 않은 데이터 포인트에서 통찰력을 얻는 것을 목표로 합니다. 지도 학습 목표 변수가 없습니다.



클러스터링은 이기종 데이터 세트에서 동종 데이터 포인트 그룹을 형성하는 것을 목표로 합니다. 유클리드 거리, 코사인 유사성, 맨해튼 거리 등과 같은 측정항목을 기반으로 유사성을 평가한 다음 유사성 점수가 가장 높은 포인트를 그룹화합니다.

예를 들어, 아래 그래프를 보면 거리에 따라 3개의 원형 클러스터가 형성되어 있음을 명확하게 알 수 있습니다.

기계 학습의 클러스터링

이제 형성된 클러스터의 모양이 원형일 필요는 없습니다. 클러스터의 모양은 임의적일 수 있습니다. 임의의 모양의 클러스터를 감지하는 데 잘 작동하는 알고리즘이 많이 있습니다.

mysql 업데이트 조인

예를 들어, 아래 주어진 그래프에서 형성된 클러스터는 원형 모양이 아님을 알 수 있습니다.

클러스터링 분석으로 식별된 임의 모양의 클러스터

클러스터링 유형

대체로 유사한 데이터 포인트를 그룹화하기 위해 수행할 수 있는 클러스터링에는 두 가지 유형이 있습니다.

  • 하드 클러스터링: 이러한 유형의 클러스터링에서 각 데이터 포인트는 클러스터에 완전히 속하거나 속하지 않습니다. 예를 들어 4개의 데이터 포인트가 있고 이를 2개의 클러스터로 클러스터링해야 한다고 가정해 보겠습니다. 따라서 각 데이터 포인트는 클러스터 1 또는 클러스터 2에 속합니다.
데이터 점수 클러스터
C1
C2
C2
C1
  • 소프트 클러스터링: 이러한 유형의 클러스터링에서는 각 데이터 포인트를 별도의 클러스터에 할당하는 대신 해당 포인트가 해당 클러스터일 확률이 평가됩니다. 예를 들어 4개의 데이터 포인트가 있고 이를 2개의 클러스터로 클러스터링해야 한다고 가정해 보겠습니다. 따라서 우리는 두 클러스터에 속하는 데이터 포인트의 확률을 평가할 것입니다. 이 확률은 모든 데이터 포인트에 대해 계산됩니다.
데이터 점수 C1의 확률 C2의 확률
0.91 0.09
0.3 0.7
0.17 0.83
1 0

클러스터링의 사용

이제 클러스터링 알고리즘 유형을 시작하기 전에 클러스터링 알고리즘의 사용 사례를 살펴보겠습니다. 클러스터링 알고리즘은 주로 다음 용도로 사용됩니다.

  • 시장 세분화 – 기업은 클러스터링을 사용하여 고객을 그룹화하고 타겟 광고를 사용하여 더 많은 청중을 유치합니다.
  • 소셜 네트워크 분석 – 소셜 미디어 사이트는 귀하의 데이터를 사용하여 귀하의 검색 행동을 이해하고 귀하에게 타겟 친구 추천 또는 콘텐츠 추천을 제공합니다.
  • 의료 영상 – 의사는 클러스터링을 사용하여 엑스레이와 같은 진단 영상에서 질병이 있는 부위를 찾아냅니다.
  • 이상 탐지 – 실시간 데이터 세트 스트림에서 이상값을 찾거나 사기 거래를 예측하기 위해 클러스터링을 사용하여 이를 식별할 수 있습니다.
  • 대규모 데이터 세트 작업 단순화 – 클러스터링이 완료된 후 각 클러스터에 클러스터 ID가 제공됩니다. 이제 기능 세트의 전체 기능 세트를 클러스터 ID로 줄일 수 있습니다. 클러스터링은 간단한 클러스터 ID로 복잡한 사례를 나타낼 수 있을 때 효과적입니다. 동일한 원리를 사용하여 데이터를 클러스터링하면 복잡한 데이터 세트를 더 간단하게 만들 수 있습니다.

클러스터링에는 더 많은 사용 사례가 있지만 클러스터링에는 몇 가지 주요하고 일반적인 사용 사례가 있습니다. 앞으로는 위 작업을 수행하는 데 도움이 되는 클러스터링 알고리즘에 대해 논의하겠습니다.

클러스터링 알고리즘의 유형

표면 수준에서 클러스터링은 구조화되지 않은 데이터를 분석하는 데 도움이 됩니다. 그래프 작성, 최단 거리 및 데이터 포인트의 밀도는 클러스터 형성에 영향을 미치는 몇 가지 요소입니다. 클러스터링은 유사성 척도라는 측정항목을 기반으로 개체의 관련성을 결정하는 프로세스입니다. 유사성 측정항목은 더 작은 기능 세트에서 더 쉽게 찾을 수 있습니다. 특성 수가 증가하면 유사성 측정값을 만드는 것이 더 어려워집니다. 데이터 마이닝에 활용되는 클러스터링 알고리즘의 유형에 따라 데이터 세트의 데이터를 그룹화하는 데 여러 가지 기술이 사용됩니다. 이 부분에서는 클러스터링 기술에 대해 설명합니다. 다양한 유형의 클러스터링 알고리즘은 다음과 같습니다.

  1. 중심 기반 클러스터링(파티셔닝 방법)
  2. 밀도 기반 클러스터링(모델 기반 방법)
  3. 연결 기반 클러스터링(계층적 클러스터링)
  4. 분포 기반 클러스터링

우리는 이러한 각 유형을 간략하게 살펴보겠습니다.

1. 분할 방법은 가장 쉬운 클러스터링 알고리즘입니다. 친밀도를 기준으로 데이터 포인트를 그룹화합니다. 일반적으로 이러한 알고리즘에 대해 선택되는 유사성 척도는 유클리드 거리, 맨해튼 거리 또는 민코프스키 거리입니다. 데이터 세트는 미리 결정된 수의 클러스터로 분리되며 각 클러스터는 값 벡터로 참조됩니다. 벡터 값과 비교할 때 입력 데이터 변수는 차이가 없으며 클러스터에 합류합니다.

맥 운영 체제

이러한 알고리즘의 주요 단점은 클러스터링 기계 학습 시스템이 데이터 포인트 할당을 시작하기 전에 직관적으로 또는 과학적으로(엘보우 방법 사용) 클러스터 수 k를 설정해야 한다는 요구 사항입니다. 그럼에도 불구하고 이는 여전히 가장 널리 사용되는 클러스터링 유형입니다. K-평균 그리고 K-메도이드 클러스터링은 이러한 유형의 클러스터링의 몇 가지 예입니다.

2. 밀도 기반 클러스터링(모델 기반 방법)

모델 기반 방법인 밀도 기반 클러스터링은 데이터 포인트의 밀도를 기반으로 그룹을 찾습니다. 클러스터 수를 미리 정의해야 하고 초기화에 민감한 중심 기반 클러스터링과 달리 밀도 기반 클러스터링은 클러스터 수를 자동으로 결정하며 시작 위치에 덜 민감합니다. 다양한 크기와 형태의 클러스터를 처리하는 데 뛰어나므로 모양이 불규칙하거나 클러스터가 겹치는 데이터 세트에 이상적으로 적합합니다. 이러한 방법은 로컬 밀도에 초점을 맞춰 밀집된 데이터 영역과 희박한 데이터 영역을 모두 관리하고 다양한 형태의 클러스터를 구별할 수 있습니다.

대조적으로, k-평균과 같은 중심 기반 그룹화는 임의의 모양의 클러스터를 찾는 데 어려움을 겪습니다. 미리 설정된 클러스터 요구 사항 수와 중심의 초기 위치 지정에 대한 극도의 민감도로 인해 결과가 달라질 수 있습니다. 또한 구형 또는 볼록한 클러스터를 생성하는 중심 기반 접근 방식의 경향으로 인해 복잡하거나 불규칙한 모양의 클러스터를 처리하는 능력이 제한됩니다. 결론적으로 밀도 기반 클러스터링은 클러스터 크기를 자율적으로 선택하고, 초기화에 대한 탄력성을 갖고, 다양한 크기와 형태의 클러스터를 성공적으로 캡처함으로써 중심 기반 기술의 단점을 극복합니다. 가장 널리 사용되는 밀도 기반 클러스터링 알고리즘은 다음과 같습니다. DBSCAN .

삼. 연결 기반 클러스터링(계층적 클러스터링)

관련 데이터 포인트를 계층적 클러스터로 모으는 방법을 계층적 클러스터링이라고 합니다. 각 데이터 포인트는 처음에는 별도의 클러스터로 간주되며 이후 가장 유사한 클러스터와 결합되어 모든 데이터 포인트를 포함하는 하나의 큰 클러스터를 형성합니다.

얼마나 유사한지에 따라 항목 모음을 어떻게 배열할 수 있는지 생각해 보세요. 계층적 클러스터링을 사용하면 각 개체는 트리와 유사한 구조인 덴드로그램을 생성하는 트리 기반에서 자체 클러스터로 시작됩니다. 그런 다음 알고리즘이 객체가 서로 얼마나 유사한지 조사한 후 가장 가까운 클러스터 쌍이 더 큰 클러스터로 결합됩니다. 모든 객체가 트리 상단의 하나의 클러스터에 있으면 병합 프로세스가 완료된 것입니다. 다양한 세분성 수준을 탐색하는 것은 계층적 클러스터링의 재미있는 점 중 하나입니다. 주어진 수의 클러스터를 얻으려면 다음을 선택하면 됩니다. 덴드로그램 특정 높이에서. 두 개체가 클러스터 내에 유사할수록 더 가까운 것입니다. 이는 가장 가까운 친척이 함께 모여 있고 더 넓은 가지가 더 일반적인 연결을 의미하는 가계도에 따라 항목을 분류하는 것과 비슷합니다. 계층적 클러스터링에는 두 가지 접근 방식이 있습니다.

  • 분열적인 클러스터링 : 이는 하향식 접근 방식을 따릅니다. 여기서는 모든 데이터 포인트를 하나의 큰 클러스터의 일부로 간주한 다음 이 클러스터를 더 작은 그룹으로 나눕니다.
  • 응집 클러스터링 : 이는 상향식 접근 방식을 따릅니다. 여기서는 모든 데이터 포인트를 개별 클러스터의 일부로 간주한 다음 이러한 클러스터를 함께 묶어 모든 데이터 포인트가 포함된 하나의 큰 클러스터를 만듭니다.

4. 분포 기반 클러스터링

분포 기반 클러스터링을 사용하면 데이터 포인트가 데이터 내에서 동일한 확률 분포(예: 가우스, 이항 등)에 속하는 경향에 따라 생성되고 구성됩니다. 데이터 요소는 통계 분포를 기반으로 하는 확률 기반 분포를 사용하여 그룹화됩니다. 클러스터에 있을 가능성이 더 높은 데이터 개체가 포함됩니다. 데이터 포인트가 모든 클러스터에 존재하는 클러스터의 중심점에서 멀어질수록 클러스터에 포함될 가능성이 낮아집니다.

밀도 및 경계 기반 접근 방식의 주목할만한 단점은 일부 알고리즘에 대해 선험적으로 클러스터를 지정하고 주로 대부분의 알고리즘에 대해 클러스터 형식을 정의해야 한다는 것입니다. 하나 이상의 튜닝이나 하이퍼 매개변수를 선택해야 하며, 그렇게 하는 것은 간단해야 하지만 잘못하면 예상치 못한 영향을 미칠 수 있습니다. 분포 기반 클러스터링은 유연성, 정확성 및 클러스터 구조 측면에서 근접성 및 중심 기반 클러스터링 접근 방식에 비해 확실한 이점이 있습니다. 가장 중요한 문제는 이를 방지하기 위해 과적합 , 많은 클러스터링 방법은 시뮬레이션 또는 제조된 데이터에서만 작동하거나 대량의 데이터 포인트가 확실히 사전 설정된 분포에 속하는 경우에만 작동합니다. 가장 널리 사용되는 분포 기반 클러스터링 알고리즘은 가우스 혼합 모델 .

다양한 분야의 클러스터링 적용:

  1. 마케팅: 마케팅 목적으로 고객 세그먼트를 특성화하고 발견하는 데 사용할 수 있습니다.
  2. 생물학: 다양한 종의 식물과 동물을 분류하는 데 사용할 수 있습니다.
  3. 라이브러리: 주제와 정보를 기반으로 다양한 책을 묶는 데 사용됩니다.
  4. 보험: 이는 고객과 고객의 정책을 확인하고 사기를 식별하는 데 사용됩니다.
  5. 도시 계획: 이는 주택 그룹을 만들고 지리적 위치 및 존재하는 기타 요인을 기반으로 주택의 가치를 연구하는 데 사용됩니다.
  6. 지진 연구: 지진의 영향을 받는 지역을 학습함으로써 우리는 위험 지역을 결정할 수 있습니다.
  7. 이미지 처리 : 클러스터링을 사용하면 유사한 이미지를 그룹화하고, 내용에 따라 이미지를 분류하고, 이미지 데이터의 패턴을 식별할 수 있습니다.
  8. 유전학: 클러스터링은 유사한 발현 패턴을 갖는 유전자를 그룹화하고 생물학적 과정에서 함께 작동하는 유전자 네트워크를 식별하는 데 사용됩니다.
  9. 재원: 클러스터링은 고객 행동을 기반으로 시장 부문을 식별하고, 주식 시장 데이터의 패턴을 식별하고, 투자 포트폴리오의 위험을 분석하는 데 사용됩니다.
  10. 고객 서비스: 클러스터링은 고객 문의 및 불만 사항을 카테고리별로 그룹화하고, 공통 문제를 식별하고, 목표 솔루션을 개발하는 데 사용됩니다.
  11. 조작 : 클러스터링은 유사한 제품을 그룹화하여 생산 공정을 최적화하고 제조 공정의 결함을 식별하는 데 사용됩니다.
  12. 의료 진단: 클러스터링은 유사한 증상이나 질병을 가진 환자를 그룹화하는 데 사용되며, 이는 정확한 진단을 내리고 효과적인 치료법을 찾는 데 도움이 됩니다.
  13. 사기 탐지: 클러스터링은 금융 거래에서 의심스러운 패턴이나 이상 징후를 식별하는 데 사용되며, 이는 사기나 기타 금융 범죄를 탐지하는 데 도움이 될 수 있습니다.
  14. 트래픽 분석: 클러스터링은 피크 시간, 경로, 속도 등 유사한 패턴의 교통 데이터를 그룹화하는 데 사용되며, 이는 교통 계획 및 인프라를 개선하는 데 도움이 될 수 있습니다.
  15. 소셜 네트워크 분석: 클러스터링은 소셜 네트워크 내의 커뮤니티나 그룹을 식별하는 데 사용되며, 이는 사회적 행동, 영향력 및 추세를 이해하는 데 도움이 될 수 있습니다.
  16. 사이버 보안: 클러스터링은 네트워크 트래픽이나 시스템 동작의 유사한 패턴을 그룹화하는 데 사용되며, 이는 사이버 공격을 탐지하고 예방하는 데 도움이 될 수 있습니다.
  17. 기후 분석: 클러스터링은 기온, 강수량, 바람 등 기후 데이터의 유사한 패턴을 그룹화하는 데 사용되며, 이는 기후 변화와 기후 변화가 환경에 미치는 영향을 이해하는 데 도움이 될 수 있습니다.
  18. 스포츠 분석: 클러스터링은 플레이어 또는 팀 성과 데이터의 유사한 패턴을 그룹화하는 데 사용되며, 이는 플레이어 또는 팀의 강점과 약점을 분석하고 전략적 결정을 내리는 데 도움이 될 수 있습니다.
  19. 범죄 분석: 클러스터링은 위치, 시간, 유형 등 범죄 데이터의 유사한 패턴을 그룹화하는 데 사용됩니다. 이는 범죄 핫스팟을 식별하고 향후 범죄 동향을 예측하며 범죄 예방 전략을 개선하는 데 도움이 될 수 있습니다.

결론

이 기사에서는 클러스터링, 유형 및 실제 응용 프로그램에 대해 논의했습니다. 비지도 학습에서는 다루어야 할 내용이 훨씬 더 많으며 클러스터 분석은 첫 번째 단계에 불과합니다. 이 문서는 클러스터링 알고리즘을 시작하고 포트폴리오에 추가할 수 있는 새 프로젝트를 얻는 데 도움이 될 수 있습니다.

클러스터링에 대한 자주 묻는 질문(FAQ)

Q. 가장 좋은 클러스터링 방법은 무엇입니까?

상위 10개 클러스터링 알고리즘은 다음과 같습니다.

  1. K-평균 클러스터링
  2. 계층적 클러스터링
  3. DBSCAN(노이즈가 있는 애플리케이션의 밀도 기반 공간 클러스터링)
  4. 가우스 혼합 모델(GMM)
  5. 응집 클러스터링
  6. 스펙트럼 클러스터링
  7. 평균 교대 클러스터링
  8. 선호도 전파
  9. OPTICS(클러스터링 구조를 식별하기 위한 주문 지점)
  10. Birch(계층 구조를 사용한 균형 있는 반복 감소 및 클러스터링)

Q. 클러스터링과 분류의 차이점은 무엇인가요?

클러스터링과 분류의 주요 차이점은 분류는 지도 학습 알고리즘이고 클러스터링은 비지도 학습 알고리즘이라는 것입니다. 즉, 대상 변수가 없는 데이터 세트에 클러스터링을 적용합니다.

Q. 군집분석의 장점은 무엇인가요?

클러스터 분석이라는 강력한 분석 도구를 사용하여 데이터를 의미 있는 그룹으로 구성할 수 있습니다. 이를 사용하여 세그먼트를 찾아내고, 숨겨진 패턴을 찾고, 의사결정을 개선할 수 있습니다.

Q. 가장 빠른 클러스터링 방법은 무엇입니까?

K-평균 클러스터링은 단순성과 계산 효율성으로 인해 가장 빠른 클러스터링 방법으로 간주되는 경우가 많습니다. 데이터 포인트를 가장 가까운 클러스터 중심에 반복적으로 할당하므로 차원이 낮고 클러스터 수가 적당한 대규모 데이터 세트에 적합합니다.

js 여러 줄 문자열

Q. 클러스터링의 한계는 무엇인가요?

클러스터링의 한계에는 초기 조건에 대한 민감도, 매개변수 선택에 대한 의존성, 최적의 클러스터 수 결정의 어려움, 고차원 또는 잡음이 있는 데이터 처리 시의 어려움 등이 포함됩니다.

Q. 클러스터링 결과의 품질은 무엇에 달려있나요?

클러스터링 결과의 품질은 알고리즘 선택, 거리 메트릭, 클러스터 수, 초기화 방법, 데이터 전처리 기술, 클러스터 평가 메트릭 및 도메인 지식과 같은 요소에 따라 달라집니다. 이러한 요소는 클러스터링 결과의 효율성과 정확성에 집합적으로 영향을 미칩니다.