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...
-
화면에서 프린트 기능을 구현했는데 글자들은 잘 나오지만 CSS가 안먹는 경우가 간혹 발생했다. 마크업된 CSS를 불러오지 못해 발생하는 문제로 판단했고 약간의 트릭으로 해결할 수 있었다. 아래는 구현된 화면이다. 이 화면을 출력하고자 다...
-
요즘같이 디스크 용량 걱정이 없는 세상에서는 MSSQL Shrink를 볼 일이 없을 것 같았는데 얼마 전 회사에서 SHRINK를 할 일이 생겨서 진행했었다. 디스크 용량이 약 4테라이고 해당 디스크는 db file만 존재하여 딱히 지울 파일이 없었...
댓글 없음:
댓글 쓰기