커널 밀도 추정(KDE)은 유한한 데이터 포인트 표본을 기반으로 확률 변수의 확률 밀도 함수(PDF)를 추정하는 데 사용되는 비모수적 기법입니다. 정규 분포나 지수 분포와 같은 특정 분포를 가정하는 모수적 방법과 달리, KDE는 그러한 가정을 하지 않아 복잡하고 다봉(multimodal) 분포를 모델링할 수 있습니다. 추정치는 각 데이터 포인트에 매끄러운 커널 함수(일반적으로 가우시안)를 배치하고 이러한 기여도를 평균하여 구성되며, 대역폭 매개변수가 결과 곡선의 매끄러움을 제어합니다. KDE는 탐색적 데이터 분석, 시각화의 기본 도구이며 다양한 Machine learning 알고리즘의 구성 요소로 사용됩니다.
이 방법은 1956년 Murray Rosenblatt와 1962년 Emanuel Parzen에 의해 현대적 형태로 도입되었으며, 때때로 Parzen-Rosenblatt 창 방법이라고도 불립니다. 이후 통계학, 계량경제학, 그리고 이상 탐지 및 밀도 기반 클러스터링과 같은 작업을 위한 Artificial intelligence 분야에서 표준 도구가 되었습니다.
수학적 공식
알려지지 않은 밀도 \(f(x)\)에서 추출된 독립적이고 동일하게 분포된 표본 \(x_1, x_2, \dots, x_n\)이 주어졌을 때, 커널 밀도 추정량은 다음과 같이 정의됩니다:
\[ \hat{f}_h(x) = \frac{1}{n h} \sum_{i=1}^{n} K\left( \frac{x - x_i}{h} \right) \]
여기서 \(K\)는 커널 함수(적분하면 1이 되는 대칭적이고 음이 아닌 함수)이고 \(h > 0\)는 대역폭(또는 평활 매개변수)입니다. 일반적인 커널 선택에는 가우시안 커널 \(K(u) = (1/\sqrt{2\pi}) \exp(-u^2/2)\), Epanechnikov 커널, 균일 커널이 있습니다. 대역폭 \(h\)는 커널의 폭을 결정하며 편향-분산 트레이드오프에 직접적인 영향을 미칩니다: 작은 \(h\)는 낮은 편향과 높은 분산을 가진 불규칙한 추정치를 생성하는 반면, 큰 \(h\)는 더 높은 편향을 가진 더 매끄러운 추정치를 생성합니다.
커널의 선택은 대역폭에 비해 추정치에 상대적으로 작은 영향을 미칩니다. Epanechnikov 커널은 평균 적분 제곱 오차(MISE) 효율성 측면에서 최적이지만, 가우시안 커널은 매끄러움과 계산상의 편의성 때문에 가장 널리 사용됩니다.
대역폭 선택
적절한 대역폭을 선택하는 것은 KDE의 품질에 중요합니다. 여러 데이터 기반 방법이 존재합니다:
- Silverman의 경험 법칙 (1986): 가우시안 커널의 경우 최적 대역폭은 \(h = 1.06 \, \hat{\sigma} \, n^{-1/5}\)로 근사되며, 여기서 \(\hat{\sigma}\)는 표본 표준 편차입니다. 이는 간단하지만 다봉 분포를 과도하게 평활화할 수 있습니다.
- Scott의 규칙 (1992): 다변량 데이터에 대한 유사한 공식 \(h = n^{-1/(d+4)}\)으로, 여기서 \(d\)는 차원입니다.
- 교차 검증: 최소 제곱 교차 검증이나 우도 교차 검증과 같은 방법은 예측 기준을 최적화하여 \(h\)를 선택하며, 종종 비정규 데이터에 대해 더 나은 성능을 제공합니다.
- 플러그인 방법: 이는 밀도의 알려지지 않은 함수(예: 2차 도함수)를 추정하여 점근적으로 최적의 대역폭을 계산합니다.
실제로는 복잡한 데이터에 대해 교차 검증이 선호되며, 경험 법칙 방법은 빠른 근사에 사용됩니다.
다변량 및 적응형 KDE
KDE는 다변량 커널(종종 단변량 커널의 곱 또는 공분산 행렬을 가진 다변량 가우시안)을 사용하여 다변량 데이터로 자연스럽게 확장됩니다. 대역폭은 전체 또는 대각 행렬이 될 수 있는 대역폭 행렬이 됩니다. 고차원 데이터의 경우 KDE는 차원의 저주를 겪으며, 필요한 표본 수가 차원에 따라 기하급수적으로 증가하여 약 5-10차원을 넘어서면 추정치가 신뢰할 수 없게 됩니다.
적응형 KDE는 데이터 밀도가 낮은 영역에서는 더 큰 대역폭을, 데이터가 밀집된 영역에서는 더 작은 대역폭을 사용하여 표본 공간 전반에 걸쳐 대역폭을 변화시킬 수 있습니다. 이는 두꺼운 꼬리 또는 비대칭 분포에 대한 성능을 향상시킵니다. Abramson 규칙(1982)은 파일럿 밀도 추정치를 기반으로 로컬 대역폭을 설정하는 일반적인 방법입니다.
머신 러닝 및 AI에서의 응용
KDE는 Machine learning 및 Artificial intelligence의 여러 영역에서 사용됩니다:
- 이상 탐지: 정상 데이터의 밀도를 추정하여 추정 밀도가 매우 낮은 포인트를 이상치로 표시할 수 있습니다. 이는 네트워크 침입 탐지, 사기 탐지, 산업 품질 관리에 적용됩니다.
- 데이터 시각화: KDE 플롯(예: seaborn 또는 R의 ggplot2)은 단변량 또는 이변량 데이터의 분포를 표시하는 표준 방법으로, 종종 매끄러운 히스토그램이나 등고선 플롯으로 사용됩니다.
- 클러스터링: 비모수적 알고리즘인 Mean-shift 클러스터링은 KDE를 사용하여 밀도의 모드를 찾고, 이는 클러스터 중심 역할을 합니다. 이는 이미지 분할 및 컴퓨터 비전에 사용됩니다.
- 베이즈 추론: KDE는 복잡한 모델에서 사후 분포를 근사하는 데 사용될 수 있으며, 특히 근사 베이즈 계산(ABC)에서 사용됩니다.
- 생성 모델링: 일부 Generative AI 접근 방식은 데이터 분포를 모델링하기 위해 KDE를 사용하지만, Neural network 기반 생성 모델과 같은 현대 딥 러닝 방법이 고차원 데이터에 대해 이를 대체했습니다.
KDE는 또한 비모수 통계의 기초 개념으로, Residual Network (ResNet)(관련 없음) 및 Loss Functions와 같은 방법과 함께 통계 학습 과정에서 자주 가르칩니다.
계산 고려 사항 및 소프트웨어
KDE를 계산하려면 각 쿼리 포인트에 대해 \(n\)개의 데이터 포인트 각각에서 커널을 평가해야 하므로 \(m\)개의 평가 포인트에 대해 \(O(n m)\) 복잡도가 발생합니다. 대규모 데이터 세트의 경우 이는 금지될 수 있습니다. 효율적인 구현은 균등 간격 그리드에 대해 고속 푸리에 변환(FFT)을 사용하거나 트리 기반 방법(예: KD-트리)을 사용하여 커널 평가 수를 줄입니다. Python의 SciPy, scikit-learn, statsmodels와 같은 라이브러리는 최적화된 KDE 함수를 제공하며, R 및 MATLAB도 마찬가지입니다.
Deep learning의 맥락에서 KDE는 잠재 공간의 밀도 추정이나 생성된 샘플의 품질 평가에 때때로 사용되지만, 고차원 작업에는 normalizing flows 및 variational autoencoder와 같은 대안이 더 일반적입니다.
한계 및 확장
KDE에는 몇 가지 한계가 있습니다: 대역폭 선택에 민감하고, 고차원에서 성능이 저하되며, 밀도의 지지가 제한된 경우(예: 양수 전용 데이터) 경계 편향이 발생할 수 있습니다. 확장에는 경계를 처리하기 위한 반사 방법이나 변환 기반 접근 방식, 적응형 평활화를 위한 가변 커널 사용이 포함됩니다. 이러한 문제에도 불구하고 KDE는 풍부한 이론적 기반과 통계 및 Machine learning 전반에 걸친 광범위한 실용적 적용 가능성을 가진 견고하고 해석 가능한 밀도 추정 도구로 남아 있습니다.