Boostcamp AI Tech

[Boostcamp Day-3] AI Math - 베이즈 통계학

ju_young 2021. 8. 4. 22:44
728x90

베이즈 정리

베이즈 통계학을 알아보기 이전에 조건부확률의 개념을 이해해야한다. 그런데 이전의 '확률론' 강의로 조건부 확률에 대한 개념을 이해했으니 바로 수식으로 나타내보면 다음과 같다.

조건부 확률

여기서 베이즈 정리는 A라는 새로운 정보가 주어졌을 때 P(B)로부터 P(B|A)를 계산하는 방법을 제공한다. 또한 두 확률변수의 사전 확률과 사후 확률 간의 관계를 나타내는 정리로 다음과 같이 사전확률 P(θ)와 가능도(likelihood)확률 P(D|θ)를 안다면 사후 확률 P(θ|D)를 알 수 있다.

베이즈 정리

각각의 의미를 좀 더 자세히 살펴보면 다음과 같이 정리할 수 있다.

  • 사전확률 : 결과가 나타나기 전에 결정된 원인(θ)의 확률을 의미한다. 다시 말해 데이터가 주어지지 않았을때 원래있던 확률이라고 할 수 있다.
  • 가능도확률 : 원인(θ)이 발생했다는 가정하에 결과(D)가 발생할 확률을 의미한다.
  • 사후확률 : 결과(D)가 발생했다는 가정하에 원인(θ)이 발생했을 확률을 말한다. 다시 말해 데이터가 주어졌을때 결과가 성립할 확률이라고 할 수 있다.
  • Evidence : 데이터 자체의 분포를 의미한다.

 

간단한 예로 바이러스의 발병률이 10%로 알려져있고 이 바이러스에 실제로 걸렸을 때 검진될 확률은 99%, 실제로 걸리지 않았을 때 걸렸다고 오진될 확률이 1%라고 해보자. 이때 바이러스에 걸렸다고 검진됐을 때 정말로 감염되었을 확률을 구하면 다음과 같이 수식에 대입할 수 있다.

0.1은 사전에 알고 있는 발병률 10%를 사전확률로, 0.99는 바이러스에 걸릴 가능도 확률 99%, evidence에는 바이러스로 검진될 확률과 오진될 확률에 각각 사전확률과 (1-사전확률)을 곱한뒤 더해주는 것으로 대입하였다. 이어서 계산하면 다음과 같이 약 91%의 확률이 나온다. 만약에 사전확률이 주어지지않으면 베이즈 정리를 구하기 힘들다. 임의로도 줄 수도 있겠지만 효과가 떨어지는 단점이 있다.

만약 오진률이 10% 늘어났다고 한다면 다음과 같이 계산되어 약 52% 확률로 현저히 떨어지는 것을 확인할 수 있는데 이는 오탐율(False alarm)이 오르면 정밀도(Precision)이 떨어진다고 말할 수 있다.

혼동 행렬을 바탕으로 시각화를 하여 좀 더 살펴보면 다음과 같은 그림이 그려진다. 혼동 행렬은 이전에 작성한 글이 있으니 참고하자. 

각 케이스 별로 정리해보면 다음과 같다.

  • TP(True Positive) : 양성의 결과가 나왔을 때 실제로도 양성일 때
  • TN(False Positive) : 양성의 결과가 나왔는데 실제로는 양성이 아닐 때
  • TN(True Nagative) : 음성의 결과가 나왔는데 실제로도 음성일 때
  • TP(True Positive) : 음성의 결과가 나왔는데 실제로는 음성이 아닐 때

 

헷갈릴 수도 있으니 다시 간단히 정리하면 'Positive = 양성, Negative = 음성'이라고 했을 때 앞에 True, False가 옴에 따라 양성일 때와 아닐 때, 음성일 때와 아닐 때로 구분할 수 있다.

 

이를 바탕으로 정밀도를 나타내는 P(θ|D)는 다음과 같은 식으로도 표현할 수 있다.

정밀도(Precision)

이렇게 계산한 사후확률은 사전확률로 사용하여 다음으로 갱신된 사후확률을 계산할 수가 있다. 즉, 이전에 계산한 사후확률을 사전확률로서 또 한 번 사후확률을 계산한다는 것이다. 다시 위에 있는 수식을 가져와보면 P(θ)가 이전에 계산한 P(θ|D)가 들어가게 될 것이다.

다시 예시로 돌아와보면 바이러스를 판정받은 사람이 두 번째 검진 때도 양성이 나왔는데 진짜로 양성인 확률을 구할 수 있을 것이다. 그러니까 다음과 같이 대입할 수 있을 것이다.

결과적으로 두 번째 검진받았을 때 양성이 나왔는데 진짜로 양성일 확률은 약 91.7%가 나온다.

 

인과관계

지금까지 말한 조건부 확률과 베이즈 정리는 유용한 통계적 해석을 제공하지만 이 조건부 확률만으로 인과관계(causality)를 추론할 때 함부로 사용해서는 안된다. 만약 새로운 데이터가 들어올 때 조건부확률 기반으로 예측을 하면 확률이 많이 달라질 것이다. 따라서 인과관계 기반 예측을 통해 경건한 예측모형을 만들어야하는데 이 인과관계 기반 예측은 조건부확률 기반 예측만큼 높은 확률을 가지지 못하지만 데이터 분포에 따른 변화에 강건한 특징을 가지고 있다. 즉, 예측 정확도가 많이 바뀌지 않는다. 

 

이 인과관계를 알아내기 위해서는 중첩요인(confounding factor)라는 녀석의 효과를 제거하고 원인에 해당하는 변수만의 인과관계를 계산해야한다. 여기서 '중첩요인'은 데이터가 변할 때 정확도를 떨어뜨릴 수 있는 요인이라고 말할 수 있다. 예를 들어서 키에 따른 지능지수를 판단했을 때 키가 클수록 높은 것으로 나타나는데 이 때 연령이라는 중첩요인 때문에 가짜 연관성(spurious correlation)이 관찰된다. 다음 그림으로 보면 Z가 중첩요인(연령)이 될 것이고 T가 키, R이 지능지수이라 할 수 있다.

728x90