Dirichlet 프로세스 혼합 모델 PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

Dirichlet Process Mixture 모델

이 블로그 게시물은 시리즈의 네 번째 부분입니다. Dirichlet Process Mixture 모델을 사용한 클러스터링. 이전 기사에서는 Finite Dirichlet Mixture Models에 대해 논의했으며 무한 k 군집에 대한 모델 한계를 설정하여 Dirichlet Processes를 소개했습니다. 우리가 본 바와 같이, 우리의 목표는 처음부터 k 개의 클러스터 / 컴포넌트의 수를 지정할 필요가없는 혼합 모델을 만드는 것입니다. 후 Dirichlet Processes의 다른 표현 제시이제 DP를 사용하여 클러스터링을 수행 할 수있는 무한 혼합 모델을 만들 차례입니다. 이 기사의 목표는 Dirichlet Process Mixture Models을 정의하고 Chinese Restaurant Process 및 Gibbs Sampling의 사용법에 대해 논의하는 것입니다. 이전 게시물을 읽지 않은 경우 주제가 약간 이론적이며 모델 구성에 대해 잘 이해해야하므로 권장합니다.

업데이트 : Datumbox Machine Learning Framework는 이제 오픈 소스이며 무료로 제공됩니다. 다운로드. com.datumbox.framework.machinelearning.clustering 패키지를 확인하여 Java에서 Dirichlet Process Mixture Models의 구현을 확인하십시오.

1. Dirichlet Process Mixture Model의 정의

Dirichlet Processes를 사용하면 무한 성분 k를 갖는 무한 모형의 한계를 취하는 것으로 생각할 수있는 무한 성분을 가진 혼합 모형을 가질 수 있습니다. 다음과 같은 모델이 있다고 가정 해 봅시다.

영상
영상
영상

방정식 1 : Dirichlet Process Mixture Model

여기서 G는 다음과 같이 정의됩니다. 영상영상 짧은 표기법으로 사용 영상 다음과 같은 경우 1을 취하는 델타 함수입니다. 영상 다른 곳에서는 0입니다. θi 생성 분포 F는 군집 모수 θ로 구성됩니다.i x를 생성하는 데 사용됩니다i 관찰. 마지막으로 밀도 분포를 정의 할 수 있습니다 영상 혼합 비율을 가진 우리의 혼합물 분포 (무한한 무한 혼합물)입니다 영상 혼합 성분 영상.

영상

그림 1 : Dirichlet Process Mixture 모델의 그래픽 모델

위의 DPMM과 동등한 그래픽 모델을 볼 수 있습니다. G0 는 DP의 기본 분포이며 계산을보다 쉽게하고 매력적인 수학적 특성을 사용하기 위해 생성 분포 F보다 먼저 결합되도록 선택됩니다. α는 Dirichlet Process의 스칼라 하이퍼 파라미터이며 얻을 수있는 군집 수에 영향을줍니다. α 값이 클수록 군집이 더 커집니다. α가 작을수록 군집이 적습니다. α의 값은 믿는 힘 G에서0. 큰 값은 대부분의 샘플이 구별되고 G에 값이 집중됨을 나타냅니다.0. G는 DP에서 샘플링 된 Θ 매개 변수 공간에 대한 확률 분포로 매개 변수에 확률을 할당합니다. θi 는 G 분포에서 도출 된 모수 벡터이며 클러스터의 모수를 포함하며 F 분포는 θ로 모수됩니다i 그리고 xi 생성 분포 F에 의해 생성 된 데이터 포인트입니다.

