- Parametic Methods(단순한 분포를 가정하고 유한한 파라미터를 구하자)
- ML(Maximum Likelihood) Estimation
- MAP(Maximum A Posteriori) Estimation
- Non-Parametic Methods(복잡한 분포를 가정하자)
- 파젠창(Parzen Window)
- K-Nearest Neighbor Estimation
데이터의 분포가 유한한 파라미터로 가정할 수 없는 경우를 다뤄본다.
어떠한 사전 정보나 지식 없이 순수하게 관측된 데이터만으로 확률밀도함수를 추정한다.
Histogram
시험을 봐서 성적을 [0, 100]까지 나타낸다고 하자.
이때 점수 분포를 5점마다, 10점마다 나타낼 수 있겠다.
그러나
![](https://t1.daumcdn.net/keditor/emoticon/face/large/012.png)
그렇게 되면 bin의 크기마다 데이터의 분포가 달라지게 된다.
또한 bin의 경계마다 불연속적이게 된다.
Kernel Density Estimation
파젠창은 곧 Kernel Density Estimation이라고도 불린다.
히스토그램에서의 문제점을 어떻게 해소했을까?
여기서는 커널함수를 사용한다.
커널함수란 원점 대칭이면서 적분값이 1인 함수로 정의되며 가우시안, 계단함수 등이 있다.
샘플의 위치마다 이를 중심으로 하는 커널함수를 생성한다($x_i$ 중심, 폭이 h인 커널)
h는 히스토그램의 bin 크기와 같은 역할이다.
$$K_h(x-x_i), \textrm{h : softness}$$
샘플마다 만들어진 커널 함수를 모두 더한 후 데이터 개수로 나누어 분포의 평균을 구한다.
$$P_h(x) = \frac{1}{n}\sum\limits_{i=1}^nK_h(x-x_i)$$
그러면 아래처럼 unique하고도 부드러운 확률밀도함수 분포가 생성된다.
h를 좁게 하던지, 넓게 하던지에 따라서 빨간색, 파란색의 분포로 형성된다.
이때 h까지 수학적으로 잘 표기해보자.
아래의 계단함수에서 면적은 일정하되, 폭(width)을 기존대비 h배 늘리고 싶다면 $f(\dfrac{x}{h})$로 표현해야한다.
h=2라면 $(x, f(x)) \Rightarrow (2x, f(\dfrac{x}{2}))$
이를 반영한 최종 식은 아래와 같아진다. 이때의 커널함수 K는 표준 커널을 가정한다.
$$P_h(x) = \frac{1}{nh^d}\sum\limits_{i=1}^nK(\frac{x-x_i}{h})$$
KDE의 한계
1. 폭 h를 실험적으로 결정해야 한다.
알려지기는 Epanechnikov 커널이 최적, 계산의 편의상 가우시안 커널 함수도 많이 사용
2. 샘플을 모두 저장하고 있어야하는 메모리 based 방법
새로운 샘플 x가 주어질 때마다 $K_h(x-x_i)$를 다시 계산해야 한다.
3. 차원의 저주로부터 자유롭지 못하다.
갖고 있는 데이터보다 feature dimension이 훨씬 더 큰 경우를 말한다.
d가 너무 커 $h^d \rightarrow \inf$가 되면서 $P_h(x) \approx 0$이 된다.
그렇기에 데이터가 낮은 차원인 경우로 국한하여 활용한다.
'딥러닝기초' 카테고리의 다른 글
[Density Estimation]GMM(Gaussian Mixture Model)과 EM 알고리즘 (0) | 2022.04.28 |
---|---|
[Density Estimation]K-Nearest Neighbors Estimation과 Classification (0) | 2022.04.27 |
[Density Estimation]ML과 MAP로 파라미터 추정 (0) | 2022.04.25 |
[확률]조건부 확률부터 Bayes Rule과 Bayes' Theorem 정리 (0) | 2022.04.23 |
딥러닝에서 사용하는 가우시안 분포 기초개념 (0) | 2022.04.22 |