교차 유효성 검사를 통해 근거가없는 데이터 집합에서 서로 다른 클러스터링 방법을 비교할 수 있습니까?


12

현재, 나는 진실이없는 텍스트 문서 데이터 세트를 분석하려고합니다. k-fold cross validation을 사용하여 다른 클러스터링 방법을 비교할 수 있다고 들었습니다. 그러나 과거에 보았던 예는 근거가 있습니다. 이 데이터 세트에서 k-fold 방법을 사용하여 결과를 확인할 수있는 방법이 있습니까?

답변:


12

내가 아는 클러스터링에 교차 유효성 검사를 적용하는 유일한 방법은 다음과 같습니다.

  1. 샘플을 4 개 부품 세트와 1 개 부품 세트로 나눕니다.

  2. 트레이닝 세트에 클러스터링 방법을 적용하십시오.

  3. 테스트 세트에도 적용하십시오.

  4. 2 단계의 결과를 사용하여 테스트 세트의 각 관측 값을 훈련 세트 클러스터 (예 : k- 평균에 가장 가까운 중심)에 할당합니다.

  5. 테스트 세트에서 단계 3의 각 군집에 대해 각 군집이 단계 4에 따라 동일한 군집에있는 군집의 관측 쌍 수를 계산합니다 (따라서 @cbeleites가 지적한 군집 식별 문제 방지). 각 군집의 쌍 수로 나누어 비율을 제공합니다. 모든 군집에서 가장 낮은 비율은이 방법이 새 표본에 대한 군집 구성원을 얼마나 잘 예측하는지 측정하는 것입니다.

  6. 교육 및 테스트 세트의 다른 부품으로 1 단계부터 반복하여 5 배로 만듭니다.

Tibshirani & Walther (2005), "예측 강도에 의한 클러스터 검증", 전산 및 그래픽 통계 저널 , 14 , 3.


한 쌍의 관측치가 무엇인지 더 설명 할 수 있습니까? (그리고 왜 우리는 처음에 한 쌍의 관측치를 사용합니까?) 또한 훈련 세트에서 테스트 세트와 비교하여 "동일 클러스터"를 정의하려면 어떻게해야합니까? 나는 기사를 보았지만 아이디어를 얻지 못했습니다.
Tanguy

1
@Tanguy : 모든 쌍을 고려합니다. 관측치가 A, B 및 C 인 경우 쌍이 {A, B}, {A, C} 및 {B, C}-이고 " 다른 관측 값을 포함하는 기차 및 테스트 세트에서 동일한 클러스터 " 오히려 테스트 세트에 적용된 두 개의 클러스터링 솔루션 (훈련 세트에서 생성 된 하나와 테스트 세트 자체에서 생성 된 하나)을 비교하여 각 쌍의 구성원을 통합하거나 분리하는 데 얼마나 자주 동의 하는지를 살펴보십시오.
Scortchi-Monica Monica 복원

그렇다면, 트레인 세트와 테스트 세트의 각각에 대한 두 쌍의 관측치 행렬이 유사성 측정치와 비교됩니까?
Tanguy

@ Tanguy : 아니오, 테스트 세트의 관측 쌍 만 고려하십시오.
Scortchi-Monica Monica 복원

미안하지만 명확하지 않았다. 0과 1로 채워진 행렬을 만들 수있는 테스트 세트의 모든 관측 쌍을 가져와야합니다 (관찰 쌍이 동일한 군집에 있지 않은 경우 0, 존재하는 경우 1). 훈련 세트와 테스트 세트에서 얻은 군집에 대한 관측 쌍을 살펴 보므로 두 개의 행렬이 계산됩니다. 그런 다음이 두 행렬의 유사성을 일부 메트릭으로 측정합니다. 제가 맞습니까?
Tanguy

7

새로운 데이터가 중심과 기존의 클러스터링 분포를 변경하기 때문에 k- 평균과 같은 클러스터링 방법에 교차 검증을 적용하는 방법을 이해하려고합니다.

클러스터링에 대한 감독되지 않은 유효성 검사와 관련하여 재 샘플링 된 데이터에서 다른 클러스터 번호로 알고리즘의 안정성을 수량화해야 할 수도 있습니다.

군집 안정성의 기본 개념은 아래 그림에 나와 있습니다.

여기에 이미지 설명을 입력하십시오

군집 수가 2 또는 5 인 경우 적어도 두 개의 다른 군집 결과가 있지만 (그림의 분할 대 시선 참조) 군집 수가 4 인 경우 결과가 비교적 안정적임을 알 수 있습니다.

군집 안정성 : Ulrike von Luxburg의 개요 가 도움이 될 수 있습니다.


7

fold 교차 검증 동안 수행 된 것과 같은 리샘플링 은 몇 가지 사례를 제거하여 원래 데이터 세트와 다른 "새"데이터 세트를 생성합니다.k

설명과 명확성을 위해 클러스터링을 부트 스트랩했습니다.

일반적으로 재 샘플링 된 클러스터링을 사용하여 솔루션의 안정성을 측정 할 수 있습니다. 전혀 변경되지 않거나 완전히 변경됩니까?

기본 정보는 없지만 동일한 방법 (리샘플링)을 다르게 실행하거나 다른 클러스터링 알고리즘의 결과를 표로 작성하여 클러스터링을 비교할 수 있습니다.

km1 <- kmeans (iris [, 1:4], 3)
km2 <- kmeans (iris [, 1:4], 3)
table (km1$cluster, km2$cluster)

#      1  2  3
#   1 96  0  0
#   2  0  0 33
#   3  0 21  0

군집이 공칭이므로 순서가 임의로 변경 될 수 있습니다. 그러나 이는 클러스터가 일치하도록 순서를 변경할 수 있음을 의미합니다. 그런 다음 대각선 * 요소가 동일한 군집에 지정된 사례를 계산하고 비대 각 요소는 배정이 변경된 방식을 보여줍니다.

table (km1$cluster, km2$cluster)[c (1, 3, 2), ]

#      1  2  3
#   1 96  0  0
#   3  0 21  0
#   2  0  0 33

각 방법 내에서 클러스터링이 얼마나 안정적인지 확인하기 위해 리샘플링이 좋습니다. 그렇지 않으면 결과를 다른 방법과 비교하는 것이 너무 의미가 없습니다.

* 군집 수가 다른 경우 비정 방 행렬에도 사용할 수 있습니다. 그런 다음 요소 가 이전 대각선의 의미를 갖도록 정렬 합니다. 그런 다음 여분의 행 / 열은 새 클러스터가 어떤 클러스터에서 케이스를 가져 왔는지 보여줍니다.i,i


k- 폴드 교차 검증과 k- 평균 군집을 혼합하지 않습니까?


0

여기에서 클러스터 수를 결정하기위한 양방향 교차 검증 방법에 대한 최근 간행물이 있습니다 .

누군가가 sci-kit learn here 구현하려고합니다 .

그들의 성공은 다소 제한적이지만. 간행물에서 알 수 있듯이이 방법은 군집 중심이 상관 관계가 낮고 차원이 낮은 시스템에서 큰 군집 크기에 발생할 수있는 경우 제대로 작동하지 않습니다. (예 : 클러스터 가 제대로 작동하지 않습니다.)72D

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.