비지도 기계 학습을 탐색하기 위한 9가지 클러스터링 알고리즘

PHPz
풀어 주다: 2023-12-01 17:39:05
앞으로
691명이 탐색했습니다.

오늘은 머신러닝에서 흔히 볼 수 있는 비지도 학습 클러스터링 방법을 공유하고자 합니다

비지도 학습에서는 데이터에 라벨이 없으므로 비지도 학습에서 해야 할 일은 다음과 같습니다. 알고리즘에 입력하면 알고리즘은 데이터에 내재된 일부 구조를 찾을 수 있습니다. 아래 그림의 데이터를 통해 찾을 수 있는 구조 중 하나는 데이터 세트의 포인트가 두 개의 별도 포인트 세트로 나눌 수 있다는 것입니다. .(클러스터), 이러한 클러스터(cluster)를 순환할 수 있는 알고리즘을 클러스터링 알고리즘이라고 합니다.

비지도 기계 학습을 탐색하기 위한 9가지 클러스터링 알고리즘

클러스터링 알고리즘 적용

비지도 기계 학습을 탐색하기 위한 9가지 클러스터링 알고리즘

  • 시장 세분화: 시장에 따라 데이터베이스의 고객 정보를 그룹화하여 다양한 시장에 따라 별도의 판매 또는 서비스 개선을 달성합니다.
  • 소셜 네트워크 분석: 가장 자주 연락하는 사람과 가장 자주 연락하는 사람에게 이메일을 보내 가까운 그룹을 찾으세요.
  • 컴퓨터 클러스터 구성: 데이터 센터에서 컴퓨터 클러스터는 종종 함께 작동하며 리소스 재구성, 네트워크 재배치, 데이터 센터 최적화 및 데이터 통신에 사용될 수 있습니다.
  • 은하수의 구성을 이해하세요. 이 정보를 사용하여 천문학에 대해 알아보세요.

군집 분석의 목표는 관측치를 그룹("군집")으로 나누어 동일한 군집에 할당된 관측치 간의 쌍별 차이가 다른 군집에 있는 관측치 간의 차이보다 작은 경향이 있도록 하는 것입니다. 클러스터링 알고리즘은 조합 알고리즘, 하이브리드 모델링 및 패턴 검색의 세 가지 유형으로 구분됩니다.

몇 가지 일반적인 클러스터링 알고리즘은 다음과 같습니다.

  • K-평균 클러스터링
  • 계층적 클러스터링
  • 집합 클러스터링
  • 친화성 전파
  • 평균 이동 클러스터링
  • K-평균을 이분화
  • DBSCAN
  • 광학
  • 자작나무

K-평균

K-평균 알고리즘은 현재 가장 널리 사용되는 클러스터링 방법 중 하나입니다.

K-수단은 1957년 Bell Labs의 Stuart Lloyd가 제안했습니다. 원래는 펄스 코드 변조에 사용되었으며 1982년이 되어서야 이 알고리즘이 대중에게 발표되었습니다. 1965년에 Edward W. Forgy가 동일한 알고리즘을 발표했기 때문에 K-Means를 Lloyd-Forgy라고도 합니다.

클러스터링 문제는 일반적으로 레이블이 없는 데이터 세트 세트를 처리해야 하며 이러한 데이터를 밀접하게 관련된 하위 세트 또는 클러스터로 자동으로 나누는 알고리즘이 필요합니다. 현재 가장 인기 있고 널리 사용되는 클러스터링 알고리즘은 K-평균 알고리즘입니다.

K-평균 알고리즘에 대한 직관적인 이해:

비지도 기계 학습을 탐색하기 위한 9가지 클러스터링 알고리즘

레이블이 지정되지 않은 데이터 세트가 있다고 가정합니다(그림 왼쪽). 위), 이를 두 개의 클러스터로 나누고 싶다면 이제 K-평균 알고리즘을 실행하십시오. 구체적인 작업은 다음과 같습니다. 데이터를 두 가지 범주로 나눕니다)(위 그림의 오른쪽). 이 두 점을 군집 중심이라고 합니다.

  • 두 번째 단계는 K-평균 알고리즘의 내부 루프를 수행하는 것입니다. K-평균 알고리즘은 두 가지 작업을 수행하는 반복 알고리즘입니다. 첫 번째는 클러스터 할당이고 두 번째는 중심 이동입니다.
  • 내부 루프의 첫 번째 단계는 클러스터 할당을 수행하는 것입니다. 즉, 각 샘플을 순회한 다음 각 포인트에서 클러스터 중심까지의 거리를 기준으로 각 포인트를 다른 클러스터 중심에 할당합니다. 이 경우는 데이터 세트를 반복하고 각 지점을 빨간색 또는 파란색으로 색칠하는 것입니다.