θ는i Θ 매개 변수 공간의 요소이며 클러스터를 "구성"합니다. 또한 x에서 잠재 변수로 볼 수 있습니다i 어떤 컴포넌트 / 클러스터에서 x를 알려줍니다i 이 구성 요소의 매개 변수는 무엇입니까? 따라서 모든 x에 대해i 우리는 관찰, 우리는 θ를 그립니다i G 분포에서. 그릴 때마다 이전 선택에 따라 분포가 변경됩니다. Blackwell-MacQueen urn 체계에서 보았 듯이 G 분포를 통합하고 향후 θ 선택을 통합 할 수 있습니다i G에만 의존0: 영상. 많은 구현 (예 : Chinese Restaurant Process)이 k 성분을 기하 급수적으로 증가. 따라서 Gibbs Sampling과 같은 대략적인 계산 방법이 사용됩니다. 마지막으로 k 개의 클러스터가 무한하지만 활성 클러스터의 수는 영상. 따라서 θi 반복하여 클러스터링 효과를 나타냅니다.

2. 중식 레스토랑 프로세스를 사용하여 무한 혼합 모델 정의

이전 세그먼트에서 정의 된 모델은 수학적으로 견고하지만 그럼에도 불구하고 모든 새로운 x에 대해 큰 단점이 있습니다.i 우리는 새로운 θ를 샘플링해야합니다i θ의 이전 값을 고려합니다. 문제는 대부분의 경우 이러한 매개 변수를 샘플링하는 것이 어렵고 계산 비용이 많이 드는 작업 일 수 있다는 것입니다.

대안은 중식 레스토랑 프로세스를 사용하여 잠재 변수 z를 모델링하는 것입니다.i 클러스터 할당. θ 대신에i 군집 매개 변수와 군집 할당을 모두 나타 내기 위해 잠재 변수 z를 사용합니다.i 클러스터 ID를 표시 한 다음이 값을 사용하여 클러스터 매개 변수를 지정하십시오. 결과적으로, 새로운 관측 값을 얻을 때마다 더 이상 θ를 샘플링 할 필요가 없지만 대신 z를 샘플링하여 클러스터 할당을 얻습니다.i CRP에서. 이 체계를 사용하면 새로운 클러스터를 만들어야 할 때만 새로운 θ가 샘플링됩니다. 아래에서 우리는이 접근법의 모델을 제시합니다 :

영상
영상
영상

방정식 2 : CRP와 혼합 모델

위는 데이터 x가i 클러스터가 생성됩니다. 군집 분석을 수행하려면 관측 값 x를 사용해야합니다.i 클러스터 할당을 추정 zi.

3. 혼합물 모델 추론 및 깁스 샘플링

불행하게도 Dirichlet Processes는 비모수 적이므로 EM 알고리즘을 사용할 수 없습니다 군집 할당을 저장하는 잠재 변수를 추정합니다. 과제를 추정하기 위해 축소 된 깁스 샘플링.

접힌 깁스 샘플링은 간단한 Markov Chain Monte Carlo (MCMC) 알고리즘입니다. 속도가 빠르고 다른 변수를 샘플링하면서 일부 변수를 통합 할 수 있습니다. 그럼에도 불구하고이 알고리즘은 G를 선택해야합니다.0 방정식을 분석적으로 풀고 직접 샘플링 할 수 있도록 F 생성 분포 이전의 공 액체 영상.

군집 할당을 추정하기 위해 사용할 축소 깁스 샘플링 단계는 다음과 같습니다.

  • z를 초기화i 무작위로 클러스터 지정
  • 수렴까지 반복
    • 무작위로 도끼를 선택i
    • 다른 z를 유지j 모든 j ≠ i에 고정 영상
    • z에 새로운 값을 할당i z에 의존하는 "CRP 확률"을 계산하여j 그리고 xj 모든 j ≠ i : 영상

다음 기사에서는 Dirichlet Process Mixture 모델을 사용하여 클러스터 분석을 수행하는 방법에 중점을 둘 것입니다. 연속적인 데이터 세트와 문서에 클러스터링을 수행하기 위해 중식 레스토랑 프로세스와 축소 된 깁스 샘플링을 사용하는 두 가지 Dirichlet Process Mixture 모델을 정의합니다.

타임 스탬프 :

더보기 데이텀 박스