티스토리 뷰

본 포스팅은... 주인장 개인 중간고사 공부를 위해 지극히 개인적으로 작성하는 개인주의포스팅이니 정리도 두서없이 할거고 내가 이미 이해하고 있는 개념들에 대해서는 설명 없이 넘어갈수도 있으므로.. 시작부터 헛소리를 많이적는게.. 개인주의알레르기가 있는 어쩌구 저쩌구 손님분들께서는 뒤로가기를...

 

모든 내용은 강원대학교 고갑석 교수님 강의를 바탕으로 작성됩니다.

https://ee.kangwon.ac.kr/ee/professor/professor.do?mode=view&key=$cms$IwBgHMDsxA& 

 

교수 | 전자공학과

 

ee.kangwon.ac.kr

 

 

1. Bayesian Decison Theory 기본 개념

컴퓨터 계산을 통해 optimal decision을 내리는 task에는 필연적으로 uncertainty(=probability)가 포함됨.

 

Bayesian Decison Theory(BDT)에는 World라는 용어와 Observer라는 용어가 있음

World는 세상에 존재하는 명확하지 않은 개념을 우리가 임의로 정의한 구분이다.

예를들어 세상에 명확하게 '봄 여름 가을 겨울'이라는 개념은 존재하지 않지만 우리의 경험을 통해 계절이라는 개념을 나누었음, 또는 바다에 사는 물고기는 사실 그들이 명확한 이름표를 가지고 태어난 것이 아니지만 우리의 관찰에 의한 경험상 어떤 물고기를 보았을 때 이 물고기가 배스다, 고등어다 등 동정하는 것을 World라고 생각할 수 있음

보통 World를 우리는 머신러닝에서 y로 표현함

 

Observer는 World를 설정(결정)하는데 작용하는 관찰 요인이다. 

예를들어 계절을 결정할 때, 온도가 10도~15도 정도 온난하고, 새싹들이 돋아나며 꽃가루가 날리고 꽃들이 핀다. 이런 관찰값들이 존재하면 우리는 지금 계절을 '봄'이라는 World로 결정하게된다.

또한 잡은 물고기의 주둥이 모양, 빵의 크기, 몸의 길이, 꼬리의 모양, 눈알의 색, 이빨의 유무 등 다양한 관찰값들로부터 이 물고기가 고등어인지, 배스인지 그 World를 결정하게된다.

이렇게 World를 결정하는데 영향을 준 요인들, 특징들, 관찰값들을 observations또는 features라고 한다.

보통 observation은 머신러닝에서 x로 나타낸다.

 

2. Decision Function

2-1. Decision Function

$$X_{observation}  \in  \Omega \ \ and\  \ Y_{world} \in  \Psi $$

우리는 다음과 같은 decision function을 하는 것이다.

$$g: \Omega  \mapsto \Psi $$

이것을 우리는 다음과 같이 나타낼 수도 있다.

$$g(x) = y$$

이때 y는 다양한 World에 속하는 Y들중 하나의 state(상태)이다. 배스인지, 고등어인지 결정한다는 것이다.

X라는 observation으로부터 World Y가 y=고등어인지 y=배스인지 결정하는 function이 바로 decision function이며 mapping이라고 이야기할 수 있다.

 

2-2. Loss

이때 예측에 대한 error = Loss(y_predict, y_true)로 나타낼 수 있다. 고등어를 고등어로 예측했으면 Loss는 0이다. 고등어를 배스로 예측했으면 Loss는 0보다는 크다. 고등어를 비행기로 예측했다면 Loss는 0보다 매우 크다. 다만 Loss는 0보다 작아질수는 없다. 항상 0또는 양수의 값을가져야 한다.

 

2-3. Goal

그래서 Decision Function의 목적은 무엇인가? 내가 관찰한 값 X로부터 y를 예측하는데 가장 Loss가 낮아지는 Decision Function을 결정하는 것이다.

 

예를들어 설명하자,

물고기를 100마리 잡았다. (Data확보)

컨베이어 벨트를 지나면서 해당 물고기들의 길이와 주둥이 모양 등을 확인한다. (X의 obsrvation기록)

고등어로 생각되는 물고기는 고등어 박스에 배스로 생각되는 물고기는 배스박스에 옮겨담는다. (Decision Function에 따라 각각의 x를 통해 y로 분류)

옮겨담은 박스를 검수하여 잘못 분류된 물고기가 있는지 확인한다. (Loss를 계산)

+ 사람은 이후에 학습과정을 거치지는 않지만 학습시킬 기계라면, Loss를 통해 기계를 학습시키고 물고기를 다시 한박스에 담아서 분류시킨다. 이 과정을 기계가 물고기를 충분히 잘 분류할때 까지 반복한다.

 

3. Classification 

다양한 task가 있지만 여기서는 classification을 기준으로 공부한다. 

 

$$g(x) = i , \ where\  i \in  \big\{1, 2, ..., M\big\} $$

그리고 설명을 위해 Loss중 가장 간단한 0,1 loss function을 이용할 것이다. 

내가 예측한 y_predict와 y_true가 일치하면 loss = 0 그렇지 않으면 loss = 1이다.

 

