클러스터링 알고리즘 학습

훌륭한 클러스터링 학습

소개

질문

1. 많은 알고리즘은 분석 프로세스 중에 개발자가 특정 매개변수(예: 예상 클러스터 수 K, 클러스터의 초기 중심)를 제공하도록 요구하므로 클러스터링 결과가 이러한 매개변수에 매우 민감해 개발악화시킬 뿐만 아니라 작업자의 부담도 클러스터링 결과의 정확도에 큰 영향을 미칩니다.

최적화

  1. 확장성:
    클러스터링 개체가 수백에서 수백만으로 증가할 때 최종 클러스터링 결과의 정확도가 일관되게 유지되기를 바랍니다.

  2. 다양한 유형의 속성 처리 능력:
    일부 클러스터링 알고리즘은 객체 속성의 데이터 유형만 처리할 수 있지만 실제 애플리케이션 시나리오에서는 종종 다른 유형의 데이터(예: 이진 데이터), 분류 데이터 등을 접하게 됩니다. 또한 데이터를 전처리할 때 이러한 다른 유형의 데이터를 수치 데이터로 변환할 수 있지만 클러스터링 효율성 또는 클러스터링 정확도가 손실되는 경우가 많습니다.

  3. 임의 모양의 클러스터 발견:
    많은 클러스터링 알고리즘이 거리(예: 유클리드 거리 또는 맨해튼 거리)를 기준으로 인스턴스 개체 간의 유사성을 정량화하기 때문에 이 방법을 기반으로 크기와 밀도가 비슷한 클러스터 또는 볼록 클러스터의 구형 모양만 찾는 경우가 많습니다. 그러나 많은 시나리오에서 클러스터의 모양은 임의적일 수 있습니다.

  4. 클러스터링 알고리즘 초기화 매개변수에 대한 지식 요구 사항 최소화:
    많은 알고리즘은 개발자가 분석 프로세스 중에 특정 매개변수(예: 예상 클러스터 수 K, 클러스터의 초기 중심)를 제공하도록 요구하므로 이러한 클러스터링 결과가 정확하지 않은 클러스터링 결과로 이어집니다. 매개변수는 매우 민감하여 개발자의 부담이 가중될 뿐만 아니라 클러스터링 결과의 정확도에도 큰 영향을 미칩니다.

  5. 노이즈 데이터 처리 능력:
    소위 노이즈 데이터는 클러스터링 결과에 영향을 미치는 간섭 데이터로 이해할 수 있습니다.

  6. 증분 클러스터링 및 입력 순서에 대한 둔감성:
    일부 클러스터링 알고리즘은 새로 추가된 데이터를 기존 클러스터링 결과에 삽입할 수 없습니다. 입력 순서 민감도는 주어진 데이터 개체 집합에 대해 다른 순서로 입력 개체가 제공될 때 최종 클러스터링의 차이가 결과는 상대적으로 클 것입니다

  7. 고차원성:
    일부 알고리즘은 2차원 또는 3차원 데이터 처리에만 적합하지만 고차원 공간의 데이터 분포가 매우 희박하고 왜곡될 수 있기 때문에 고차원 데이터 처리 능력이 매우 약합니다. .

  8. 제약 기반 클러스터링:
    실제 애플리케이션에서는 동일한 클러스터링 알고리즘이 다른 애플리케이션 시나리오에서 다른 클러스터링 결과를 가져올 수 있기 때문에 다양한 조건에서 클러스터링을 수행해야 할 수 있으므로 "클러스터링 속성이 좋은 데이터 그룹화"를 만족하는 솔루션을 찾습니다. 특정 제약 조건은 매우 어렵습니다. 여기서 가장 어려운 문제는 해결하려는 문제에 내재된 "특정 제약 조건"을 식별하는 방법과 이 제약 조건을 가장 잘 "적합"하기 위해 사용할 알고리즘을 식별하는 것입니다.

  9. 해석 가능성 및 유용성:
    클러스터링 결과가 특정 의미 및 지식으로 설명되고 실제 애플리케이션 시나리오와 관련될 수 있기를 바랍니다.

분류

거리 밀도 상호 연결성

정보이론적 관점에서 본 클러스터링 알고리즘의 이해

직관적으로 우리는 두 가지 상반된 목표를 달성하고자 합니다.
1. 한편으로 우리는 문서 속성과 클러스터 속성의 상호 정보가 가능한 한 작기를 원하며 이는 원본 데이터의 강력한 압축에 대한 우리의 바람을 반영합니다.
2. 한편, 우리는 클러스터링 변수와 단어 속성의 상호 정보가 가능한 한 크길 원하며, 이는 문서 정보(문서에서 단어의 발생으로 표현됨)를 보존한다는 목표를 반영합니다. 모수 통계에서 가장 부족한 통계는 임의 분포로 일반화됩니다.
일반적으로 정보 병목 현상 기준에서 최적화 문제를 해결하는 것은 매우 어렵고 솔루션 아이디어는 EM 기준과 유사합니다.
3. 상호 정보의 개념이 클수록 둘 사이의 상관 관계가 커집니다 마르코프 체인을 이해하는 것은 정보 이론으로도 이해할 수 있습니다.