내부 루프의 두 번째 단계는 빨간색과 파란색 클러스터 중심이 자신이 속한 포인트의 평균 위치로 이동하도록 클러스터 중심을 이동하는 것입니다.

새 클러스터 중심에 따라 모든 포인트를 만듭니다. 클러스터 할당은 거리를 기준으로 이루어지며, 이 과정은 반복에 따라 클러스터 중심의 위치가 더 이상 변하지 않고, 포인트의 색상도 더 이상 변하지 않을 때까지 반복됩니다. 이때 K-means는 Aggregation을 완료했다고 할 수 있다. 이 알고리즘은 데이터에서 두 개의 클러스터를 찾는 데 매우 효과적입니다

K-Means 알고리즘의 장점:

간단하고 이해하기 쉽고, 계산 속도가 빠르며, 대규모 데이터 세트에 적합합니다.

단점:

  • 예를 들어 비구형 군집에 대한 처리 능력이 좋지 않고 초기 군집 중심 선택에 쉽게 영향을 받으며 군집 개수 K를 지정해야 합니다. 미리.
  • 또한 데이터 포인트 사이에 노이즈나 이상값이 있는 경우 K-Means 알고리즘이 이를 잘못된 클러스터에 할당할 수 있습니다.

계층적 군집화

계층적 군집화는 샘플 세트를 특정 수준에 따라 군집화하는 작업입니다. 여기서 레벨은 실제로 일정한 거리에 대한 정의를 의미합니다

클러스터링의 궁극적인 목적은 분류 수를 줄이는 것이므로 리프 노드에서 루트 노드로 점진적으로 접근하는 덴드로그램 프로세스와 동작이 유사합니다. 이러한 종류의 동작은 "상향식"이라고도 합니다

더 일반적으로 계층적 클러스터링은 초기화된 클러스터를 트리 노드로 처리합니다. 각 반복 단계에서 두 개의 유사한 클러스터가 병합되어 새로운 대규모 클러스터가 생성됩니다. 이 프로세스는 마지막으로 하나의 클러스터(루트 노드)만 남을 때까지 반복됩니다.

계층적 클러스터링 전략은 집계(상향식)와 분할(하향식)이라는 두 가지 기본 패러다임으로 나뉩니다.

계층적 클러스터링의 반대는 DIANA(분할 분석)라고도 알려진 분할 클러스터링으로, 동작 프로세스가 "하향식"입니다.

K-평균 알고리즘의 결과는 검색하기 위해 선택한 클러스터에 따라 달라집니다. . 클래스 수 할당 및 시작 구성. 대조적으로, 계층적 클러스터링 방법에는 그러한 사양이 필요하지 않습니다. 대신, 사용자는 두 관측치 세트 간의 쌍별 비유사성을 기반으로 관측치 그룹 간의 비유사성 척도를 지정해야 합니다. 이름에서 알 수 있듯이 계층적 클러스터링 방법은 다음 하위 수준의 클러스터를 병합하여 각 수준의 클러스터가 생성되는 계층적 표현을 생성합니다. 가장 낮은 수준에서 각 클러스터에는 하나의 관측치가 포함됩니다. 최고 수준에서는 하나의 클러스터에만 모든 데이터가 포함됩니다.

거리 및 규칙 유사성은 정의하기 쉽고 제한이 거의 없습니다.

  • 클러스터 수를 미리 결정할 필요가 없습니다. ;
  • 클래스의 계층적 관계를 발견할 수 있습니다.
  • 다른 모양으로 클러스터링할 수 있습니다. disadvantages : computional 계산 값은 또한 큰 영향을 미칠 수 있습니다.
  • Agglomerative Clustering
다시 작성된 내용은 다음과 같습니다. Agglomerative Clustering은 각 데이터 포인트를 초기 클러스터로 처리하고 점차적으로 병합하는 상향식 클러스터링 알고리즘입니다. 중지 조건이 충족될 때까지 더 큰 클러스터를 형성합니다. 이 알고리즘에서 각 데이터 포인트는 처음에는 별도의 클러스터로 처리된 다음 모든 데이터 포인트가 하나의 큰 클러스터로 병합될 때까지 클러스터가 점차적으로 병합됩니다.

장점:

  • 다양한 모양과 크기에 적합 클러스터 수를 미리 지정할 필요가 없습니다.
  • 알고리즘은 쉬운 분석과 시각화를 위해 클러스터링 계층 구조를 출력할 수도 있습니다.
단점:

