BCE 유도 과정

  1. Likelihood 정의

  2. Log-Likelihood function

  3. MLE (Maximum Likelihood Estimation) : 🔸How to maximize Likelihood → MLE

  4. 베르누이 분포 : 🔸이항분포

  5. Entropy , Intrinsic Value : ◾정보량, 엔트로피

    1. Intrinsic Value(내재적 정보, 정보량) : 어떤 사건이 흔하게 발생할수록 데이터로 표현할 때는 더 적은 bit수로 표현하는 것이 이득입니다. 그래서 사건이 발생할 확률에 반비례하게 정보량을 표현하게 됩니다.

      $\operatorname{IV}(x)=\log(1/P(x))$.

    2. 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 확률분포를 따른다는 의미.

  6. Cross Entropy : 두 확률분포의 차이를 측정하는 지표

질문

  1. 수식을 유도하는 것은 이해가 되나 해석(?)이 정확히 안되서 예시로
    1. 이 사람이 병이 걸렸는지, 안 걸렸는지 분류하는 모델을 만든다면

    2. Likelihood 정의시

      1. $y_i = 1$이면, 이 사람은 병이 걸림

      2. $y_i = 0$이면, 이 사람은 병에 안걸림

      3. 여기서 $\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>

      4. $L(\theta)$는 모든 데이터에 대해 독립이라 가정할 때 전체 확률 계산??

        <aside>

        표본 데이터셋인 $\mathbf{X}$ 가 $\theta$라는 파라미터를 갖는 모집단에서 추출되었을 **가능성과 관련된 수치(=가능도, likelihood)**을 의미한다고 생각합니다. 확률 [x]

        </aside>

    3. Log-Likelihood

      1. $L(\theta)$에 $Log$를 씌어서 계산을 간단하게 함
    4. Maximum-Likelihood

      1. Log-Likelihood 값을 최대화 하는 것

      2. Log-Likelihood를 최대화를 해서 모델이 사람이 병에 걸릴지 맞출 확률을 최대화 하는 것?

        <aside>

        병에 걸릴지 맞출 수 있는 진짜 확률분포 P가 있다고 가정했을 때, 표본 데이터셋인 $\mathbf{X}$가 P를 따르는 확률분포에 가까워지도록 하는 것입니다. (likelihood function을 $\theta$에 대해 미분하여 기울기가 커지는 방향으로 $\theta$를 계속 업데이트)

        [https://angeloyeo.github.io/2020/07/17/MLE.html - 공돌이 블로그 예시]

        [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>

    5. BCE Loss

      1. Maximum-Likelihood에 음수를 붙음

      2. 이게 최종 Loss이면은 학습시 미분을 해야하는데

        1. $p=\frac{1}{1+e^{-z}}$ 이것을 미분?
        2. 여기서 $p$는 likelihood의 $P(y_i \mid \theta)$인지?, Sigmoid (softmax) 분류 모델인지?
        3. Sigmoid (softmax) 분류 모델을 적용한 $p$라면 이 값을 Likelihood에 적용한건지?

        <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>