K-Means algorithm (K-means clustering K-means clustering algorithm) - 하드 분할 기반 클러스터링

특정 K-평균 알고리즘의 세부 사항을 배우기 전에 K-평균에 내재된 몇 가지 문제를 이해해야 합니다.

1. k-평균 알고리즘의 목적 함수 최적화 프로세스는 단조롭게 증가 거칠지만(즉, 각 반복이 적어도 결과를 악화시키지 않음) k-평균 알고리즘 자체는 다음에 대한 이론을 제공하지 않습니다. 수렴을 달성하기 위한 반복 횟수 보장.
2. 알고리즘에 의해 주어진 k-means 목적 함수의 출력 값과 가능한 최소 목적 함수 값의 차이는 사소한 하한을 갖지 않으며 실제로 k-means는 local minimum에 수렴할 수 있습니다 . k-means의 결과를 개선하기 위해 서로 다른 무작위 초기화 중심점을 사용하고 프로그램을 여러 번 실행하고 최상의 결과를 선택하는 것이 일반적입니다. 또한 초기화 중심을 선택하기 위한 k-means 알고리즘의 사전 알고리즘으로 사용할 수 있는 몇 가지 감독되지 않은 알고리즘이 있습니다.
3. 거리 제곱합 기준에 따라 훈련 세트에 대한 "최고" 클러스터링은 필연적으로 데이터 포인트가 있는 만큼 많은 클러스터를 선택합니다! 이때 손실이 0이므로 이러한 경향을 억제하기 위해서는 MDL 기준을 적용하여 모델 구조 복잡도를 징벌 하고, 모델 복잡도와 손실 목표의 최적화 사이의 균형을 모색할 필요가 있다.
프로세스:
1. 군집 중심 수 k
2. 초기 군집 중심 선택(일반적으로 무작위 생성)
3. 나머지 샘플 포인트는 올해 거리 측정 기준에 따라 분류
LP 거리 공식
4. 계산 조건 비지도
여기에 이미지 설명 삽입
학습 알고리즘인 Kmeans는 클러스터링된 "클러스터"가 "실용적인 의미"를 갖는다는 것을 보장할 수 없습니다. 즉, Kmeans에서 얻은 분류 그룹은 유클리드 공간에서 유사한 포인트 집합일 수 있지만 실제로는 정말 같은 범주에 속해야 합니다. 한편, Kmeans의 분류 결과는 K 값과 강한 상관관계가 있는데 "불합리한" K 값을 전달하면 Kmeans의 과적합(overfitting)으로 이어져 결국 "잘못된" 분류 결과를 얻을 수 있습니다.
애플리케이션:
복잡한 데이터를 클러스터링한 후 분류된 데이터를 사용하여 작은 데이터와 축소된 차원을 달성합니다(예: 96615픽셀이 64픽셀로 클러스터링됨) k-means++ 알고리즘은 이 문제를 어느 정도 해결합니다.k-means++
선택 초기 시드의 기본 아이디어는 초기 클러스터 중심 사이의 거리가 가능한 한 멀어야 한다는 것입니다. k-means++ 클러스터링의 기본 아이디어는 첫 번째 중심점은 여전히 ​​무작위로 선택되지만 서로 멀리 떨어져 있는 점에 대해 다른 점을 우선적으로 선택합니다.

링크 클러스터링 모델

링크 기반 클러스터링 알고리즘은 집합적(agglomerative)으로 처음에는 데이터가 완전히 조각난 후 점점 더 큰 클러스터를 구축합니다. 중지 규칙을 추가하지 않으면 링크 알고리즘의 결과를 다음의 덴드로그램으로 사용할 수 있습니다. 즉, 도메인 하위 집합으로 구성된 트리를 설명하면 리프 노드는 단일 요소 집합이고 루트 노드는 전체 도메인입니다.
일반적인 중지 기준은 다음과 같습니다.
고정된 클래스 수: 고정 매개변수 k, 클러스터 수가 k일 때 클러스터링 중지. 이 중지 기준을 사용하려면 장면에 대한 강력한 도메인 지식, 즉 클러스터링해야 하는 클러스터 수를 미리 알고 있어야 합니다. 거리의 상한 설정:
도메인 하위 집합 간 거리의 최대 상한을 설정합니다. .반복의 특정 라운드에서 모든 컴포넌트 거리가 임계값을 초과하면 클러스터링을 중지합니다.
중지 기준이 없으면 마지막에 하나의 클래스(우주)만 남습니다.