계산 복잡도가 높으며, 특히 대규모 데이터 세트를 처리할 때는 많은 컴퓨팅 리소스와 저장 공간이 필요합니다. 이 알고리즘은 초기 클러스터 선택에도 민감하므로 클러스터링 결과가 달라질 수 있습니다.

  • Affinity Propagation
  • 수정된 내용: Affinity Propagation Algorithm(AP)은 일반적으로 Affinity Propagation Algorithm 또는 Proximity Propagation Algorithm으로 번역됩니다.
Affinity Propagation은 그래프 이론에 기반한 클러스터링 알고리즘으로, "모범"을 식별하는 것을 목표로 합니다. "(대표점) 및 "클러스터"(클러스터)를 데이터에 포함합니다. K-Means와 같은 기존 군집화 알고리즘과 달리 Affinity Propagation은 군집 수를 미리 지정할 필요가 없고 군집 중심을 무작위로 초기화할 필요도 없으며 대신 데이터 포인트 간의 유사성을 계산하여 최종 군집화 결과를 얻습니다.

장점:

  • 최종 클러스터 패밀리 수를 지정할 필요가 없습니다.
  • 새 클러스터 센터를 생성하는 대신 기존 데이터 포인트를 최종 클러스터 센터로 사용합니다.
  • 모델은 데이터의 초기 값에 민감하지 않습니다.
  • 초기 유사성 행렬 데이터의 대칭성에 대한 요구 사항은 없습니다.
  • k-centers 클러스터링 방법과 비교하여 결과의 ​​제곱 오류 오류가 더 작습니다.

단점:

  • 이 알고리즘은 계산 복잡도가 높으며 많은 저장 공간과 컴퓨팅 리소스가 필요합니다.
  • 노이즈 지점 및 이상값에 대한 처리 기능이 약합니다.

평균 이동 클러스터링

이동 클러스터링은 밀도 기반 비모수적 클러스터링 알고리즘으로, 기본 아이디어는 데이터 포인트 밀도가 가장 높은 위치("로컬 최대값" 또는 "피크"라고 함)를 찾는 것입니다. , 데이터에서 클러스터를 식별합니다. 이 알고리즘의 핵심은 각 데이터 포인트의 국소 밀도를 추정하고, 밀도 추정 결과를 사용하여 데이터 포인트의 이동 방향과 거리를 계산하는 것입니다.

장점:

  • 필요 없음 클러스터 수를 지정하고 복잡한 모양의 클러스터에도 좋은 결과를 제공합니다.
  • 알고리즘은 시끄러운 데이터도 효과적으로 처리할 수 있습니다.

단점:

  • 특히 대량의 컴퓨팅 리소스와 저장 공간이 필요한 대규모 데이터 세트를 처리할 때 계산 복잡성이 높습니다.
  • 이 알고리즘에는 초기 작업도 필요합니다. 매개변수 선택은 상대적으로 민감하며 매개변수 조정 및 최적화가 필요합니다.

K-평균 이등분

K-평균 이등분은 K-평균 알고리즘을 기반으로 하는 계층적 클러스터링 알고리즘의 기본 아이디어는 모든 데이터 포인트를 클러스터로 나눈 다음 클러스터를 두 개의 하위 클러스터로 나누는 것입니다. , 각 하위 클러스터에 별도로 K-Means 알고리즘을 적용하고 미리 정해진 클러스터 수에 도달할 때까지 이 과정을 반복합니다.

알고리즘은 먼저 모든 데이터 포인트를 초기 클러스터로 처리한 다음 K-Means 알고리즘을 클러스터에 적용하고 클러스터를 두 개의 하위 클러스터로 나누고 각 하위 클러스터에 대해 SSE(제곱 오류 합계)를 계산합니다. 무리. 그런 다음 오차 제곱합이 가장 큰 하위 클러스터를 선택하여 다시 두 개의 하위 클러스터로 나누는 과정을 미리 정해진 클러스터 수에 도달할 때까지 반복합니다.

장점:

  • 정확도와 안정성이 높고 대규모 데이터 세트를 효과적으로 처리할 수 있으며 초기 클러스터 수를 지정할 필요가 없습니다.
  • 알고리즘은 쉬운 분석과 시각화를 위해 클러스터링 계층 구조를 출력할 수도 있습니다.

단점:

  • 계산 복잡도가 높으며, 특히 대규모 데이터 세트를 처리할 때는 많은 양의 컴퓨팅 리소스와 저장 공간이 필요합니다.
  • 또한 이 알고리즘은 초기 클러스터 선택에도 민감하므로 클러스터링 결과가 달라질 수 있습니다.

DBSCAN

밀도 기반 공간 클러스터링 알고리즘인 DBSCAN(Density-Based Spatial Clustering of Application with Noise)은 노이즈가 있는 일반적인 클러스터링 방법입니다.

