인공지능 in 네부캠 AI 4기/기초 & 이론

확률과 통계 for AI, Machine Learning(1)

제로타이 2022. 9. 26. 00:21

확률과 통계. 너무나도 어려운 개념들과 수식이 넘쳐난다. 덕에 볼 때마다 막막한 기분부터 드는데, 최소한 ai를 위해서 알아야 하는 아주 기본적인 영역의 개념들을 조금 추려낸다면 그래도 확통과 조금씩 친숙해질 수 있을 것이다.
그런데 왜 ai에서 확통이 필요할까? 왜냐하면 딥러닝이 확률론이나 통계학의 기반한 이론들에 바탕을 두고 있기 때문이다. 당장 경사하강법에서 보았던 MSE 오차는 분산의 개념과 매우 맞닿아 있다. 또 우리는 데이터를 가지고 딥러닝 모델을 만들어 나간다. 우리가 추측한 모형에서 나온 값과, 실측값을 비교해가며 우리의 모형을 조금씩 수정해나가는 과정이기 때문에 우리는 사실 통계에 기반한 모형을 만드는 것이 된다. 어느 정도는 너무나도 당연하게 이미 확통과 관련된 지식을 사용하고 있는 것이다. 이렇게 기반이 되어 사용되는 확통의 개념은 심화하여 들어가게 되면 그 내용을 제대로 알고 있어야 활용할 수 있는 순간도 오기 마련이다. 
아주 기본적인 개념들만 최대한 짚어보자.

확률

$ \large P(A) = \frac{사건\ A가\ 발생하는\ 모든\ 경우의\ 수}{발생\ 가능한\ 모든\ 경우의\ 수}$

아주 간단하다. 전체 경우의 수 중에서 A가 발생할 경우의 수의 비율. 항상 편리한 예시로 주사위를 들 수 있다. 

$\large P(주사위를\ 한번\ 던져\ 1이\ 나올\ 확률) = \frac{1}{1,2,3,4,5,6} = \frac{1}{6}$ 

엄밀하게는 주사위가 1이 나오는 것을 표본 공간 내의 사건이라 하고, 하는 식의 용어가 있는데 그 정도까지 알지 않더라도 우리는 충분히 일상에서 확률의 개념을 접하고 있으니 이정도는 수용할 정도의 영역이다!
한편 주사위를 던질 때 나오는 수를 확률변수라고 부른다. 1,2,3,4,5,6이 확률변수에 속하는 값이렷다. 이걸 통해 확률을 전체 확률변수 중 특정 확률변수가 나오는 비율이라고도 부를 수 있겠다. 이걸 대충 그래프로 표현한다던가 그 전체적인 모양새를 따지는게 확률분포이다. 확률분포는 x값에 확률변수, y값에 확률을 넣어서 그린다. 

확률에는 독립이라는 개념이 있다. 주사위를 한번 던져서 1이 나올 확률과 한번 던져 4가 나올 확률은 서로에게 영향을 주지 않을 것이다. 이런 것을 독립이라고 한다. 그 반대는 종속이라 하는데, 이것은 현실 예시가 보통 더 쉽더라. 비가 올 확률과, 내가 우산을 가지고 나갈 확률은 서로 독립일까? 밖에 나가기 전 비가 오는 것이 확인된다면 나는 우산을 가지고 나갈 것이기 때문에 이런 경우에 우산을 가지고 나갈 확률은 비가 올 확률에 영향을 받기 마련이다.
(내가 정말 좋은 예시를 들고 있는지는 모르겠다. 다만 내가 쉽게 이해한 방식으로 풀어쓰는 거라, 태클이 걸려도 할 말이 없다..)

결합확률, 주변확률, 조건부확률

갑자기 어려운 개념 나온다~ 하지만, 기본적으로 위에서 나온 개념들에서 출발하는 개념들이다.

결합확률은 그냥 두 사건이 일어날 확률이라 보면 된다. 우리에게 A, B 동전이 있다. 이 동전들은 각각 앞면이 나올 확률이 $\frac{1}{2}$일텐데, 이렇게 각각으로 보지 않고 둘 다 같이 앞면이 나올 확률이라 하게 되면 $\frac{1}{4}$가 될 것이다. 이걸 결합확률이라 부른다! 생각보다 어렵지 않다!

A,B 앞면 뒷면  
앞면 $\frac{1}{4}$ $\frac{1}{4}$ $\frac{1}{2}$
뒷면 $\frac{1}{4}$ $\frac{1}{4}$ $\frac{1}{2}$
  $\frac{1}{2}$ $\frac{1}{2}$ $1$

주변확률은 일종의 그냥 명칭이다. 이렇게 두 개의 A,B를 보고 있을 때, 한 쪽을 고정하고 다른 쪽의 확률만 따지는 게 주변확률이다. 우리가 따져야 하는 확률의 공간에서, 두 개의 변수가 있는데 굳이 하나의 변수만 따지는 걸 주변확률이라 부른다. 두 개의 동전 A,B가 있을 때, A에서 앞면이 나올 확률은? 이렇게 묻는다면 아 이게 주변확률이구나 하면 될 듯하다.