4. Bayeisan Decision Theory를 이해하기 위한 기본개념들

 

4-1. probabilistic representations

Joint distribution(결합 확률) / Conditional probability(조건부 확률) 

 

조건부 확률개념을 모르면 해당 포스팅 참고

https://biomadscientist.tistory.com/20

 

조건부 확률 (Conditional probability)

해당 내용은 김성범교수님의 유튜브 강의 내용을 정리한 것입니다. 개인 공부를 위함이고 잘못된 내용이 있을 수 있으니 참고만 하시길 바랍니다. https://www.youtube.com/watch?v=Cj25K_leYZw&list=PLpIPLT0Pf7I

biomadscientist.tistory.com

 

결합확률 개념을 모르면 김성범 교수님의 영상 참고

https://www.youtube.com/watch?v=niob_ZRZeJs 

 

중요한 것은 결합확률변수를 조건부 확률과 함께 다음과 같이 확률의 곱규칙으로 나타낼 수 있다는 것이다.

$$P(X=x,Y=i) = P_{XY}(x,i) = P(X=x|Y=i)P(Y=i) = P_{X|Y}(x|i)P_Y(i)$$

첫번째 항과 두번째 항은 결합확률 변수를 표기하는 방식만 다를 뿐이며 같은 의미이고, 세번째와 네번째 항은 결합확률 변수를 조건부확률과 prior distribution으로 나타내는 확률의 곱규칙에 의해 풀어 나타낸 것이며 마찬가지로 표기법만 다를 뿐 같은 의미를 가진다.

확률변수를 나타내는 notation들이 사람마다 달라 상당히 공부하기에 헷갈리고 어려운데 위에서 나타낸 표기법은 정말 standard한 대표적인 결합확률 변수와 조건부 확률의 표기법이니까 헷갈리지 않게 기억해두자.

 

그럼 확률의 곱규칙이 왜 중요한가? 확률의 곱규칙의 식을 잘 정리하면 우리가 공부해야 할 베이즈 규칙의 식을 얻는다.

 

차근차근보자, 먼저 1번 검은 박스 2개를 보면 확률의 곱규칙에 의해 나타낸 식이 각각 왼쪽, 오른쪽에 두개가 존재한다. 왼쪽 오른쪽 박스 안의 식 4개는 모두 같은 식이다. 왜냐면 맨 왼쪽의 식 P(y,x)와 맨 오른쪽의 식 P(x,y)는 결합확률의 정의에 의해 각각 다음과 같이 해석되기 때문이다.

[ y이면서 x일 확률, x이면서 y일 확률]

일반적인 예를 들어 설명하면 빨간 모자를 쓰고 청바지를 입고있을 확률청바지를 입고 빨간 모자를 쓰고있을 확률과 같은 이치이다.

 

이제 2번 초록색 박스를 보자 빨간 화살표를 따라 P(x)를 우항으로 넘기면 아래의 빨간 베이즈 규칙의 식이 완성된다.

 

이제 빨간색 베이즈 규칙에서 좌항과 우항에 각각 사후확률, 우도, 사전확률, 증거 4가지를 명시해두었다. 위 4가지 개념은 명확하게 설명하기 참 어렵다. 베이즈 규칙의 장점이자 단점으로 융통성 있지만 설명하기에는 또 한편 애매모호함이 존재하는 개념들이라 일단 여기서는 베이즈룰의 구성을 이해하는 정도로만 넘어가자

 

한가지 머리속에 생각해야 할 개념은 사후확률을 직접 구하는것은 불가능한 반면 우항의 우도, 사전확률, 증거를 이용해 사후확률을 우회적으로 계산하는것은 가능하다는 점이다.

 

Class-conditional distribution(=Likelihood)

위에서 제시한 식에서 class conditional distribution은 다음과 같다. $$P_{X|Y}(x|i)$$

다음 두 ppt를 보고 이해할 수 있었다.

 

 

Class probabilities(=Prior probability)

위에서 제시한 식에서 class probabilites(=prior probability)는 다음과 같다.

$$P_Y(i)$$

prior probability는 베이즈룰에서 중요한 역할을 하는데 베이즈 룰을 모두 설명하면 포스팅이 산으로 가니까 베이즈 룰 및 베이즈 룰에서 필요한 개념들을 모른다면 다음 포스팅 시리즈를 참고하라.

https://biomadscientist.tistory.com/41

 

1부) 베이즈 통계학의 기초 -1.정보를 얻으면 확률이 바뀐다.

1-1. 베이즈 추정을 이용하면 '쇼핑족'과 '아이쇼핑'족을 판별할 수 있다. 비즈니스에서 실제로 사용될법한 예를 들어 설명해보자, 상품 판매원이 어떤 손님이 들어왔을 때 가장 신경써야 할 부분

biomadscientist.tistory.com

 

4-2. Chain Rule of Probability

확률의 체인룰은 직접 손으로 적어보면서 이해하는수밖에 없다.

 

$$P_{XYZ}(xyz) = P_{X|YZ}(x|yz)P_{YZ}(yz)$$

