혼합 데이터가 유클리드 기반 클러스터링 알고리즘에 문제가되는 이유는 무엇입니까?


21

대부분의 고전적 군집 및 차원 축소 알고리즘 (계층 적 군집, 주요 구성 요소 분석, k- 평균, 자체 구성 맵 ...)은 숫자 데이터를 위해 특별히 설계되었으며 입력 데이터는 유클리드 공간에서 점으로 표시됩니다.

많은 실제 문제에 혼합 된 데이터가 포함되어 있기 때문에 물론 문제입니다. 예를 들어 버스를 연구하는 경우 높이와 길이 및 모터 크기는 숫자이지만 색상에 관심이있을 수도 있습니다 (범주 형 변수 : 파란색). / 빨간색 / 녹색 ...) 및 용량 클래스 (순서대로 가변 : 작은 / 중간 / 대용량). 특히, 우리는 이러한 다른 유형의 변수를 동시에 연구하고자 할 수 있습니다.

예를 들어 Gower 비 유사성을 사용하여 계층 적 클러스터링 또는 다차원 스케일링에 연결하거나 거리 매트릭스를 입력으로 사용하는 다른 방법과 같이 클래식 클러스터링 알고리즘을 혼합 데이터로 확장하는 방법에는 여러 가지가 있습니다. 또는 예를 들어 방법, 혼합 된 데이터에 대한 SOM의 확장.

내 질문은 : 왜 혼합 변수에 유클리드 거리를 사용할 수 없습니까? 아니면 왜 그렇게 나쁜가요? 왜 범주 형 변수를 더미 인코딩 하고 모든 변수를 관측 값 사이의 거리에서 비슷한 가중치를 갖도록 정규화하고 이러한 행렬에서 일반적인 알고리즘을 실행할 수없는 이유는 무엇 입니까?

정말 쉽고 결코 끝나지 않았으므로 매우 잘못되었다고 생각하지만 누구나 이유를 말해 줄 수 있습니까? 그리고 / 또는 저에게 심판을주세요? 감사


5
데이터를 사용하여 원하는 모든 작업을 유클리드 공간의 포인트로 나타낼 수 있지만 기능의 의미가 사라질 수 있습니다. 문제는 공간 수준이 아니라 측정 스케일 수준에 있습니다. 서수 스케일은 올바르게 정량화되어야하며 더미 코딩은 도움이되지 않습니다. 비대칭 감각의 이진 스케일 (현재 대 결석)은 자연스럽게 유클리드 거리 이외의 다른 거리 메트릭을 요구한다. 더하여 보간 문제 (예와 아니오 사이에 실질적인 평균이 존재할 수 없음).
ttnphns 2016 년

(계속) 유클리드 공간은 두 가지에 관한 것입니다. 공간은 연속적이며 미세한 방향이며 모든 방향을 허용합니다. 모든 데이터 유형이 데이터의 특성으로 인해 발생하는 비 유사성을 수용하기 위해 이러한 공간을 요구하거나 인사하는 것은 아닙니다.
ttnphns 2016 년

계층 적 클러스터링은 모든 종류의 유사성 (btw)으로 작동합니다. (Ward와 같은 일부 경우를 제외하고)-특히, 일부 범주 / 이진 사례에 의미가있는 Jaccard 계수를 사용할 수 있습니다.
Anony-Mousse

답변:


5

무언가 를 계산할 수 없다는 것이 아닙니다 .

거리는 의미있는 것을 측정 하는 데 많이 사용됩니다 . 범주 형 데이터의 경우 훨씬 일찍 실패합니다. 그것이 하나 이상의 변수와 함께 작동한다면, 그것은 ...

신발 크기와 체질량 특성이 있다면 유클리드 거리는 그다지 의미가 없습니다. x, y, z가 거리 일 때 좋습니다. 그런 다음 유클리드 거리는 점 사이의 가시 거리입니다.

이제 변수를 더미 인코딩하면 이 의미 는 무엇 입니까?

또한 데이터가 분리 된 경우 유클리드 거리는 의미가 없습니다.

정수 x 및 y 값만 존재하는 경우 유클리드 거리는 정수가 아닌 거리를 생성합니다. 데이터에 다시 매핑되지 않습니다. 마찬가지로 더미 인코딩 변수의 경우 거리가 더미 변수의 양에 다시 매핑되지 않습니다 ...

예를 들어 k- 평균 군집화를 사용하려는 경우 거리에 관한 것이 아니라 평균 계산에 관한 입니다. 그러나 더미 인코딩 된 변수에는 합리적인 의미가 없습니다.

마지막으로 차원저주가 있습니다. 변수 수를 늘리면 유클리드 거리가 저하되는 것으로 알려져 있습니다. 더미 인코딩 된 변수를 추가하면 거리 대비가 매우 빠릅니다. 단일 더미 변수가 모든 차이를 만들 수 있기 때문에 모든 것이 다른 것과 비슷합니다.


3