그리고 조건부확률. 이 놈은 아주 요주의 개념이다. 여기에서 신기한 공식도 나오고 베이즈 정리니, 통계학이니 뭐니 하는 것들이 많이 나온다. 조건부확률은 한 놈이 일어난 상황에서, 다른 놈이 일어날 확률을 이야기한다. 

$\large P(A|B) = \frac{P(A\cap B)}{P(B)}$

B가 일어난 상황에서, A가 일어날 확률. 보통 식으로 이렇게 표현한다. 주사위 예시를 들어보자. 주사위를 한번 던져서 5이하의 수가 나왔는데, 그 수가 2 이하일 확률은 어떻게 될까? 우리는 쉽게 생각할 수 있다. 한번 던졌는데 5 이하라 했으니 일단 가능한 수는 1,2,3,4,5이고.. 그런데 그 중에서 2이하인 수는 1,2이니까 $\frac{2}{5}$겠거니! 위의 식을 활용하면 어떻게 쓸 수 있을까?

$\large P(2\ 이하일\ 확률|5\ 이하일\ 확률) = \frac{2/6}{5/6} = \frac{2}{5} $

이런 식으로 쓸 수 있다. 조건부확률은 이후에도 더 나올 예정이니 일단 이 정도의 개념만 알고 있어도 충분하다.

다른 예시(일일히 세는 것도 일이다..).


현재 표시된 분포(확률을 담고 있지 않으니 확률분포는 아니다)에서 위 확률들을 적용해보자. $P(X=4, Y=1)$은 두 가지를 같이 고려하니 결합확률로, $\frac{7}{57}$일 것이다. 반면 그냥 $P(X=4)$라면? 주변확률로 $\frac{8}{57}$이 되겠지. 마지막으로 $P(X=4|Y=1)$이라면 어떠한가? Y가 일어났을 때만을 기준으로 둬야 한다. 그렇기에 간단하게 $\frac{7}{3+6+7+7+5+3+1}=\frac{7}{32}$가 된다. 위에서 쓴 식을 활용한다면?

$\large P(X=4|Y=1) = \frac{P(X=4 \cap Y=1)}{P(Y=1)} = \frac{7/57}{32/57} = \frac{7}{32}$

참고로 확률변수가 셀 수 있도록, 대충 정수의 집합으로 치환할 수 있도록 생겼다면 이산확률변수, 그렇지 않고 모든 변수가 연속되어있다면 연속확률변수라고 부른다.주사위의 숫자 1부터 6은 우리가 셀 수 있지만, 160cm부터 180cm라고 하면 그 안에 무수한 실수들이 들어가 있을 것이다. 그것을 말하는 것이다!

몬테카를로 샘플링

간단하게 개념만 보자면.. 우리는 주사위에서 각 숫자가 나올 확률이 전부 같다는 것을 알고 있다. 그러나 우리의 현실은 그렇게 녹록치가 않다. 실상 우리는 우리가 대면하고 있는 어떤 문제가 어떤 분포를 가지고 있는지 알 수 없는 경우가 많다. 주사위는 정육면체지만, 정n면체의 주사위를 던지고 있다고 쳐보자고. 우리는 그 n을 모르지만, 그럼에도 많은 데이터를 쌓으면 뭐 정도일지 추측은 할 수 있다. 가령 계속 던졌는데 1이라는 숫자가 거의 두번 중에 한 번 꼴로 나온다면? 그 주사위는 정2면체(당연히 이런 건 없다. 그냥 상상만 해보자고)일 것이다. 우리는 현실에서 이렇게 데이터를 수집, 혹은 추출해서 확률을 따지게 된다. 이런 걸 샘플링이라 하는데, 이때 몬테카를로 샘플링은 해당 분포가 어떤지 모르면서 기대값(흔히 평균이라 한다)을 계산하는 방법이다.
방법도 단순하다. n개의 데이터를 뽑고(다만 각 데이터는 서로 독립이어야 한다), 그 데이터 값을 다 더해서 평균을 내는 것이다. 근데 이게 결국 n이 엄청나게 커지면 대수의 법칙에 의해 실제 분포에서의 평균과 같아지더라는 것이다. 우리는 정육면체의 주사위의 평균이 3.5라는 것을 아는데, 혹여 그것을 몰랐다고 손 치더라도 데이터를 열라 뽑아서 그것을 평균을 내면 그게 3.5에 근사한다는 것. 단순하다!

대충 이리 표현한다

재밌는 예시가 있어 위키에서 빌린다.

$\pi$를 몬테카를로 샘플링으로 계산하는 방법

4번에 따르면 결국 해당 비율은 사분원의 넓이에 해당하게 될 것이다. 사분원의 넓이는 $\frac{\pi}{4}$다. 놀랍게도(놀라운가..?) 결국 무한으로 샘플링을 하면 비율은 결국 저 값에 근사하게 될 것이라는 것.
대수의 법칙에 의해 이것이 보장되는 건데, 대수의 법칙은 무한번 시행하는 통계적 확률이 수학적 확률과 같다는 뭐 그런 거다. 자세히는 필요 없고 그런 게 있다 정도만 알면 되겠지!
몬테카를로 샘플링은 어떤 분포를 하고 있더라도 상관없이 그것을 급수의 형태로 만들 수 있다는 점에서 굉장히 흔하게, 알게 모르게 사용되는 듯하다.