다음과 같은 윷이 있다고 가정을 합시다. 5가지중 한 값을 가지게 되는 확률 변수는 x이고, x의 정의역은 {도, 개, 걸, 윷, 모}가 됩니다. 그리고 이에 대한 확률 분포를 구하면 다음과 같을 것입니다.
그리고 이러한 확률밀도는 아래와 같이 히스토그램으로 그릴 수 있다, 만약 연속적인 입력을 받는 신호인 경우는 오른쪽과 같이 표현한다.
그리고 확률 벡터라는 개념이 있는데, 예로 들어 붓꽃에서 확률 벡터 x는 4차원의 벡터를 얻어낼 수 있습니다. 꽃받침 길이, 너비, 꽃잎 길이, 너비
또 다른 예시로 다음과 같은 번호가 담긴 주머니와 여기서 나오는 번호에 따라 해당 병에서 공을 뽑고 색을 관찰한다고 가정해봅시다. 이 때 번호를 y, 공의 색을 x라는 확률 변수로 표현하면 정의역은 다음과 같습니다.
일단 주머니에서 1번을 뽑을 확률은 8개 중 하나밖에 없으니 1/8입니다. (이를 p(1) = 1/8이라 표현합니다.) 그리고 1번을 뽑고 난 뒤, 공이 하양일 확률은 p(1, 하양)이라고 표현하며 이를 결합확률이라 부릅니다. 그리고 이를 표현할 때는 다른 방법으로는 p(하양|1) 이런 식으로도 표현할 수 있습니다. 이를 곱 규칙이라 부릅니다.
즉 하양이 뽑힐 전체적인 확률은 다음과 같습니다.
그리고 이 과정에서 사용되는 규칙이 바로 합규칙입니다.
자 이제 베이즈 정리를 알 필요가 있습니다. 어떤 사건이 서로 공통분모가 없는 즉 배반 사건이고, 이 둘에 의해 일어난다고 했을 때 실제 사건이 일어난 경우 이것이 두 원인 중 하나일 확률을 구하는 것입니다. 이는 수식으로 표현하면 다음과 같습니다.
그럼 이런 질문 또한 가능합니다. 하얀 공이 나왔다는 사실만을 알고 있고, 어느 병에서 나왔는지 모르는데, 어느 병인지 추정하라. 일단 식은 다음과 같이 표현합니다.
그럼 이는 3가지 확률을 먼저 계산해야겠군요. 왜냐면 병은 3개니까 말이죠.
이러한 과정에서 3번 병일 확률이 제일 높을 것이란 건 추정할 수 있습니다. 다시 베이즈 정리 식을 보면 다음과 같이 해석할 수 있겠군요.
이 때 우도란 말은 한글로 표현하면 좀 알기 힘들군요. 그냥 영어로 likelyhood 즉 가능성 정도로도 표현할 수 있습니다. 이제 이런 식을 실제 머신러닝에 적용해보겠습니다. 그럼 일단 특징 벡터 x가 들어가고, y로는 이 붓꽃의 종류에 대해 들어가겠습니다.
먼저 특징을 추출한 뒤 이 특징으로 사후확률을 추정합니다. 그 이후 argmax를 진행하면 어떤 부류인지 추정할 수 있을 것입니다.
단 사후확률 P(y|x)를 직접 추정하는 일은 아주 단순한 경우 빼고는 불가능에 가깝습니다. 그렇기 떄문에 베이즈 정리를 이용해서 추정하는 것입니다.
자 이제 매개변수 중 하나를 모르는 상태에서 매개변수를 추정하는 과정을 진행해봅시다.
이런 상황에서 b번의 경우를 기준으로 두겠습니다. 이 경우는 다음과 같은 데이터가 주어졌을 때, 이 데이터를 발생시켰을 가능성을 최대로 하는 매개변수 theta = {q3}의 값을 찾는다고 해봅시다.
이 경우 먼저 argmax 함수를 통해서 q3일 확률을 베이즈 정리를 통해서 구합니다.
이 때 theta = {q3}니까 일반화 하면 다음과 같이도 표현할 수 있을겁니다.
그리고 여기에 로그를 취해서, 로그 우도 추정을 구해냅니다.
이미 다들 고등학교 수학 시간에 봤었을 식일껍니다. 사실 이런 방식으로도 평균 벡터와 공분산 행렬을 구할수도 있을겁니다.
그리고 이를 통해서 가우시안 분포(정규 분포라고 하죠)라는 것 또한 구할 수 있습니다.
그리고 이러한 식으로 구해진 정규 분포는 그래프로 표현하면 다음과 같습니다.
정규 분포 외에도 성공 확률 p와 실패 확률 1-p로 표현하는 베르누이 분포, 그리고 성공 확률이 p인 베르누이 실험을 m 번 수행할 경우 성공할 횟수의 확률 분포를 구한 이항 분포가 있습니다.
이제 정보에 대한 그 자체를 이야기 하겠습니다. 메시지의 경우에는 지닌 정보를 수량화할 수 있는가에 대한 생각이 들껍니다. 예로 들어, "고비 사막에 눈이 왔다"와 "대관령에 눈이 왔다" 라는 메시지가 있습니다. 이 중 확률이 적은 건 아무래도 고비사막에 눈이 오는 것이죠?
즉 정보 이론에서 확률이 작을 수록 더 많은 정보를 가지고 있다는 것은 기본 원리입니다. 이 말이 무엇이냐면 결국 이미 알고 있는 것들은 새로운 정보가 적고 반대로 우리가 모르고 있는 정보들은 새로운 정보가 많습니다. 즉 어떤 정보인지 불확실하고 엔트로피가 높기 때문에 더 많은 정보를 가지고 있다고 말하는 겁니다.
일단 자기가 가지고 있는 정보 즉 자기 정보(Self-Information) 구해야겠군요. 그래야 엔트로피를 계산할 수 있으니 말입니다. 사건(메시지) ei에 대해 정보량은 다음과 같이 표현합니다. (이 때 단위는 비트나 나츠입니다.)
자 이제 제가 가지고 있는 정보를 수치화했습니다. 그럼 엔트로피를 구하면 이제 이 정보가 많은 정보를 들고 있나를 확인할 수 있죠. 확률 변수 x의 불확실성을 나타내기 위해 이를 식으로 표기하면 다음과 같습니다.
ㄱ럼 두 확률 분포를 이용해서 엔트로피 계산이 가능할까요? 네 가능합니다. 이를 교차 엔트로피라 하며 단순히 P 하나로만 구하던 것을 다음과 같이 구하면 됩니다.
이 식을 전개하면 다음과 같습니다.
이 때 나오는 것이 바로 KL 다이버전스입니다. 이 식은 쿨백-라이블러 발산이라고 하며 두 확률 분포의 거리(차이)를 계산하는데 사용하는 식입니다.
그럼 교차 엔트로피와 무슨 관계가 있는가를 말하자면, P의 엔트로피에 P와 Q 사이의 발산 즉 KL 다이버전스를 더하면 P와 Q의 교차 엔트로피라고 볼 수 있습니다.
'Deep Learning' 카테고리의 다른 글
[딥러닝] 신경망 (0) | 2021.10.17 |
---|---|
[딥러닝] 최적화 이론 (0) | 2021.10.17 |
[딥러닝, 수학]선형대수와 퍼셉트론 (0) | 2021.10.17 |
[딥러닝] 간단한 기계학습 (0) | 2021.10.12 |
[딥러닝] 인공지능과 데이터 (0) | 2021.10.12 |