밀도 방법은 거리 특성에 의존하지 않지만 의존적입니다. 밀도에. 따라서 거리 기반 알고리즘은 "구형" 클러스터만 찾을 수 있다는 단점을 극복할 수 있습니다

DBSCAN 알고리즘의 핵심 아이디어는 다음과 같습니다. 특정 데이터 포인트에 대해 밀도가 특정 임계값에 도달하면 해당 클러스터는 클러스터에서는 그렇지 않으면 노이즈 지점으로 간주됩니다.

장점:

  • 이 유형의 알고리즘은 "원형"(볼록한) 클러스터만 찾을 수 있는 거리 기반 알고리즘의 단점을 극복할 수 있습니다.
  • 모든 모양의 클러스터를 찾을 수 있습니다.
  • 클러스터 클래스 수를 지정할 필요가 없습니다.
  • 알고리즘에는 스캐닝 반경(eps)과 최소 포함 포인트 수(min_samples)라는 두 가지 매개변수만 있습니다.

단점:

  • 계산 복잡도, 최적화 없이 알고리즘의 시간 복잡도는 O(N^{2})이며 일반적으로 R-트리, k-d 트리, 공을 사용할 수 있습니다.
  • 트리 인덱스는 계산 속도를 높이고 알고리즘의 시간 복잡도를 O(Nlog(N))로 줄입니다.
  • EPS의 영향을 크게 받습니다. 클래스 내 데이터 분포의 밀도가 고르지 않은 경우, EPS가 작으면 밀도가 작은 클러스터가 유사한 속성을 가진 여러 클러스터로 분할되고, EPS가 크면 더 가깝고 밀도가 높은 클러스터가 하나의 클러스터로 병합됩니다. 고차원 데이터의 경우 차원의 저주로 인해 EPS 선택이 더 어렵습니다.
  • 차원의 저주로 인해 거리 공식의 선택에 의존합니다.
  • 은(는) EPS와 미터법을 선택하기 어렵기 때문에 데이터 세트의 농도 차이에 적합하지 않습니다.

OPTICS

OPTICS(Ordering Points To 식별 the Clustering Structure)는 자동으로 클러스터 수를 결정하고 모든 형태의 클러스터를 검색할 수 있으며 노이즈가 있는 데이터를 처리할 수 있는 밀도 기반 클러스터링 알고리즘입니다. OPTICS 알고리즘의 핵심 아이디어는 주어진 데이터 포인트와 다른 포인트 사이의 거리를 계산하여 밀도에 대한 도달 가능성을 결정하고 밀도 기반 거리 맵을 구성하는 것입니다. 그런 다음 이 거리 지도를 스캔하면 자동으로 클러스터 수를 결정하고 각 클러스터를 나눕니다

장점:

자동으로 클러스터 수를 결정하고 모든 모양의 클러스터를 처리할 수 있으며 가능합니다. 시끄러운 데이터를 효과적으로 처리합니다.
  • 알고리즘은 쉬운 분석과 시각화를 위해 클러스터링 계층 구조를 출력할 수도 있습니다.
  • 단점:

계산 복잡도가 높으며, 특히 대규모 데이터 세트를 처리할 때는 많은 컴퓨팅 리소스와 저장 공간이 필요합니다.
  • 이 알고리즘은 밀도 차이가 큰 데이터 세트에 대해 클러스터링 결과가 좋지 않을 수 있습니다.
  • BIRCH

BIRCH(Balanced Iterative Reduction and Hierarchical Clustering)는 대규모 데이터 세트를 효율적으로 처리하고 모든 형태의 클러스터에 대해 좋은 결과를 얻을 수 있는 계층적 클러스터링 기반 클러스터링 알고리즘입니다. BIRCH 알고리즘은 데이터 세트의 계층적 클러스터링을 통해 데이터의 크기를 점진적으로 줄이고 최종적으로 클러스터 구조를 얻는 것입니다. BIRCH 알고리즘은 CF 트리라고 하는 B-트리와 유사한 구조를 사용합니다. 이 구조는 하위 클러스터를 빠르게 삽입 및 삭제할 수 있으며 자동으로 균형을 맞춰 클러스터의 품질과 효율성을 보장할 수 있습니다

장점:

대규모 데이터 세트를 빠르게 처리할 수 있으며 임의 모양의 클러스터에 대해 좋은 결과를 얻을 수 있습니다.

이 알고리즘은 시끄러운 데이터와 이상값에 대한 내결함성도 우수합니다.
  • 단점:

밀도 차이가 큰 데이터 세트의 경우 클러스터링 결과가 좋지 않을 수 있습니다.

고차원 데이터 세트에 대한 효과도 다른 알고리즘만큼 좋지 않습니다. .

위 내용은 비지도 기계 학습을 탐색하기 위한 9가지 클러스터링 알고리즘의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!