'[Public] 신호처리'에 해당되는 글 29건

  1. 2012.07.08 [Computer Vision] #4 Parzen Windows or KDE(Kernel Densit Estimation) (8)
2012.07.08 11:25

Parzen Windows 이것에 대해 알아 봅시다!!

일반적으로 파첸의창(Parzen Windows Function)

또 다른 말로는 커널밀도추정(Kernel Density Estimation)

KDE라고도 합니다.

 

그럼 KDE 란?

커널밀도추정이란 어떤 함수에 콘볼루션(Convolution)하기 위한 마스크(Mask) 정도로 생각하면 됩니다.

하지만 KDE에서는 함수가 아닌 샘플링(Sample)된 포인트에 콘볼루션을 시키게 됩니다.

모든 포인트들은 우리가 추정하고 싶어하는 분포로부터 샘플링 되었다고 가정을 합니다.

주어진 n개의 데이터 셋 X1….Xn에 대하여 우리는 밀도함수 P(x)를 예측할 수 있습니다.

그래서 우리는 새로운 어떤 샘플 X가 주어져도 이 x에 대한 p(x) 출력할 수 있습니다.

이것은 다음과 같은 식을 이용하여 구하기 때문에 밀도의 추정이라고 한다.

 

 

그럼 먼저 확률밀도함수(Probability density function)에 대해서 알아봅시다.

연속적인 확률 함수p(x)의 수학적인 정의는 다음 과정을 만족시킨다.

  1. X는 2개의 인자 a와 b사이의 확률이다.

     

  2. 모든 x는 음이 아닌 정수

     

     

  3. 확률함수의 적분은 1이다.

     

  4. 대부분의 일반적으로 사용되는 확률 함수는 가우시안 함수이다.

     

여기서 c는 평균을 의미하며, 는 분산을 의미하며, 는 표준편차를 나타낸다.

다음 그림은 평균이 0, 표준편차가 1인 가우시안 확률밀도함수를 나타낸다.

 

위에서는 1차원이지만 여기서 벡터 x를 확장하는 경우에는

우리는 음이 아닌 정수 P(x)는 다음과 같은 속성을 가집니다.

  1. 확률 x는 R 내부의 영역입니다.

     

  2. 확률함수의 적분은 1이다.

     

2차원으로 나타내는 가우시안 함수는 다음과 같습니다.

 

 

 

위의 식은 어떻게 나온거죠?

기본적인 미지의 확률 밀도함수를 추정하는 많은 방법의 아이디어는 매우 간단하다

가장 기본적인 기법은 다음 사실에 믿고 있다.

영역 R 안의 주어진 확률 벡터 P는 다음식에 의하여 주어진다.

만약에 우리가 지금 추정한다면

R이 너무 작아서 P(x)는 그것 이내에서 많이 다르지 않다.

그래서 우리는 다음 식과 같이 근사하다고 본다.

여기서 V는 R의 면적이다.

 

 

한편 n개의 샘플 X1…Xn 은 확률밀도 함수 p(x)에 따라서 독립적이라고 가정하자

그리고 여기 k/n은 R영역 내부의 주어진 샘플을 우리는 갖는다.

그래서 우리는 다음과 같이 P(x)를 유도할 수 잇다.

 

 

그림과 같이 R이 하이퍼큐브(2-D 사각형)임을 고려한다면 중심은 X이다.

주어진 h는 사각형의 변의 길이이다.

그러면 V 는 1차원은 h, 2차원은 , 3차원은 가된다.

 

이 식은 여기서 가 사각형 내부인지 아닌지를 나타낸다.

X는 중심점을 나타내고 h는 가로의 길이를 나타낸다.

 

이를 모두 합으로 나타낸 값을 K라 하면 아래와 같이 표현할 수 있다.

 

 

 

여기서 아까 유도한 식에 K를 대입하면 다음과 같이 유도 할 수 있다.

여기서

는 윈도우 함수라고 불린다.

이런 형태의 윈도우를 Parzen의 창이라 부릅니다.

 

 

 

그럼 위의 윈도우 함수만 사용할 수 있나요?

그리고 우리는 여기 들어가는 윈도우함수를 생각해내고 다른 윈도우를 사용할 수 있다

그래서 다른 파첸 윈도우 밀도 추적방법을 허락한다.

다른 파첸 윈도우로는 다음과 같은 방법이 있습니다.

 

 

예를 들어보면

주어진 5개의데이터에 대해서

X1 = 2

X2 = 2.5

X3 = 3

X4 = 1

X5 = 6

 

Parzen Window 과 Gaussian Window와 비교하면

실선은 PDF 를 나타내며

점선은 왼쪽은 Gaussian의 윈도우결과를 오른쪽은 Parzen의 윈도우 결과를 나타낸다.

 

 

도움이 되셨다면

리플하나 달아주는 센스 ^^

Posted by 차출발 차출발