K- 평균 및 기타 관련 알고리즘의 경우 군집화는 점 사이의 거리 계산에 기초한 것으로 보입니다. 그것없이 작동하는 것이 있습니까?
K- 평균 및 기타 관련 알고리즘의 경우 군집화는 점 사이의 거리 계산에 기초한 것으로 보입니다. 그것없이 작동하는 것이 있습니까?
답변:
그러한 방법의 한 예는 클러스터링에 사용되는 유한 혼합물 모델 (예 : 여기 또는 여기 )입니다. FMM에서는 변수 의 분포 ( ) 를 분포 ( ) 의 혼합으로 간주합니다 .X K F 1 , . . . , f k
여기서 파라미터들의 벡터이다 및 의 비율 인 혼합물 중의 번째 분포 '와 (a 파라미터 또는 분포 의 파라미터) .θ = ( π ' , θ ' 1 , . . . , θ ' K ) ' π Kϑ k f k
이산 데이터의 구체적인 사례는 다음과 같이 정의 된 잠재 클래스 분석 (예 : 여기 )입니다.
여기서 는 잠재 클래스 를 관찰 할 확률 (즉, )이고, 는 값 을 관찰 할 확률이고 , 는 가 클래스 에있을 확률입니다 .(K) π (K) P ( X ) (X) P ( X | K ) X (K)
일반적으로 FMM 및 LCA EM 알고리즘 모두 추정에 사용되지만 베이지안 접근법도 가능하지만 모델 식별 및 레이블 전환과 같은 문제 때문에 약간 더 까다 롭습니다 (예 : Xi'an 's blog ).
따라서 거리 측정이 아니라 데이터의 구조 (분포)를 정의하는 통계 모델이 있습니다. 이 방법의 다른 이름으로 인해 "모델 기반 클러스터링"이 있습니다.
FMM에 대한 두 권의 책을 확인하십시오.
FMM을 사용하는 가장 인기있는 클러스터링 패키지 중 하나는 R 로 구현 된 것 입니다 mclust
( 여기 또는 여기에서 확인 ) . 그러나 더 복잡한 FMM도 가능 합니다 . 패키지 및 설명서를 확인하십시오 . LCA의 경우 R poLCA 패키지가 있습니다.flexmix
많은 그리드 기반 클러스터링 접근 방식이 있습니다. 거리를 계산하지 않기 때문에 종종 2 차 런타임이 생성됩니다. 대신 데이터를 분할하고 그리드 셀로 집계합니다. 그러나 이러한 접근 방식의 직관은 일반적으로 거리와 매우 밀접한 관련이 있습니다.
COOLCAT 및 STUCCO와 같은 범주 형 데이터에 대한 여러 클러스터링 알고리즘이 있습니다. 이러한 데이터에는 거리를 사용하기가 쉽지 않습니다 (원핫 인코딩은 해킹이며 특히 의미있는 거리를 생성하지 않습니다). 그러나 나는이 알고리즘을 사용하는 사람에 대해 들어 보지 못했습니다 ...
그래프에는 클러스터링 방식이 있습니다. 그러나 그것들은 크리크 또는 근거리 크리 칭 및 그래프 채색과 같은 고전적인 그래프 문제로 줄이거 나 거리 기반 클러스터링과 밀접한 관련이 있습니다 (가중 그래프가있는 경우).
DBSCAN과 같은 밀도 기반 클러스터링은 이름이 다르며 거리를 최소화하는 데 중점을 두지 않습니다. 그러나 "밀도"는 일반적으로 거리와 관련하여 지정되므로 기술적으로 이러한 알고리즘은 거리 기반 또는 그리드 기반입니다.
당신이 빠뜨린 질문의 중요한 부분 은 당신의 데이터 는 무엇 입니까?
이전의 훌륭한 답변 외에도 Dirichlet 혼합 모델 및 베이지안 기반 계층 적 Dirichlet 프로세스 모델을 고려할 것을 제안 합니다 . 최적의 클러스터 수 를 결정하는 방법과 방법에 대한 포괄적이고 일반적인 개요는 StackOverflow에 대한 다음과 같은 훌륭한 답변을 참조하십시오 . https : //.com/a/15376462/2872891 .
순전히 차별적 인 접근 방식은 Gomes et al .의 "정규화 된 정보 극대화" 입니다. 그것과 관련된 유사성 / 거리에 대한 개념은 없습니다.
아이디어는 점을 빈에 넣는 모델과 같은 로지스틱 회귀를 갖는 것입니다. 그러나 클래스 레이블의 로그 가능성을 최대화하도록 훈련시키는 대신 목적 함수는 포인트를 다른 클러스터에 넣는 기능입니다.
비선형 클러스터링을위한 커널 메소드 나 신경망으로의 확장은 간단합니다.