$$P_{YZ}(yz) = P_{Y|Z}(y|z)P_Z(z)$$

$$P_{XYZ}(xyz) = P_{X|YZ}(x|yz)P_{Y|Z}(y|z)P_Z(z)$$

 

probability chain rule이 중요한 이유는 다양한 분포들이 결합된 결합확률의 분포를 직접 알아내기는 사실상 불가능한데 반해 이것을 chain rule을 사용하면 (여전히 어렵지만) 그나마 간단한 확률 분포의 형태로 풀어낼 수 있기 때문이다.

이게 무슨소리냐? 예를들어설명하자

 

당신이 열이 38도이면서 병에 걸렸을 확률을 확률의 곱규칙(체인룰)에 의해 나타내면 다음과 같다.

$$P_{Y,X}(sick,38) = P_{Y|X}(sick|38)P_X(38)$$

이때 결합확률 분포인 좌항의 식은 사실상 구하는것이 불가능하다.

왜 why?

[저 분포를 직접 구하기 위해서는 열이 30~40인 사람들 각각의 코호트를 충분히 모아서 (일단 여기서부터 연속의 실수값에 대한 분포를 대표할 수 있는 코호트를 모으는것 자체가 사실상 불가능하다 38.1도 38.2도 38.3도 ... 이런 코호트를 모두 모을 수 있는가?), 각각의 코호트에 대해 해당 인원이 아픈지 아프지 않은지를 판단하여 기록하여 joint probability distribution table을 작성해야한다.]

그냥 간단히 말해 현실적으로 불가능하다.

반면 좌항의 식을 우항으로 나타낸 것을 보자 조건부 확률은 구할 수 있다. 열이 38도인 코호트만 따로 모아서 아픈지 아프지 않은지를 구하는 것은 가능하다.  P(38)역시 쉽지는 않지만 어쨋든 충분히 많은 사람들을 모아서 열이 38도인 사람들의 비율을 통해 구할 수 있다.

 

4-3. Marginalization

이 marginalization이라는 개념이 참 사람 헷갈리게 만드는데 일단 개념은 이렇다. 우리가 조사한 observations들 중에서 불필요한 정보를 담고있는 X들은 y예측에서 제거하자는 개념이다.

예를들어 당신이 의사라고 하자, 환자의 진료기록표를 보고 감기인지 예측해야 한다.

진로 기록표에 혈압(x1), 온도(x2), 체중(x3), 기침유무(x4), 가래유무(x5), 키(x6)가 적혀있다고 하자.

혈압(x1), 체중(x3), 키(x6)는 감기의 유무를 판단하는데 크게 도움이 되지 않을것이다. 반면 온도(x2), 기침유무(x4), 가래유무(x5)는 도움이 될것이다. 우리는 도움이 되지 않는 데이터는 제거하고 감기 유무를 예측하기를 원한다.

다시 말해 감기인지 예측하는데 도움이 되지 않는 특징은 제거하고 도움이 될 자료만 가지고 World를 판단하자는 개념

 

이것을 수식으로 나타내면 다음과 같다.

$$P_{X}(x1,x2,x3,x4,x5,x6)$$

이 때 도움이 되지 않는 정보 x1,x3,x6는 marginal out한다고 표현하고 필요없는 정보들은 제거되고 남은 필요한 정보만을 이용한 joint probability는 다음과 같이 구할 수 있다.

$$P_{X2, X3,X5}(x_2,x_3,x_5)= \sum_{x_1,x_4,x_6} P_{X1,X2,X3,X4,X5,X6}(x_1,x_2,x,_3,x_4,x_5,x_6)$$

솔직히 나도 명확하게 Joint probability에 대한 개념을 블로그 포스팅으로 설명할정도의 이해는 안되는것 같고, 실제로 글로 포스팅하기가 어렵다. 

KMOOC에서 여인권교수님의 8주차 강좌를 통해서 결합확률변수와 주변확률변수에 대한 이해를 하는게 많은 도움이 될것

http://www.kmooc.kr/courses/course-v1:SookmyungK+SM_sta_004k+2019_03SM_02/course/ 

 

강좌 | SM_sta_004k | K-MOOC

 

www.kmooc.kr

 

4-4. Independence 독립

독립에 관한 내용은 아래 포스팅을 참고하자.

https://biomadscientist.tistory.com/21

 

독립 (Independence)

해당 내용은 김성범교수님의 유튜브 강의 내용을 정리한 것입니다. 개인 공부를 위함이고 잘못된 내용이 있을 수 있으니 참고만 하시길 바랍니다. https://www.youtube.com/watch?v=dHTkIna_hFk&list=PLpIPLT0Pf7I

biomadscientist.tistory.com

 

 

이상 Bayesian Decison Theory를 이해하기 위한 배경지식은 얼추 설명이 끝났다. 해당 포스팅에 작성된 내용들의 이해가 없으면 BDT를 이해하기는 사실상 불가능하니 이정도 선수지식은 본인이 반복적/추가적으로 공부하길 바란다.

 

 

내용이 혹시나 도움되셨다면 좋아요 눌러주세용 꾸준한 포스팅에 매우 큰 응원이 됩니다 🥰

댓글