DBSCAN(Density-Based Spatial Clustering of Application with Noise) - 밀도 기반 클러스터링 알고리즘

밀도 기반 클러스터링 방법과 다른 방법의 근본적인 차이점은 다양한 거리 측정 을 기반으로 하는 대신 밀도를 기반으로 한다는 것입니다 . 따라서 거리 기반 알고리즘이 " 원과 같은" 클러스터만 찾을 수 있다는 단점을 극복할 수 있습니다.
DBSCAN의 기본 아이디어는
점의 ∈ 이웃에 있는 이웃 점의 수를 사용하여 점이 위치한 공간의 밀도를 측정하는 것입니다. 문턱값, 가까운 군집에 추가됩니다 Go
기형의 군집을 찾을 수 있으며
, 군집화할 때 미리 군집의 수를 알 필요는 없습니다.
핵심 포인트는 클러스터 내부에 위치하며 확실히 특정 클러스터에 속함 노이즈 포인트는 데이터 세트의 간섭 데이터로 어떤 클러스터에도 속하지 않음 경계 포인트는 특수한 종류의 포인트로 가장자리에 있음 하나 또는 여러 군집 중에서 하나의 군집에 속하거나 군집 소속이 명확하지 않은 다른 군집에 속할 수 있음 최소
여기에 이미지 설명 삽입
및 최대 거리를 묘사하여 이미지에서 군집 중심 결정
여기에 이미지 설명 삽입

SOM(Self-organizing Maps) - 모델 기반 클러스터링(모델 기반 방법)

모델 기반 방법은 각 클러스터에 대한 모델(미리 지정된)을 가정한 다음 이 모델을 잘 만족시키는 데이터 세트를 검색합니다. 그러한 모델은 공간 또는 다른 것에서 데이터 포인트의 밀도 분포 함수일 수 있습니다. 기본 가정 중 하나는
대상 데이터 세트가 일련의 확률 분포에 의해 결정된다는 것입니다.
일반적으로 시도할 두 가지 방향이 있습니다: 통계 체계와 신경망 체계입니다
. 특징:

  1. 순서 보존 매핑: 입력 공간의 샘플 패턴 클래스를 출력 레이어에 순서대로 매핑
  2. 데이터 압축: SOM 네트워크는 토폴로지 구조를 변경하지 않고 고차원 공간의 샘플을 저차원 공간으로 투영하는 데 분명한 이점이 있습니다. 입력 샘플 공간의 차원에 관계없이 그 패턴은 SOM 네트워크 출력 레이어의 특정 영역에 해당할 수 있습니다. SOM 네트워크가 훈련된 후 유사한 샘플이 고차원 공간에 입력되고 출력의 해당 위치도 유사합니다.
  3. 기능 추출: 고차원 공간 샘플에서 저차원 공간으로 매핑, SOM 네트워크의 출력 레이어는 저차원 기능 공간과 동일
  4. 그 과정은 Kmeans와 비슷하지만 가중치 모델이 있어서 고차원에서 저차원으로 이렇게 구현하고 이 가중치 모델을 추후 학습에도 사용할 수 있습니다. 그리고 고차원 데이터를 시각화합니다.

##EM 알고리즘
EM 알고리즘은 숨은 변수(숨겨진 변수)를 포함하는 확률 모델 매개변수의 최대 우도 추정 또는 최대 사후 확률 추정을 위한 반복 알고리즘입니다.
#GNG: 성장하는 신경 가스 네트워크

요약:
클러스터링:
샘플은 특징이 많지만 클러스터링의 대상 y는 일반적으로 특징보다 작습니다.y의 경우 y'와 샘플의 y' 간의 상호 정보가 최대한 커야 하며 다른 샘플 특징은 여기에서 y'는 요인 분석을 사용하여 다른 샘플 특징과 융합될 수 있습니다. 생각에는 크게 두 가지 측면이 있습니다.
Clustering은 unsupervised이므로 큰 틀을 구축하기 위한 학습(신경망, 모델 방식), 반복(K-means), 계층(tree), 성장(GNG)이 주된 사고 방향이며, 지속적으로 수정하는 것이 목적이지만, 과적합(MDL 원칙 페널티)의 경우도 있을 것이고, 많은 알고리즘은 알고리즘의 기준 값을 종료하도록 경험에 의해 설정됩니다.
피처의 경우 거리(Manhattan 거리, Euler 거리, 가변 거리 통계 함수(Gaussian Kernel) 등), 밀도 및 확률의 세 가지 각도에 의해 클러스터링 중심 또는 분류 기준이 결정됩니다.

추천

출처blog.csdn.net/Carol_learning/article/details/104107647