2019년 12월 7일 토요일
Artificial Intelligence - Chain rule/Marginalization rule proof and example
Joint probability의 간단한 예로 P(A,B)는 A와 B가 각각 t,f일 경우의 수가 총 4개가 존재하며 이는 둘다 t일때 P(A,B) = P(A∧B)로 나타낼 수 있다. 그런데 만약 A,B 두 경우가 아닌 n개의 사건이 존재한다면 이는 차원의 갯수가 d라고 가정하여 n^d - 1의 경우를 계산해야한다. 이를 모두 계산하기란 사실상 불가능하다.
하지만 이런 Joint probabiliy를 간단하게 하는 방법이 몇 가지가 존재한다.
그 중에서 Chain rule과 Marginalization rule을 살펴보자.
Chain rule의 식은 다음과 같다.
Product rule : P(A∧B) = P(A|B)P(B)
이는 조건부 확률 P(A,B) = P(A|B)P(B)에 의해 증명이 가능하다.
P(X1,...Xn)
= P(Xn|X1,...,Xn-1) * P(X1,...,Xn-1)
= P(Xn|X1,...,Xn-1) * P(Xn-1|X1,...,Xn-2) * P(X1,...,Xn-2)
= P(Xn|X1,...,Xn-1) * P(Xn-1|X1,...,Xn-2) * ... * P(X2|X1) * P(X1)
= ∏ P(Xi|X1,...,Xi-1)
Marginalization rule은 다음과 같다. A와 B는 binary 하다.
P(A) = P((A∧B) ∨ (A∧┐B)) = P(A∧B) + P(A∧┐B)
A가 일어날 확률은 B가 일어났을 경우/일어나지 않았을 경우의 확률의 합이다.
이를 일반화해보자.
P(X1 = x1,...,Xd-1 = xd-1) = ΣP(X1 = x1,...,Xd-1 = xd-1, Xd = xd)
즉 우측을 확률을 다 더하면 좌측의 확률이 나온다는 것이다.
정리하면 한개의 확률 변수의 모든 경우의 수를 모두 합치면 그 변수를 사용하지 않는 것과 같다는 것이다.
Marginalization rule의 예를 들어보자.
맹장으로 진단할 확률 변수 App과 백혈구 수가 일정수준 이상일 확률을 나타내는 확률 변수를 Leuko라고 가정하자.
P(Leuko|App)는 맹장으로 진단했을 때 백혈구 수가 일정수준 이상일 확률이다.
제시된 표에 의해 P(Leuko) = 0.54이고, P(App) = 0.28이다.
따라서 P(Leuko|App)는 P(Leuko,App) / P(App)이고 0.23/0.28 = 0.82가 된다.
피드 구독하기:
댓글 (Atom)
2022년 회고
올해는 블로그 포스팅을 열심히 못했다. 개인적으로 지금까지 경험했던 내용들을 리마인드하자는 마인드로 한해를 보낸 것 같다. 대부분의 시간을 MLOps pipeline 구축하고 대부분을 최적화 하는데 시간을 많이 할애했다. 결국에는 MLops도 데이...
-
MSSQL에는 저장프로시저가 아주 강력하고 문법 자체도 편하기(?) 때문에 토이프로젝트를 진행할 때 DB를 MSSQL을 주로 사용한다. 본인 노트북, 혹은 데스크탑에 MSSQL을 설치하고 SSMS로 접속을 하려고 할 때 서버이름에 loc...
-
MyBatis에서 #과 $의 차이에 대해서 포스팅을 하려고 한다. XML파일에 작성된 쿼리가 DB에서 수행될 때 Bind 변수(#)와 Literal 변수($)에 따라 DB 조회 시 성능차이를 야기할 수 있다. 먼저 Literal 변수로 작성한...
-
웹사이트에 대한민국 지도(시도, 시군구, 법정동)를 표현하고 각각 권역에 데이터를 입혀야하는 사람들에게 도움이 되기를 바라며 포스팅한다. 필자도 필요해서 집에서 며칠동안 연구해본 결과 전처리 과정이 꽤나 난감했다. 사실 데이터를 엮어서 표현하기 위...
댓글 없음:
댓글 쓰기