머신러닝을 위한 데이터 준비 및 특성 추출 과정에서는 일반적인 데이터 준비를 다루지만 이 과정에서는 클러스터링과 관련된 준비를 다룹니다.
클러스터링에서는 두 예의 모든 특성 데이터를 숫자 값으로 결합하여 두 예시 간의 유사성을 계산합니다. 특성 데이터를 결합하려면 데이터의 크기가 동일해야 합니다. 이 섹션에서는 분위수 정규화, 변환, 생성을 살펴보고 데이터 분포를 변환하는 데 분위수가 가장 적합한 선택인 이유를 설명합니다. 기본 선택을 하면 데이터 배포를 검사하지 않고도 데이터를 변환할 수 있습니다.
데이터 정규화
데이터를 정규화하여 여러 특성의 데이터를 동일한 배율로 변환할 수 있습니다. 특히 정규화는 가장 일반적인 데이터 분포인 가우시안 분포를 처리하기에 적합합니다. 분위수에 비해 정규화는 계산할 데이터가 훨씬 더 적습니다. 다음과 같이 z-점수를 계산하여 데이터를 정규화합니다.
\[x'=(x-\mu)/\sigma\\ \begin{align*} \text{where:}\quad \mu &= \text{mean}\\ \sigma &= \text{standard deviation}\\ \end{align*} \]
정규화 여부에 따른 예시 간의 유사성을 살펴보겠습니다. 그림 1에서 빨간색이 노란색보다 파란색과 더 비슷한 것으로 확인됩니다. 하지만 x축과 y축의 특성은 동일하지 않습니다. 따라서 관찰된 유사성은 확장되지 않은 데이터의 아티팩트일 수 있습니다. z-점수를 사용하여 정규화한 후 모든 특성의 크기는 동일합니다. 이제 빨간색이 노란색과 더 비슷하다는 것을 알게 되었습니다. 따라서 데이터를 정규화한 후에 유사성을 더 정확하게 계산할 수 있습니다.
요약하면 다음 중 하나가 참일 때 정규화를 적용합니다.
- 데이터에 가우시안 분포가 있습니다.
- 데이터 세트에 분위수를 만들 만큼 충분한 데이터가 없습니다.
로그 변환 사용
때로 데이터 세트는 저사양에 데이터를 제공하는 전원법 분포를 준수합니다. 그림 2에서 빨간색은 파란색보다 노란색에 더 가깝습니다.
로그 변환을 사용하여 전력회사 분포를 처리합니다. 그림 3에서 로그 변환은 더 매끄러운 분포를 그러면 빨간색이 노란색보다 파란색에 더 가깝습니다.
분위수 사용
정규화와 로그 변환은 특정 데이터 분포를 해결합니다. 데이터가 가우스 또는 전력법 분포를 따르지 않는 경우에는 어떻게 될까요? 데이터 배포에 적용되는 일반적인 접근 방식이 있나요?
이 배포를 사전 처리해 보겠습니다.
직관적으로 두 예시 사이에 몇 가지 예만 있으면 두 예시가 값과 관계없이 비슷합니다. 반대로 두 예시 사이에 많은 예가 있으면 두 예가 덜 유사합니다. 따라서 두 예의 예시 수가 증가하면 두 예의 유사성이 감소합니다.
데이터 정규화는 단순하게 데이터 분포를 재현합니다. 정규화는 선형 변환입니다. 아래 그림 5와 같이 로그 변환을 적용해도 유사성의 직관이 반영되지 않습니다.
대신 각 간격에 동일한 수의 예시가 있는 간격으로 데이터를 분할합니다. 이러한 간격 경계를 분위수라고 합니다.
다음 단계에 따라 데이터를 분위수로 변환합니다.
- 간격 수를 결정합니다.
- 각 간격에 동일한 수의 예시가 있도록 간격을 정의합니다.
- 각 예시를 해당하는 간격의 색인으로 바꿉니다.
- 색인 값을 [0,1]로 확장하여 색인을 다른 특성 데이터와 같은 범위로 가져옵니다.
데이터를 분위수로 변환한 후 두 예시 간 유사성은 두 예시 간의 예시 수에 반비례합니다. 또는 수학적으로, 'x'는 데이터 세트의 예 중 하나입니다.
- \(sim(A,B) \approx 1 − | \text{prob}[x > A] − \text{prob}[x > B] |\)
- \(sim(A,B) \approx 1 − | \text{quantile}(A) − \text{quantile}(B) |\)
분위수는 데이터를 변환하는 데 가장 좋은 기본 옵션입니다. 그러나 기본 데이터 분포를 신뢰할 수 있는 분위수로 만들려면 많은 데이터가 필요합니다. 일반적으로 분위수를 만들려면 \(n\) 예시가 \(10n\) 개 이상 있어야 합니다. 데이터가 충분하지 않은 경우 정규화를 유지하세요.
이해도 확인
다음 질문의 경우 분위수를 생성하기에 충분한 데이터가 있다고 가정합니다.
질문 1
- 데이터 분포는 가우시안입니다.
- 데이터가 무엇을 나타내는지 알면 데이터를 비선형으로 변환하면 안 된다는 것을 알 수 있습니다. 따라서 분위수를 방지하고 대신 정규화를 선택합니다.
질문 2
데이터 누락
데이터 세트에 특정 특성의 값이 누락된 예시가 있지만 그러한 예시가 드물게 발생하는 경우 예시를 삭제할 수 있습니다. 이러한 예가 자주 발생하는 경우 이 특성을 아예 삭제하거나 머신러닝 모델을 사용하여 다른 예의 결측값을 예측할 수 있습니다. 예를 들어 기존 특성 데이터에 대해 학습된 회귀 모델을 사용하여 누락된 숫자 데이터를 추론할 수 있습니다.