유클리드 K-means에서 축 단위 변경이 군집 경계를 바꾸는 이유는 무엇인가요?
잠깐, 답변을 보기 전에
먼저 내 말로 설명해 볼까요?
답변과 점검 포인트 펼치기답변 접기
구두 답변
정의를 외우기보다, 원리와 조건을 연결해 설명해 보세요.
축 단위가 바뀌면 유클리드 제곱거리의 항이 달라져 경계가 바뀔 수 있습니다. 이는 알고리즘이 틀린 것이 아니라 좌표계가 feature weight를 바꾼 결과입니다. 한 점 x=(1,1000)을 두 중심 c1=(0,0), c2=(2,999)에 할당한다고 하겠습니다. 원래 단위에서 d1²=1²+1000²=1,000,001, d2²=(-1)²+1²=2라 c2가 선택됩니다. 가격 축을 원에서 천원으로 바꿔 y를 1로 쓰면 x'=(1,1), c1'=(0,0), c2'=(2,0.999)이고 d1'²=2, d2'²=1+0.001²=1.000001이라 여전히 c2입니다. 같은 실제 데이터를 한 좌표계에서만 변환하지 않고 중심과 표본 모두 같은 단위로 바꿔야 합니다.
선택이 실제로 바뀌는 예를 보겠습니다. x=(0,0), c1=(2,0), c2=(0,1)이면 제곱거리는 4와 1이라 c2를 고릅니다. y축 단위를 10배로 바꾸어 점과 중심을 모두 변환하면 x'=(0,0), c1'=(2,0), c2'=(0,10)이고 거리는 4와 100이 되어 c1을 고릅니다. 모든 좌표를 같은 규칙으로 변환해도 한 축의 거리 가중치가 100배가 되어 할당 경계는 달라집니다. 물리적으로 같은 단위 변경에 대해 같은 metric을 유지하려면 거리 계산의 축별 가중치도 역으로 보정해야 합니다.
표준화는 training split의 평균·표준편차로 fit하고 validation·운영에는 같은 transform을 적용합니다. 변환 전 inertia와 후 inertia는 서로 다른 단위의 objective라 직접 낮고 높음을 비교하지 않고, 각 파이프라인 안에서 seed 안정성·silhouette·업무 지표를 비교합니다.
단위 변환 자체가 물리적으로 같은 좌표를 표현하는 경우에도 저장된 중심을 함께 변환해야 하며, 한쪽만 변환하면 전혀 다른 거리 문제가 됩니다. 표준화 후에는 새 평균과 분산으로 중심을 해석해야 하므로 원래 통화 단위의 보고서가 필요하면 inverse transform을 별도로 적용합니다. 이 변환의 목적과 버전을 기록하지 않으면 재현성 있는 seed도 같은 경계를 복구하지 못합니다.
득점 포인트
이해가 드러나는 지점을 확인해 보세요.
- 제곱거리에서 scale 배수가 제곱으로 반영된다는 점을 식과 숫자로 보여 줍니다.
- 중심과 입력을 모두 같은 단위로 바꾼 경우와 한 축에 의도적으로 weight를 준 경우를 구분합니다.
- 표준화 통계는 training에서만 fit하고 변환 전후 inertia를 직접 순위화하지 않습니다.
감점 포인트
놓치기 쉬운 조건과 오해를 짚어 보세요.
- 입력만 천원 단위로 바꾸고 중심은 원 단위로 둔 계산을 정상 비교로 제시합니다.
- 큰 축이 항상 더 중요한 feature라고 가정합니다.
- scale을 바꾸면 도메인 의미도 자동으로 좋아진다고 말합니다.
더 파고들 거리
하나 더 질문하며 이해의 범위를 넓혀 보세요.
- 실제 feature별 업무 비용을 weight로 정할 때 offline 군집 지표와 도메인 평가를 어떻게 함께 둘지 설계해 보세요.
- 이상치 하나가 제곱거리와 중심을 얼마나 움직이는지 민감도 분석을 해 보세요.
득점·감점 포인트는 학습용 자기 점검 기준이며, 특정 회사의 실제 채점표가 아닙니다.