용어 참고) 🔸통계(모집단, 표본)
https://bioinformaticsandme.tistory.com/37
최대우도법(MLE) - 공돌이의 수학정리노트 (Angelo's Math Notes)
베이즈 정리에서의 likelihood : 가능도 (likelihood) : $P(B|A_{k})$ (원인의 결과로서 B가 관측될 확률)
**어떤 데이터 B가 어떤 데이터분포 Ak로부터 추출되었을 수치(그럴듯함)**을 의미한다.
[https://angeloyeo.github.io/2020/07/17/MLE.html - 공돌이 블로그 예시]
위와 같은 x={1,4,5,6,9} 데이터 표본(sample)은 파란색보단 주황색 확률분포에서 발생했을 가능성(likelihood)이 크다!
$P(x|\theta_{주황})>P(x|\theta_{파랑})$
공식) 데이터 샘플에서 후보 분포에 대한 높이(기여도 = likelihood)를 계산하여 곱한 것.
$$ likelihood~function=P(x|\theta)=\displaystyle\prod_{k=1}^n P(x_k|\theta) $$
likelihood function에 log를 취한 함수이다.
$$ L(\theta|x)=logP(x|\theta)=\sum_{i=1}^nlogP(x_i|\theta) $$
변형과정) 로그의 성질($log(AB)=logA+logB$) 활용
$$ log\bigg(\displaystyle\prod_{k=1}^n P(x_k|\theta)\bigg)=\sum_{k=1}^nlogP(x_k|\theta) $$
$L(\theta|x)에서~ \theta$가 앞에 오는 이유 : 단순히 표기의 차이이지 의미는 같다. +) 표면상으로 $P(x|\theta)$라고 쓰면 조건부확률인지 likelihood인지 모름. 그래서 $L(\theta|x)$로 사용하는 걸지도?
log를 취하는 이유는 ?
$\Pi$ (곱셈)을 덧셈으로 바꾸어 연산을 편하게 하기 위함.
log 함수는 단조 증가 함수로 최댓값을 계산하기 쉬움. → 최적화 용이성
+) 단조 증가 함수 : $x_1<x_2\rightarrow f(x_1)\le f(x_2)$ +) log 함수는 concave function, -log함수는 convex function
MLE : likelihood function이 최대가 되도록 하는 $\hat\theta$를 찾는 방법
MLE를 위해 log-likelihood function을 사용 ← 계산의 편의를 위해서.
$\theta$에 대한 gradient를 활용하여 극댓값을 찾아나감
$$ \nabla_\theta L(\theta|x)=\frac{\partial L(\theta|x)}{\partial\theta} \\=\frac{\partial}{\partial\theta}log\bigg(\displaystyle\prod_{k=1}^n P(x_k|\theta)\bigg)=\sum_{k=1}^n\frac{\partial}{\partial\theta}logP(x_k|\theta) $$
일반적인 확률분포인 정규분포를 생각했을 때, likelihood function은 concave function이다.
concave function = 위로 볼록한 함수
그렇다면, 어떤 파라미터에 대한 미분값이 0이 되도록하는 파라미터값에서 likelihood function이 극댓값을 갖을 것이다.
딥러닝을 MLE 관점에서 보았을 때, 모델의 출력이 Likelihood나 확률값이 아니라 해당 $\theta$일 때 확률분포의 모수(=평균, 표준편차 등등)이다.
데이터 : 평균과 분산을 따르는 확률변수 X의 표본 $x_i(i=1,2,\cdots,n)$ >> $X\sim N(\mu,\sigma^2)$
최대우도법을 사용해 위의 추정값이 맞는지 확인
$$ \theta=(\mu,\sigma^2) \\PDF=f_\theta(x_i)=\frac{1}{\sigma\sqrt{2\pi}}exp(-\frac{(x_i-\mu)^2}{2\sigma^2})
$$
확률변수가 서로 독립적일 때, likelihood는 다음과 같다.
$$ P(x|\theta)=\prod_{i=1}^nf_\theta(x_i) \\L(\theta|x)=\sum_{i=1}^nlog\Big(f_\theta(x_i)\Big) \\ \frac{\partial L(\theta|x)}{\partial \sigma}=0~이~되도록~하는~\sigma값이~우도함수를~최댓값으로~만든다. $$