확률론
Intro
현실에서 정보가 완전하게 주어진다면 우리는 최고의 선택을 할 수 있을 것입니다. 하지만 모든 경우의 수를 우리가 알 수 없듯이 정보는 불확실하며 때로는 거짓이 섞일 수도 있습니다. 이러한 상황에서 확률론은 우리가 최선의 선택을 할 수 있도록 도와줍니다. 인공지능 또한 확률론에 기반하여 데이터로부터 합리적인 예측을 이끌어낼 수 있습니다. 이번에는 인공지능을 공부하기 위한 기본적인 확률론 지식에 대해 간단하게 소개하고자 합니다.
용어정리
무언가를 배우는 것에 정의를 아는 것은 매우 중요합니다. 수학에서 정의란 용어에 대한 약속입니다. 명확한 정의를 아는 것은 그 누구도 반박할 수 없는 말을 안다는 것과 동일합니다. 반대로 정의를 확실히 모른다면 해당 용어를 기반으로 하는 모든 것에 혼동을 가져올 것입니다.
확률
확률이란 기본적으로 Event를 어떤 실숫값으로 mapping하는 함수입니다. 여기서 Event는 Sample space의 부분집합을 의미합니다. Sample space는 발생가능한 모든 사건들을 원소로 하는 집합입니다. 다시 정확하게 말하자면 정의역이 Event, 공역이 실수로 이뤄진 함수 중에서 3가지 공리를 따를 때 이 함수를 Probability measure라고 합니다.
3가지 공리는 다음과 같습니다.
Random variable
Random variable(확률변수)란 sample space의 원소들을 numerical value로 mapping하는 함수입니다. 예를 들어 주사위 던지기를 한다고 하면 짝수인 경우를 0, 홀수인 경우를 1로 mapping하는 random variable X가 있다고 해봅시다. 그렇다면 이 될 것이고 마찬가지로 가 될 것입니다. 만약 치역이 countable하다면 이는 discrete random variable이 되며 uncountably infinite하다면 continous random variable이 됩니다.
PMF
PMF는 probability mass function의 약자로 discrete random varable의 확률분포를 의미합니다. 즉, discrete random variable의 치역을 하나의 probability 값으로 mapping해주는 함수라고 할 수 있습니다.
정리하면 Probability measure는 sample space의 부분집합인 event에서 실숫값으로 mapping하는 함수 중 3가지 공리를 따르는 함수이며 Random variable은 sample space에서 어떤 실숫값으로 mapping하는 함수이고 PMF는 random variable로 mapping된 값들을 확률값으로 mapping하는 함수입니다.
PDF
PDF는 probability density function의 약자로 Continous random variable와 함께 아래 식과 같이 로 정의됩니다. Continous random variable의 치역 중 특정 구간에서의 확률값을 PDF의 적분을 통해 구할 수 있습니다.
Bayes' theorem
확률은 기본적으로 random experiment를 통해 계산할 수 있습니다. 예를 들어 동전 던지기를 한다고 하면 앞면이 1/2, 뒷면이 1/2이 나올 확률은 동전 던지기를 수만 번, 또는 그 이상 실행하면서 확률이 1/2로 수렴함을 알 수 있습니다. 하지만 열이 날 때 코로나에 걸렸을 확률, 도둑이 들었을 때 개가 짖을 확률과 같이 우리는 random experiment를 통해 알기 어려운 확률들이 있습니다. 이러한 상황에서 Bayes' theorem은 가설(H)과 증거(E)들의 관계를 통해 구하고자 하는 확률값을 추론할 수 있도록 합니다. 인공지능 또한 데이터라는 증거를 토대로 자신의 모델을 계속해서 업데이트하는 것이기에 베이즈 정리에 대한 이해는 중요하다고 할 수 있습니다.
Bayes' Theorem은 위와 같은 식으로 정의됩니다.
: posterior probability, 사후확률
: prior probability, 사전확률
: Likelihood, 가능도(우도)
: normalizing constant(정규화 상수), 또는 evidence
사전확률 는 라는 evidence를 관찰하기 전의 확률입니다. 즉, 사전확률이란 정보가 없을 때 생각되는 의 발생 확률이라고 생각할 수 있습니다. 는 evidence를 관측하여 갱신된 의확률입니다. 사후확률이란 새롭게 정보를 얻었을 때 갱신되는 값이라고 생각할 수 있습니다. 베이즈 정리는 사후확률과 사전확률의 관계를 식으로 정리하여 우리가 새로운 정보 를 받았을 때 사후확률이 어떻게 변화하는지 알 수 있도록 합니다.
그렇다면 Naive bayesian classifier를 통해 Bayes' theorem이 어떻게 동작하는지 살펴보겠습니다.
Naive Bayes Classifier
예를 들어 상자 안에 구분할 수 없는 두 개의 동전이 있다고 하겠습니다. 동전을 던졌을 때 동전 A는 앞면과 뒷면이 0.5의 확률로 나오며 다른 동전 B는 앞면이 0.8, 뒷면이 0.2의 확률로 나온다고 가정하겠습니다. 상자 안에 동전A와 동전B가 있을 때 우리는 앞면과 뒷면이라는 Evidence를 관찰함으로써 이 동전이 A인지 B인지 구분해보도록 하겠습니다.
먼저 상자 안에서 동전을 꺼냈을 때 동전 A 또는 동전 B일 확률 P(A), P(B)는 모두 0.5입니다. 그다음 동전을 던졌을 때 만약 앞면이 나왔다고 한다면 이 됩니다. 그다음 동전을 던졌을 때 뒷면이 나온다고 하면 가 됩니다. 그렇다면 여기서 우리는 이라는 Evidence를 통해 과 을 구할 수 있습니다. 즉, Evidence의 관측을 통해서 현재 동전이 A인지 B인지 확률을 비교할 수 있는 것입니다. 여기서 계산의 편의를 위해 한가지 Naive한 가정을 하겠습니다. Evidence인 앞면과 뒷면이 서로 Independent하다는 가정을 세우겠습니다. 그렇다면 우리는 새롭게 관측되는 데이터인 앞면과 뒷면에 대해 확률값을 계속 곱해가는 형태로 사후확률을 계산할 수 있습니다. 만약 한 번 더 동전을 던졌을 때 앞면이 나온다면 , 가 될 것입니다.
정리하면 우리는 동전을 던졌을 때 관측되는 데이터를 통해 현재 동전이 A인지 B인지 확률로 비교할 수 있었습니다. 인공지능 모델 또한 데이터를 통해 를 업데이트하고 이에 에 대한 확률분포를 찾아가며 Classification을 수행할 수 있다고 이해할 수 있습니다.
Likelihood
Likelihood란 데이터가 주어졌을 때 현재 모델이 데이터를 얼마나 잘 설명하는지에 대한 함수입니다. 즉, Likelihood는 데이터와 모델이 주어졌을 때 명확히 정의할 수 있습니다. 만약 PDF 모델이 주어진다면 Likelihood는 데이터에 대한 PDF 함숫값이 될 것입니다. 예를 들어 평균이 4인 정규분포 A와 평균이 5인 정규분포 B가 주어졌다면 데이터 5에 대해 Likelihood는 B에서 더 높게 측정될 것입니다. 왜냐하면 평균이 5인 분포에서 5라는 데이터가 평균이 4인 분포보다 더 발생 확률이 높기 때문입니다. 조금 더 명확한 이해를 위해 Bayesian concept으로 Likelihood를 설명해보겠습니다.
게임을 하나 해보겠습니다. 여러분은 제가 제시한 숫자가 어떤 규칙을 따르는지 맞히시면 됩니다. 저는 규칙에 해당하는 일부 숫자들만 제시할 것이며, 숫자는 0에서 100사이로 제한됩니다. 제가 제시할 숫자는 {4,8,32,64} 입니다. 혹시 생각나는 규칙이 있으신가요? 그렇다면 숫자 2는 규칙에 따를까요? 아니면 99는 과연 규칙에 포함되는 숫자일까요? 우리는 이에 대한 명확한 해답을 놓을 수 없습니다. 규칙이 2의 배수 일수도, 4의 배수 일수도, 아니면 2의 제곱수일 수도 있습니다. 하지만 데이터가 주어졌으니 우리는 가설을 세우고 이 가설이 과연 타당한지 Bayes 정리를 통해 생각해 볼 수 있습니다. 먼저 첫 번째 가설은 2의 배수라는 가설 입니다. 그렇다면 제시할 수 있는 숫자는 총 50개이며 확률로 숫자가 제시되므로 4개의 제시된 숫자들의 Likelihood는 가 됩니다. Likelihood가 굉장히 낮은 값을 가지니 아무래도 가설(모델)이 잘못된 것 같다는 생각이 듭니다. 그렇다면 모델을 4의 배수로 바꾼다면 Likelihood는 가 됩니다. 모델을 2의 제곱수로 바꾼다면 가 될 것입니다. 가설을 바꿔가며 Likelihood가 계속하여 증가하는 것을 확인할 수 있습니다. 만약에 우리가 가설을 {4,8,32,64}로 가정한다면 Lieklihood는 가 될 것입니다. 하지만 이 가설은 타당하다고 할 수 없을 것 같습니다. 물론 정답일 수도 있지만 저는 규칙에 해당하는 숫자들의 일부만 제시한다고 하였기 때문입니다. 이제 Likelihood를 계속해서 증가시키는 것만으로는 오류에 빠질 수 있음을 알게 되었습니다. 따라서 가설에 대한 prior probability 를 도입하겠습니다. 는 가설이 발생할 확률로 수많은 가설에 대해 얼마나 합리적인지에 대해 대략적인 지표를 제공할 수 있습니다. {4,8,32,64}라는 가설에 대해서는 가 낮을 것이며 2의 배수 4의 배수, 2의 제곱 수 등에 대해서는 모두 동일한 를 가진다고 하겠습니다. 만약 가설이 무한하게 많다면 하나하나 구분할 수 없으므로 모든 가설에 대해 가 동일하다고 가정할 수도 있겠습니다. 그렇다면 우리는 Bayes 정리에 따라 를 아래 식과 같이 계산할 수 있습니다. 값은 상수이므로 아무래도 값이 가장 높은 2의 제곱수가 정답 규칙에 제일 가까울 것 같습니다.
Likelihood는 모델에 따라 다르게 정의되며 데이터에 따라 값이 달라질 수 있습니다. 편리하게는 아래 식과 같이 Likelihood를 정의할 수 있습니다.
만약 주어진 모델이 가우시안 분포였다면 평균과 표준편차가 가 되고 Likelihood가 정의되겠습니다. 위의 예시를 이해하셨다면 결국 인공지능 모델은 주어진 데이터를 가장 잘 설명할 수 있는 가설을 찾는 것이라고 이해할 수 있겠습니다. 특히 새로운 데이터를 생성하는 생성모델의 경우 Likelihood를 최대화하는 방향으로 모델이 학습됩니다. Likelihood를 최대화하는 것을 Maximum likelihood estimation라고 하며 MLE라고 합니다. Likelihood는 수학적으로 Cross Entropy에 음의 부호를 붙인 것과 동일하므로 MLE는 Loss function중 하나인 Cross entropy를 Minimizing하는 것과 동일합니다.
Last updated