16. 랜덤 변수와 확률 분포
- 랜덤 변수는 함수다!
The term 'random variable' in its mathematical definition refers to neither randomness nor variability but instead is a mathematical function <from 위키피디아>
- 랜덤 변수(X)는 사건이 입력이고 특정 실수의 값을 출력해주는 함수
- 사건 → X → 실수값
- 동전의 앞면 → X → 1
- 동전의 앞면 → X → 2
- 그냥 one-hot encoding 하는 느낌인데? Mapping 함수 느낌
- 랜덤 변수는 대문자로, 실수 값으로 변환되고 난 값은 소문자로 표현
- 이 실수값을 확률로 변환해주는 것이 확률 함수
- 사건 → X → 실수 값 → P → 확률
- 동전이 앞면 → X → 1 → P(1) → 0.5
- 랜덤 변수의 확률 분포는 확률 분포 함수로 나타낸다.
- 위키피이다: 확률 변수가 특정한 값을 가질 확률을 나타내는 함수
- 확률 분포 함수에는 2가지 종류가 있다.
- 확률 질량 함수(PMF, categorical): 각각이 양수이면서 0과 1사이 값을 가짐. 합이 1
- \(f_X(x)=Pr(X=x)=Pr(\{s \in S : X(s) =x \}) \)
- 확률 밀도 함수(PDF, continuous): 양수는 맞지만 0과 1사이가 아님. 적분이 1
- \(Pr(a \leq X \leq b)= \intop_a^b f_X(x) dx \)
- 밀도는 질량/부피 이다. 따라서 부피가 0이면 밀도를 구할 수 없다. 즉, \(Pr(a \leq X \leq a) =0\)
- 확률 질량 함수(PMF, categorical): 각각이 양수이면서 0과 1사이 값을 가짐. 합이 1
17. 평균과 분산
- 평균과 분산은 확률 분포를 대표해서 설명할 수 있는 값들이다.
- 평균
- 1, 2, 3 의 평균은 → 2, 이것은 mean(수학적 단어) 또는 Average(일상 단어)를 구한 것!
- mean의 종류: 1. 산술평균, 2. 기하 평균, 3. 조화 평균
- 머신러닝에서 주로 다루는 평균은 기댓값(Expectation)을 이야기 한다.
- 무한번 시행후, 산술평균을 구하면 기댓값과 같아짐
- 기댓값의 정의: \(\text{E}[X]=\sum_ix_ip_i\)
- 연속 랜덤 변수에 대해서는? \(\text{E}(X)=\int_{-\infty}^\infty xp(x)dx\)
- 보통 \(\text{E}(X)=\mu\)라고 표기함
- 분산
- (100, 0), (50, 50) 두 집단은 평균은 같으나 확연히 다르다.
- 따라서 분포의 퍼진 정도를 함께 보기 위해 분산을 사용한다.
- 평균과의 차이(편차)를 구하고 양수로 만들어주기 위해 제곱한다.
- 절대값을 취하면 (-7, -1, 1, 7 vs -4, -4, 4, 4) 과 같은 분포들의 차이를 알 수 없다.
- 그런데 값들을 다 더하면 값이 너무 커지므로, 이 값들의 기대값을 구하자
- \(\text{V}(X)=\sum_i(x_i-\mu)^2p_i\) or \(\text{V}(X)=\int_{-\infty}^\infty (x-\mu)^2p(x)dx\)
- \(\displaylines{\text{V}(X) = \text{E}[(X-\mu)^2]= \text{E}[X^2-2X\mu+\mu^2]= \text{E}[X^2]-2\text{E}[X\mu]+\mu^2= \text{E}[X^2]- \mu^2}\)
- 표준편차(\(\sigma\))는 \(\sqrt{\text{V}(X)}\) 이다. (제곱을 했으니 단위를 맞추기 위해 다시 루트 씌움)
18. 균등 분포와 정규 분포
- 균등 분포(Uniform distribution)
- 생김새: 평평하다!(주사위, continuous 도 가능)
- \(p(x)=\begin{cases} \frac{1}{b-a} & \text{for } a \leq x \leq b \\ 0 &\text{otherwise} \end{cases}\), \(X~U(a, b)\) : 랜덤 변수 X가 균등 분포를 따른다.
- 평균 = \(\frac{1}{2} (a+b)\)
- 분산 = \(\frac{1}{12} (b-a)^2\)
- 증명
- 정규 분포(Normal or Gaussian Distribution)
- 생김새: 종모양(키)
- \(p(x) = \frac{1}{\sqrt{2\pi \sigma^2 }}e^{-\frac{x-\mu}{2\sigma^2}}\), \(X~N( \mu, \sigma^2)\) : 랜덤 변수 X가 정규 분포를 따른다.
- 평균 : \(\mu\)
- 분산: \(\sigma\)
19. 최대 우도 추정(MLE)
- 내가 이해한 Likelihood의 정의
- Likelihood는 분포가 \(\theta\) 일 때 x가 발생할 확률이다(조건부 확률하고 비슷하긴 함)
- \(L(\theta|x)=p_\theta(x)=p_\theta(X=x)\)
- \(L(\theta|x)=f_\theta(x)\)
- 이 영상에서는 \(L(\theta)=Pr(x;\theta)\)라고 표시하면서, 조건부 확률이 아니라 \(\theta\)에 영향을 받을 때로 표현한다.
- 혁펜하임 식 설명
- A 주머니를 선택했을 때 각 공이 나올 확률 해석 → 조건부 확률
- 색칠한 공이 나왔을 때, 어떤 주머니에서 나왔을지 해석 → Likelihood(MLE)
- L(A;색칠) = 색칠한 공이 A에서 나왔을 확률
- likelihood: 조건부 확률 값인건 맞는데 확률 분포는 아님!
- 앞의 것은 고정하고, 뒤의 것의 함수로 봤기 때문에 적분이 1이 아니기 때문!
혁펜하임은 likelihood하고 likelihood function하고 같은 의미로 설명하고 있는 듯함
- 위 그림을 보면, likelihood function은 \(\theta\)에 대한 함수이고, density function은 \(x\)에 대한 함수임을 알 수 있다.
- ‘likelihood는 확률 분포중 하나다’ 라는 설명은 잘못된 설명이다.(합이 1이 아니기도 하고..)
- 아래 요약이 짱인듯하다.
- 위 그림을 보면 직관적으로 해석이 된다. 그러니까 어떤 분포가 있고, 그 분포에서 쥐의 몸무게가 32그램일 확률을 구하면 조건부 확률이고, 쥐의 몸무게가 32그램일 때 평균이 32, 분산이 2.5일 확률이 likelihood인 것이다.
- 근데 어쨌든 Likelihood를 구하려고 해도 PDF에서 x=32를 넣고 계산해야 한다.
최대 우도 추정(Maximum Likelihood Estimation)?
- 우도가 최대가 되는 모수(\(\theta\))를 구하는 것. 즉 실제 모집단의 모수를 가장 잘 예측하려고 시도하는 것.
- 정의: \(argmax_\theta P(X|\theta)\)
- MLE를 하기 위해선 관측치는 서로 i.i.d 하다는 가정이 필요하다.
- 이 가정을 통해 우도를 다음과 같이 표현가능하다.
$$L(\theta|X=x_1,x_2,...,x_n)=L(\theta|X=x_1)L(\theta|X=x_2)...*L(\theta|X=x_n)$$
- 그 다음, 여기서 우도 함수가 \(\theta\)에 대해 concave(볼록함수)인지 확인해야한다. 또한 2차 미분시 모든 범위에 대해 미분함수가 0이하의 값을 가져야 한다.
- 그리고 우도를 \(\theta\)에 대해 미분해서 **값이 0이 되는 \(\theta\)**가 가장 적합한 모수가 된다(계산 해보면 데이터의 평균값이 나옴. 즉, 데이터의 평균값이 모수가 됨(모수=모집단의 평균))
- 이 때 계산의 편의성을 위해 로그를 취하여 곱셈을 덧셈으로 바꿔준다. 로그를 취하여도 모수별 우도의 크기는 변하지 않는다. 즉, 로그 우도를 구한 후 같은 방법으로 모수를 추정하여도 같은 결과가 나온다.
20. 최대 사후 확률(Maximum A Posteriori)
- MLE는 결국 \(\hat\theta=argmax_\theta P(X|\theta)\)를 찾는 것이었다.
- 베이지안 정리를 생각해보면,
$$P(A|B)=\frac{P(B|A)P(A)}{P(B)}$$
여기서 A와 B를 \(\theta\)와 x로 바꿔보면,
$$P(\theta|x)=\frac{P(x|\theta)P(\theta)}{P(x)}$$
MAP는 위에서 \(P(\theta|x)\)를 최대화 하는 x를 찾는 것이다. 즉,
$$MAP=\hat \theta=argmax_\theta P(\theta|x)=argmax_\theta\frac{P(x|\theta)P(\theta)}{P(x)}=argmax_\theta P(x|\theta)P(\theta)$$
- 여기서 posterior distribution은 \(P(\theta|x)\)를 의미
- MLE와 비교하면 \(P(\theta)\)가 추가됐음을 알 수 있고, \(P(\theta)\)를 안다는 것은 \(\theta\)의 분포를 사전에 알고 있다는 것 → 사전정보를 제공해주는 것이므로 \(P(\theta)=\text{prior distribution}\)이라고 함 (물론 사전정보에 오류가 있으면 추정 성능에 악영향)
- MLE vs MAP
- 결국 \(P(\theta)\)를 곱해주느냐 안곱해주느냐 차이
참고로, MLE는 uniform distribution인 \(\theta\) 의 MAP와 동일하다.
$$\text{argmax}_\theta L(\theta)=\text{argmax}_\theta P(x|\theta)=\text{argmax}_\theta P(x|\theta)P(\theta)$$
MLE vs MAP 문제 풀이 예시
예제) 바닥에 떨어진 머리카락의 길이 x를 보고 그 머리카락이 남자인지 여자인지 성별 y를 판단하는 문제. 즉 추정하는 모수가 여기서는 남/녀
- MLE 풀이법: 아래 두 확률을 비교하여 가장 확률이 큰, 즉, 우도가 가장 큰 클래스를 선택하는 방법
1. \(P_1 = P(x | y_1)\): 남자에게 그러한 머리카락이 나올 확률
: 여자에게 그러한 머리카락이 나올 확률
두 확률을 비교해서 \(P_1\)이 더 높으면 남자로 결정, 아니면 여자로 결정 - MAP 풀이법: 아래 두 확률을 비교하여 둘 중 큰 값을 갖는 클래스를 선택하는 방법으로 사후확률을 최대화 시키는 방법
- \(P_1 = P(y_1 | x)\): 머리카락이 발견되었는데 남자였을 확률
- \(P_2 = P(y_2 | x)\): 머리카락이 발견되었는데 여자였을 확률
- 위 두 확률을 비교해야 하는데, 그냥은 못구하므로 \(P_1 = P(y_1 | x)= P(x|y_1)*P(y_1)\)을 이용한다.
- 즉 여자와 남자의 비율을 곱해주는 것이다(사전확률 활용)
21. 정보 이론 기초
정보 이론(Information Theory)?
정보량?
- x가 발생 가능한 어떤 사건, P(x)를 그 사건이 발생할 확률이라고 한다면 정보량은 다음과 같다.
$$I(x)=-logP(x)$$
- 위 식에서 밑이 2면 ‘섀넌’ 혹은 비트(bit)라고 한다.
- 위 그래프에서 보듯이, 일어날 확률이 낮으면 정보량이 높아진다.
엔트로피?
- 모든 사건 정보량(확률 분포)의 기대값이다.
$$H(X)=-\sum_x p(x)\log_2p(x)$$
- 엔트로피를 bit로 측정하려면 log의 밑을 2로 한다.
- 엔트로피는 확률변수의 평균 불확실성(average uncertainty)의 측도이다.
- 이는 확률변수를 설명(전달)하는데 필요한 평균 비트수를 의미한다.
- 모든 확률 변수의 발생확률이 동일할 수록 엔트로피는 높아진다.
크로스 엔트로피?
- 위 식에서 \(\log_2p(x)\)대신 \(\log_2q(x)\)를 사용하는 것.
- 왜? 실제 \(p(x)\)의 확률 분포를 모르기 때문에 \(q(x)\)로 예측해보는 것.
$$H(p, q)=-\sum_x p(x)log_2q(x)$$
- 예를 들어, 가방에 0.8/0.1/0.1 의 비율로, 빨간/녹색/노랑 공이 들어가 있다고 하자. 하지만 직감에는 0.2/0.2/0.6의 비율로 들어가 있을 것 같다. 이 때, entropy 와 cross-entropy 는 아래와 같이 계산된다.
(근데 위 수식에서는 실제 분포를 q로 썼는데, 보통 p로 쓴다. 헷갈리지 말자)
KL-Divergence?
- 크로스 엔트로피에서 엔트로피를 뺀 값
$$D_{KL}(p||q)=H(p,q)-H(q)\\=-\sum_x p(x)log_2q(x)-(-\sum_x p(x)log_2p(x)) \\=\sum_x p(x)log_2\frac{p(x)}{q(x)}$$
- 크로스 엔트로피는 항상 엔트로피보다 크기 때문에 KL-D는 항상 양수다(증명: https://hsm-statistics.tistory.com/169)
- 우리가 대개 cross entropy를 minimize 하는 것은, 어차피 H(p) 는 고정된 상수값이기 때문에 결과적으로는 KL-divergence를 minimize 하는 것과 같다.(링크)
KL-Divergence와 log likelihood(링크)
- 정체를 알 수 없는 \(p(x)\)를 학습이 가능한 \(\theta\)의 parametric distribution \(q(x|\theta)\)로 근사한다고 하자. \(\theta\)를 결정하는 방법 중 하나는 \(p(x)\)와 \(q(x|\theta)\)의 KL-D를 최소화 시키는 \(\theta\)를 찾는 것이다. 그러나 \(p(x)\)를 모르기 때문에 직접 해낼 수는 없다.
- 따라서 \(p(x)\)대신 \(p(x)\) 에서 추출한 데이터들을 가지고 KL-D를 유추해보자(KL-D를 P와 Q 사이의 차이로 간략 히표현)
$$KL(p∥q) ≃ \frac{1}{N}\sum_{n=1}^N \{\ln p(x_n) - \ln q(x_n|\theta)\}= \frac{1}{N}\{\sum_{n=1}^N \ln p(x_n) - \sum_{n=1}^N \ln q(x_n|\theta)\}$$
- 위 식에서, \( \ln p(x_n) \)는 \(\theta\)에 대해 독립이다(건드릴 수 없음)
- 따라서, 좌변의 KL-Divergence를 Minimize하는 것은 우변의 \(\ln q(x_n|\theta)\)를 Minimize해야 한다.
- 여기서, \(\ln q(x_n|\theta)\)는 \(\theta\)에 대한 negative log likelihood 이므로, KL-Divergence를 Minimize하는 것은 \(\theta\)에 대한 negative log likelihood를 Minimize하는 것과 같으므로 즉, likelihood를 Maximize하는 것과도 같다.
'인공지능 > [강의] 혁펜하임 딥러닝 강의' 카테고리의 다른 글
Chapter 5. 이진 분류와 다중 분류 (0) | 2024.12.01 |
---|---|
Chapter 4. 딥러닝, 그것이 알고 싶다. (1) | 2024.11.27 |
Chapter 3. 인공신경망이란? (0) | 2024.11.26 |
Chapter 2. 왜 현재 AI가 가장 핫할까? (1) | 2024.11.25 |
Chapter1. 딥러닝을 위한 필수 기초 수학-1 (0) | 2024.11.17 |