인공지능-기계학습/통계_모델_알고리즘
확률 밀도 함수 PDF (Probability Density Function)
The Yellow Lion King
2022. 3. 10. 13:00
반응형
주요 내용
- PDF가 무엇인가?
- 자세히 알아보기
- PDF 해보기
PDF가 무엇인가?
PDF 확률 밀도 함수를 위키피디아에서는 아래와 같이 정의하고 있습니다.
확률론에서 확률 밀도 함수(確率密度函數, 영어: probability density function 약자 pdf)는 확률 변수의 분포를 나타내는 함수로, 확률 밀도 함수 f(x)와 구간 [a,b] 에 대해서 확률 변수 X가 구간에 포함될 확률 P(a <= X <= b) 는
가 된다.
확률 밀도 함수 f(x)는 다음의 두 조건을 만족해야 한다.
- 모든 실수값 x에 대해 f(x) >= 0}
확률 밀도 함수와 누적 분포 함수에는 다음과 같은 수식이 성립한다.
음....... 바로바로 이해하기 어렵습니다. PDF가 뭔지? 왜 필요한지? 언제 쓰는지 이해가 잘 안되네요..그래서 철저하고 확실하게 이해하기 위해서 쉽고 상세하게 설명해 보겠습니다.
PDF는 다른 인공지능/머신러닝의 기본 알고리즘으로도 많이 쓰이기 때문에 정확하게 알고 있으면 다른 내용을 배울때도 도움이 많이 됩니다.
그래도 먼저 아주 간단하게 정의해보면
'연속 사건에서 x가 주어 졌을 때의 확률을 구하는 함수'
가 바로 확률밀도함수 PDF 입니다.
위의 말이 잘 이해되지 않을 수 있습니다. 왜냐하면, 사실 확률은 보통 경우의 수를 가지고 계산하면 되지요. 예를 들면 동전을 던져서 앞면이 나올 확률은 두가지의 경우, 즉, 앞면이 나올 경우와 뒷면이 나올 경우 중에서 하나인 앞면이 나올 경우를 계산해야 합니다. 그래서 두가지 경우 중에 하나의 경우, 즉 1나누기 2로 계산해서 0.5(50%)의 확률이 나옵니다. 이렇게 계산하면 되는데 갑자기 '확률을 구하는 함수'가 왜 필요하죠?
그 이유는 바로 연속 사건인 경우에는 확률밀도함수를 써서 확률(가능성)을 구할 수 있기 때문 입니다.
자세히 알아보기
위의 말이 잘 이해되지 않을 수 있습니다. 이제 자세히 설명해 보겠습니다.
다른 경우도 있지만 대부분의 확률을 독립 사건과 연속 사건으로 구분할 수 있습니다.
독립사건의 확률: 확률의 사례로 많이 나오는 동전 던지기를 예로 들어보겠습니다. 동전을 던졌을 때 앞면이 나올 확률은 어떻게 구할까요? 너무 쉽죠! 동전을 던져서 나올수 있는 모든 경우의 수 2개(앞면, 뒷면) 중에서 앞면이 나올 수 있는 갯수 1로 계산해서 구할 수 있습니다. 즉 1 나누기 2 해서 50% 의 확률이 있습니다. 이처럼 독립사건의 경우 전체 경우의 수와 특정 사건이 일어날 수 있는 경우의 수를 가지고 확률을 계산 할 수 있습니다. 이것이 바로 독립 사건의 확률 예시 입니다.
그럼 이번에는 연속 사건에 대해서 알아보겠습니다. 연속 사건의 경우에 특정 사건이 발생할 확률은 0 입니다. 왜냐하면 연속적이기 때문에 숫자가 무한대로 늘어날 수 있습니다. 그래서 특정한 사건의 확률은 0입니다. 예를 들면 키를 아주 상세하게 무한대로 측정할 수 있다면 170cm가 나올 확률은 얼마일까요? 0 입니다. 왜냐하면 경우의 수가 169.000cm ~ 170.000cm 사이만 봐도 170.000cm가 나올 확률은 천분의 1(1/1,000) 입니다. 사실 이것은 임의로 소수점 3자리까지 제한해서 그나마 확률을 계산 할 수 있었던 것인데 무한대로 잡게 된다면 1 나누기 무한대가 되어서 확률은 0이 됩니다. 그래서 특정 사건이 발생할 확률은 0이라고 하는 것 입니다.
살짝 혼동 되실 수도 있지만 동전을 연속해서 계속 던지는 경우도 연속 사건이 될 수 있습니다. 독립사건이 여러번 연속해서 일어나니까요. 연속 사건도 한계가 정해진 경우에는 독립 사건의 경우와 같은 방법으로 확률을 계산할 수 있습니다. 즉, 경우의 수를 세어서 확률을 계산할 수 있습니다. 그러나 문제는 독립사건이 무한 대로 계속 발생하는 경우에 확률계산을 어떻게 할 것인가가 문제입니다. 그리고 연속 동전 던지기의 경우도 우리가 동전의 앞/뒤면이 나올 확률을 각각 50%라고 가정했기 때문에 제한된 연속 사건의 확률을 계산 할 수 있었습니다. 이처럼 각 독립사건의 발생 확률을 분포 유형에 따라 계산할 수 있도록 만든 함수가 바로 확률밀도 함수입니다.
이것을 또 다른 방법으로 정의해보면
PDF란 연속 사건(데이터)을 입력받아서 이것이 발생할 확률로 바꾸어 주는 함수를 말합니다.
위 설명을 동전 던지기 예시에 적용해 보면 동전을 3번 던져서 모두 앞면이 나올 확률은 무엇인가?라는 질문에 답을 주는 합수가 PDF입니다. 키 측정의 예시에 적용해 보면 키를 쟀을때 170cm가 측정될 확률은 무엇인가? 라는 질문에 답을 주는 함수가 PDF입니다.
이처럼 연속 사건이어서 너무 많은 경우가 있기 때문에 모든 경우의 수를 계산하여 확률을 산정할 수 없고 그래서 경우의 수를 카운트해서 확률을 계산할 수 없습니다. 그 대신 어느 정도의 확률을 가지고 뽑힐 수 있는가를 고려해서 계산하기 때문에 실제 전체 데이터 집단(모집단)의 분포를 고려해서 해당 값(구간)의 발생 확률을 계산할 수 있습니다. (이부분을 이해하는 것이 중요합니다. 정확한 확률은 모르지만 분포를 고려해서 발생확률을 계산한다는 말이 중요합니다. 빨간공 1개와 파란공 1개가 있는 가방에서 빨간공을 꺼낼확률은 0.5 입니다. 이말을 확률분포입장에서 바꾸어보면 빤강공 파란공이 몇개있는지는 모르지만 각각 50%의 비유로 가방에 들어있다는 것을 알면 빨간공을 꺼낼 확률이 0.5라는 것을 알수 있습니다. 이처럼 분포를 고려해서 확률을 계산하는 것이지요). 이렇게 분포를 고려해서 계산하기 위해 만들어진 함수가 바로 확률밀도함수 입니다. 모집단의 분포유형에 따라서 샘플이 뽑힐 확률이 달라 지기 때문에, 그래서 각 분포 별로 PDF 공식이 다르게 정의 되어 있습니다.
정규분포의 PDF는 아래와 같습니다.
시그마 σ : 표준편차, x : 관측값, 뮤u : 모평균(모집단의 평균)
참고로 독립/이산 확률의 경우 확률질량함수(PMF: Probability Mass Function)로 확률을 계산 할 수 있습니다. 아래는 위키피디아에 정의된 내용입니다.
확률 질량 함수(確率質量函數, probability mass function, PMF)는 이산 확률 변수에서 특정 값에 대한 확률을 나타내는 함수이다. 이 함수는 연속 확률 변수에서의 확률 밀도 함수와 대응된다.
예를 들어, 주사위를 한 번 굴릴 때의 값을 나타내는 확률 변수가 X일 때, 이 확률 변수에 대응되는 확률 질량 함수는 fX(x)=1/6 이다.
한번 생각해 보시지요. PDF가 왜 필요할까요? 설명을 못하시겠다면 다시 처음부터 다시 한번 읽어보시지요.(이해 안되는 부분이나 이상한 부분은 댓글 남겨주시면 답변 드리겠습니다.)
PDF 해보기
자~! 이제 실제로 PDF를 구해보겠습니다.
아래와 같이 키를 측정한 데이터가 있습니다.
관측값(키) = 168, 169, 170, 171, 172
이 값을 가지고 각각의 키가 측정될 확률을 구하면 어떻게 될까요? 한번 추정해 보시지요 과연 어떤 관측값의 확률이 가장 높을 까요?
먼저 데이터를 가지고 평균과 분산/표준편차를 구하면 아래와 같습니다.
평균 = (168 + 169 + 170 + 171 + 172) / 5 = 850 / 5 = 170
(원래 u는 모평균인데 여기서는 측정치의 평균을 구했습니다.)
분산 = 차이값 제곱의 평균 = 루트[ (값 - 평균)^2 / n ]
= 루트 [ (168 - 170)^2+(169 - 170)^2+(170 - 170)^2+(171 - 170)^2+(172 - 170)^2 / 5
= 루트 [ (-2^2 + -1^2 + 0^2 + 1^2 * 2^2) / 5 ]
= 루트 [ (4 + 1 + 0 + 1 + 4) / 5 ]
= 루트 [10 / 5]= 루트 [2] = 1.414
표준편차 σ = 루트(분산) = 루트(1.414) = 1.189
위의 구한 값들을 표준정규분포 PDF 공식에 대입하면 아래와 같습니다. 이 말은 대상 전체의 평균(모평균)의 분포를 표준정규분포라고 가정한다는 말과 같습니다.
1 / 1.189 루트(2파이) * e^(-1/2*((x-u)/1.189)^2)
이 공식에 각 키 데이터를 대입하여 각 확률을 구해보겠습니다.
x=168 인 경우
1 / (1.189 루트(2파이)) * e^(-1/2*((168-170)/1.189)^2)
= 1 / (1.189 루트(2파이)) * e^(-1/2*(-2/1.189)^2)
= 1 / (1.189 루트(2파이)) * e^(-1/2*-1.682^2)
= 1 / (1.189 루트(2파이)) * e^(-1/2*2.829)
= 1 / (1.189 루트(2파이)) * e^(-1.4145)
= 1 / (1.189 루트(2파이)) * 0.243
= 1 / (1.189 *2.5) * 0.243
= 0.3355 * 0.243
= 0.0815
x=169 인 경우
1 / 1.189 루트(2파이) * e^(-1/2*((169-170)/1.189)^2)
= 1 / 1.189 루트(2파이) * e^(-1/2*(-1/1.189)^2)
= 1 / 1.189 루트(2파이) * e^(-1/2*-0.841^2)
= 1 / 1.189 루트(2파이) * e^(-1/2*0.707)
= 1 / 1.189 루트(2파이) * e^(-0.3535)
= 1 / 1.189 루트(2파이) * 0.7022
= 0.3355 * 0.7022
= 0.2355
x=170 인 경우
1 / 1.189 루트(2파이) * e^(-1/2*((170-170)/1.189)^2)
= 1 / 1.189 루트(2파이) * e^(-1/2*(0/1.189)^2
= 1 / 1.189 루트(2파이) * e^(-1/2*0)
= 1 / 1.189 루트(2파이) * e^0
= 1 / 1.189 루트(2파이) * 1
= 1 / 1.189 *2.5
= 0.3355
x=171 인 경우
1 / {1.189 루트(2파이)} * e^(-1/2*((171-170)/1.189)^2)
= 1 / {1.189 루트(2파이)} * e^(-1/2*(1/1.189)^2
= 1 / {1.189 루트(2파이)} * e^(-1/2*0.841^2)
= 1 / {1.189 루트(2파이)} * e^(-1/2*0.707)
= 1 / {1.189 루트(2파이)} * e^(-0.3535)
= 1 / {1.189 루트(2파이)} * 0.7022
= 0.3355 * 0.7022
= 0.2355
x=172 인 경우
1 / {1.189 루트(2파이)} * e^(-1/2*((172-170)/1.189)^2)
= 1 / {1.189 루트(2파이)} * e^(-1/2*(2/1.189)^2
= 1 / {1.189 루트(2파이)} * e^(-1/2*1.682^2)
= 1 / {1.189 루트(2파이)} * e^(-1/2*2.829)
= 1 / {1.189 루트(2파이)} * e^(-0.5*2.829)
= 1 / {1.189 루트(2파이)} * e^(-1.4145)
= 1 / {1.189 루트(2파이)} * 0.243
= 0.3355 * 0.243
= 0.0815
계산하기 전에 추정했던 제일 확률이 높을 것 같은 관측값을 맞추셨나요? 그렇습니다. 중간에 있는 평균값인 170cm 가 가장 높은 확률로 계산 되었습니다.
다시 한번 정리하면, 연속 사건의 경우 특정 사건이 일어날 확률을 구할 수 없기 때문에 분포를 기반으로 확률을 계산하는 방법이 필요하고 이를 PDF 확률밀도함수 라고 합니다. 그래서 관측값 x를 가지고 PDF를 호출/적용하면 x에 해당하는 확률을 구할 수 있습니다.
반응형