Likelihood 정의
$\mathbf{X}=\lbrace \mathbf{x}_1,\cdots ,\mathbf{x}_n\rbrace\in\R^{n\times d}$ : 전체 데이터셋
$\mathbf{x} \in\R^d$ : 데이터 샘플 벡터 ex) x_1 = [몸무게, 키, 당뇨여부, .. ]
$\theta$ : 확률분포의 파라미터 (평균, 표준편차, 등등 확률분포를 결정하는 여러 변수들)
$P(\mathbf{x}_i|\theta)$ = Likelihood . $\theta$ 조건을 만족하는 확률분포에서 $\mathbf{x}_i$ 피처를 가진 사람 표본으로 추출되었을 가능도
⇒ $\theta$ 파라미터의 확률분포 P에서 $\mathbf{x}_i$ 피처를 가진 사람이 병에 걸릴 확률 [조건부 확률로 해석할 경우]
⇒ Likelihood로 해석할 경우 : $\mathbf{x}_i$ 피처를 가진 사람이라는 표본이 모수가 $\theta$인 데이터 분포에서 추출되었을 수치(가능성. likelihood) + 그 모집단를 나타내는 확률분포의 파라미터(모수=평균, 표준편차 등등)는 $\theta$
Likelihood function : $L(\theta|\mathbf{X})=P(\mathbf{X}|\theta)=\displaystyle\Pi_{i=1}^nP(\mathbf{x}_i|\theta)$
Log-Likelihood function
MLE (Maximum Likelihood Estimation) : 🔸How to maximize Likelihood → MLE
베르누이 분포 : 🔸이항분포
Entropy , Intrinsic Value : ◾정보량, 엔트로피
Intrinsic Value(내재적 정보, 정보량) : 어떤 사건이 흔하게 발생할수록 데이터로 표현할 때는 더 적은 bit수로 표현하는 것이 이득입니다. 그래서 사건이 발생할 확률에 반비례하게 정보량을 표현하게 됩니다.
$\operatorname{IV}(x)=\log(1/P(x))$.
Entropy : 데이터셋의 혼잡도를 나타내는 지표. 정보량의 기댓값으로 측정합니다. 서로 다른 데이터들이 섞여 있을수록 각 데이터의 발생 확률이 낮아질 것이고 이는 정보량의 증가를 야기하니까 엔트로피가 증가합니다. a,b 두 종류의 라벨만 존재하는 데이터셋에서는 모든 데이터의 정보량이 $\log_2(1/0.5)$ = 1 로 같으니 엔트로피(정보량의 기댓값)는 1 로 낮은 수치를 기록합니다. $H(X)=\bold{E}{x\sim P{data}}[\operatorname{IV}(X)]=\sum_{i=1}^nP(x_i)\log(1/P(x))=-\sum_{i=1}^nP(x_i)\log P(x_i)$ (로그의 성질 $log(\frac{1}{b}) = -log(b)$ )
+) $x\sim P_{data}$ : 확률변수 x가 P 확률분포를 따른다는 의미.
Cross Entropy : 두 확률분포의 차이를 측정하는 지표
Entropy 공식을 사용.
Cross Entropy : $CE=H_P(Q)=-\displaystyle\sum_{x\in X}P(x)\log Q(x)$
저는 Cross Entropy가 정보이론으로만 설명 가능한 줄 알았는데 GPT에 물어보니 Cross Entropy는 정보 이론 관점과 Likelihood 관점으로 모두 설명 가능하다고 하네요.
GPT :
관점 설명 정보량/엔트로피 관점 Cross Entropy = 데이터의 불확실성을 모델 분포로 측정한 평균 정보량 log-likelihood/MLE 관점 Cross Entropy 최소화 = log-likelihood 최대화 = 모델이 데이터를 가장 잘 설명하게 만들기
이 사람이 병이 걸렸는지, 안 걸렸는지 분류하는 모델을 만든다면
Likelihood 정의시
$y_i = 1$이면, 이 사람은 병이 걸림
$y_i = 0$이면, 이 사람은 병에 안걸림
여기서 $\theta$는 이 사람에 대한 특징 파라미터라 가정하면, $P(y_i = 1\mid \theta)$은 이 사람이 병에 걸린 것을 맞출 확률??
<aside>
$\theta$ 는 확률분포에 대한 변수. P가 회귀 모델을 나타낸다면 회귀계수(W)와 편향(b) 값을 의미하고, P가 정규분포라면 평균(m)과 표준편차(std)값을 의미. $P(y_i=1|\theta)=L(\theta|y_i=1)$ 는 “ $y_i=1$ 인 데이터 샘플이 $\theta$ 라는 파라미터를 갖는 확률분포 P 추출되었을 가능성”
Likelihood에서 왜 $\theta$와 y의 순서가 바뀌는지 몰랐었는데 생각해보니 조건부확률과 likelihood의 표기가 동일해서 헷갈리지 말라고 순서를 바꾼 것이 아닐까 싶습니다.
</aside>
$L(\theta)$는 모든 데이터에 대해 독립이라 가정할 때 전체 확률 계산??
<aside>
표본 데이터셋인 $\mathbf{X}$ 가 $\theta$라는 파라미터를 갖는 모집단에서 추출되었을 **가능성과 관련된 수치(=가능도, likelihood)**을 의미한다고 생각합니다. 확률 [x]
</aside>
Log-Likelihood
Maximum-Likelihood
Log-Likelihood 값을 최대화 하는 것
Log-Likelihood를 최대화를 해서 모델이 사람이 병에 걸릴지 맞출 확률을 최대화 하는 것?
<aside>
병에 걸릴지 맞출 수 있는 진짜 확률분포 P가 있다고 가정했을 때, 표본 데이터셋인 $\mathbf{X}$가 P를 따르는 확률분포에 가까워지도록 하는 것입니다. (likelihood function을 $\theta$에 대해 미분하여 기울기가 커지는 방향으로 $\theta$를 계속 업데이트)
[https://angeloyeo.github.io/2020/07/17/MLE.html - 공돌이 블로그 예시]
$\mathbf{X}$ = {1, 4, 5, 6, 9} 에 해당하는 점들. $L(\theta_{주황}|x),L(\theta_{파랑}|x)$ 를 각각 계산했을 때 $L(\theta_{주황}|x)$이 더 크다. → $\mathbf{X}$는 주황색 확률분포를 따른다. → 앞으로 병에 걸릴 확률을 예측할 때 주황색 확률분포 함수(이건 모델이 학습)를 사용하면 되겠다.
</aside>
BCE Loss
Maximum-Likelihood에 음수를 붙음
이게 최종 Loss이면은 학습시 미분을 해야하는데
<aside>
미분의 대상인 $\theta$는 모델 파라미터가 될 것 같습니다.
BCE 수식은 편의상 저렇게 간편하게 작성하는데, $\hat y$가 모델 출력값(관측값)을 의미하니 식을 다르게 표현하면 $BCELoss(\mathbf{X};\theta)=-y\log Q(\mathbf{X};\theta)-(1-y)\log (1-Q(\mathbf{X};\theta))$와 동일합니다. Q는 우리가 사용하는 머신러닝/딥러닝 모델입니다. $\theta$는 ‘모델’이 학습한 확률분포의 파라미터(=곧 모델의 파라미터)가 되겠죠.
딥러닝이면 chain rule 어쩌구 역전파 어쩌구 하면서 모델 파라미터를 업데이트 할 겁니다.
활성화 함수(sigmoid나 softmax)는 직접적인 학습 대상은 아니라고 알고 있습니다.
</aside>