이러한 메트릭 기반 클러스터링 문제의 핵심은 보간 개념입니다.

방금 인용 한 방법을 취하고 무게와 같은 연속 변수를 고려하십시오. 데이터는 100kg이고 데이터는 10kg입니다. 새로운 99kg이 표시되면 본 적이 없어도 미터법을 통해 100kg에 접근 할 수 있습니다. 불행하게도, 이산 데이터에 대한 보간은 존재하지 않습니다.

이 질문에 대한 또 다른 논쟁은 그렇게 할 자연적인 방법이 없다는 것입니다. R에 3 개의 값을 할당하고 각 쌍 사이의 거리를 동일하게 만들려면 불가능합니다. 다른 카테고리로 지정하고 PCA를 실행하면 실제로 동일한 카테고리에 반영된 정보를 잃게됩니다.


1
감사! 보간 문제를 이해하지만 많은 응용 프로그램에서는 문제가 없습니다 (예 : 버스가 녹색, 빨간색 또는 파란색이고 데이터 집합에 다른 색상이 없음을 알고있는 경우). 그리고 더미 변수를 표준화하는 쉬운 방법이 있다고 생각합니다. 각 범주 형 변수는 각 숫자 변수와 비슷한 "가중치"를 갖습니다 (숫자 변수도 사전에 표준화 된 경우). 또는 다른 변수에 임의로 가중치를 할당하기 위해 ...
jubo

0

비 순차 범주 형 값의 문제점은 더미 인코딩하면 순서를 지정하므로 변수에 새로운 의미가 있다는 것입니다. 예를 들어 파란색을 1로, 주황색을 2로, 녹색 3으로 인코딩하면 주황색 값을 가진 데이터 패턴이 파란색 값을 가진 패턴보다 녹색 값을 가진 패턴에 더 가깝다는 것을 의미합니다.

이를 처리하는 한 가지 방법은 새로운 기능 (열)을 만드는 것입니다. 각각의 고유 한 값에 대해 새 이진 기능을 만들고 true / false로 설정합니다 (즉, 이진은 값을 인코딩하고 각 비트를 열로 만듭니다). 이 새로운 기능 세트의 각 데이터 패턴에 대해 하나의 기능 만 값 1을 사용하고 나머지는 0을 갖습니다. 그러나 이것은 일반적으로 1에 가까운 중심 값을 둘 이상의 기능에 할당하기 위해 훈련 알고리즘을 중단시키지 않습니다. 이 과정은 해석 문제를 일으켜 데이터 영역에서 이해가되지 않을 수 있습니다.

"용량 클래스", 즉 정렬 된 범주에 대해 동일한 문제가 발생하지 않습니다.이 경우 숫자 값 할당이 적합하기 때문입니다.

물론 다른 특성이나 측정 단위 또는 다른 값 범위의 기능을 사용하는 경우 항상 값을 정규화해야합니다.

/programming/19507928/growing-self-organizing-map-for-mixed-type-data/19511894#19511894

/programming/13687256/is-it-right-to-normalize-data-and-or-weight-vectors-in-a-som/13693409#13693409


이것이 바로 범주 형 변수에 대한 "더미 인코딩"의 의미입니다. 그러나 감사합니다. 그리고 btw 나는 예를 들어 선택할 수있는 방법이 없기 때문에 주문 요인 ( "용량 클래스")에 대한 귀하의 진술에 동의하지 않습니다. (1,2,3) 또는 (1,2,100)은 거리 기반 알고리즘에 큰 차이를 만듭니다.
jubo

0

대답은 실제로 매우 간단합니다. 더미 변수의 정보가 실제로 무엇인지 이해하면됩니다. 더미 변수의 개념은 요인 수준의 존재 여부를 나타냅니다 (범주 형 변수의 개별 값). 그것은 존재 여부에 대한 정보를 저장함으로써 측정 불가능하고 정량화 할 수없는 것을 표현하기위한 것입니다. 이것이 더미 변수가 나타내는 범주 형 변수의 이산 값 (또는 마이너스 1)만큼 이진 숫자로 표현되는 이유입니다.

요인 수준을 0/1 값으로 나타내는 것은 선형 모형과 같은 분석 방정식에서만 의미가 있습니다 (통계 모형의 계수를 해석 할 수있는 사람들에게는 쉬운 개념 임). 더미 변수에서, 기본 범주 형 변수의 정보는 비트 순서로 저장됩니다. 입력 샘플을 피처 공간에 매핑하기 위해 해당 비트를 차원으로 사용하는 경우 (유사성 / 거리 매트릭스의 경우와 같이) 비트 순서의 정보가 완전히 손실됩니다.


1
감사! 사실, 내 요점은 더미 인코딩 된 범주 형 변수가 유클리드 거리에서 (특정) 의미가 있다는 것입니다. 값이 다르면 제곱 거리에 2를 더하고 0을 추가하지 않으면 2를 더합니다. 범주의 수 또는 확률을 고려하는 방법.
jubo April
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.