상세 컨텐츠

본문 제목

Kernel Density Estimate(커널밀도추정)

IT/머신러닝

by Adonis_ 2020. 12. 20. 17:53

본문

밀도추정이란 관측된 데이터들의 분포로부터 원래 변수의 분포 특성을 추정하는 것을 의미한다.밀도추정 방식에는 parametric, non-parametric 밀도추정 2가지 방식이존재한다.

 

  * parametric이란 probability density function에 대한 모델을 미리 설정하여 데이터로부터 모델 파라미터를 추정하는 방식 

  * non-parametric이란 데이터로부터 모델(확률밀도함수) 파라미터를 추정하는것이다.

 

non-parametric 밀도 추정의 가장 간단한 형태는 히스토그램(histogram)을 사용하는것이다.

 

Histogram(히스토그램)

  • 관측된 데이터로부터 히스토그램을 정규화하여 확률밀도함수로 사용

  • 히스토그램의 문제점
    - bin의 경계에서 불연속성이 발생하며 bin크기와 시작위치에 의존도가 높다
    - 고차원 데이터에서는 메모리 문제가 발생

위 히스토그램의 문제점을 kernel함수를 이용하여 개선한 방식이 Kernel Density Estimate(커널밀도추정)이다.

 

커널함수란?원점을 중심으로 대칭하면서 적분값이 1인 non-negative함수로 가우시언, uniform 함수 등이 존재한다.

간단히 데이터가 범위안에 있으면 1 아니면 0 으로 표현되는 함수다.

 

Kernel Density Estimate(커널밀도추정)

  • 관측된 데이터 각각에 대한 데이터를 중심으로 하는 커널함수를 생성, 생성된 커널함수 값들을 모두 더한 후 전체 데이터 개수로 나눈다.

     

출처 : 위키피디아, Kernel density estimation

  • 어떤 boundwith값을 커널함수로 사용했느냐에 따라 smothing정도가 결정된다.

  • 주로 사용하는 커널함수로는 parzen window, gaussian 함수가있다.

 

Parzen window

x를 기준으로 각 차원으로 h/2안에 존재하는 모든 샘플의 수(입방체안에 몇개의 샘플 데이터가 존재하는가)

 

예로, data set X = {4, 5, 5, 6, 12}가 존재, h=4, y=3,10일때

 

 

관련글 더보기

댓글 영역