새소식

딥러닝

MLE(Maximum Likelihood Estimation)

  • -

가상의 확률 분포를 모사하는 확률 분포의 파라미터(θ)를 찾고 싶다.

→ 목표 확률 분포로부터 데이터를 수집

→ Likelihood function에 θ를 입력하고, 데이터들의 θ에 대한 확률 값의 곱을 통해 Likelihood를 최대화 하는 파라미터 찾기
        ▪Likelihood라는 값을 통해 데이터를 얼마나 잘 설명하는지 알 수 있음
        Gradient Ascent를 통해 찾을 수 있음

Likelihood Function

  • 입력으로 주어진 확률 분포(파라미터: μ, σ)가 데이터를 얼마나 잘 설명하는지 나타내는 점수(Likelihood)를 출력하는 함수
      입력: 확률 분포를 표현하는 파라미터
      출력: 데이터를 설명하는 정도
  • 데이터를 잘 설명하는지 알 수 있는 방법
      데이터가 해당 확률 분포에서 높은 확률 값을 가져야 잘 설명한다고 볼 수 있다.
      : Probability Density ↑

 

Log Likelihood

  • Likelihood는 확률의 곱으로 표현하기 때문에 underflow의 가능성이 있다.
    → log을 취하여 곱셈을 덧셈으로 바꾸어 계산한다.



Maximnum Likelihood Estimation

  • Likelihood를 최대화 하는 파라미터를 찾아나가는 과정


 

MLE via Gradient Ascent

  • Gradient Ascent를 통해 likelihood값을 최대로 만드는 파라미터(θ)를 찾는다.

 


 

Neural Networks는 확률 분포 함수이므로 MLE를 통해 파라미터를 찾을 수 있다.

Negative Log Likelihood (NLL)

대부분의 딥러닝 프레임워크는 Gradeint Descent만 지원한다.

→ maximization 문제에서 minimization 문제로 접근하면 된다!

→ Gradient Descent를 수행하기 위해서는 파라미터에 대한 미분을 거쳐야 함 : ∴Back propagation


MLE의 수식

DNN에 적용하여 생각해본다면, softmax 결과를 확률 분포로 볼 수 있다.

 

마지막 수식은 Cross Entropy Loss에서도 볼 수 있다.

Classification에서 softmax를 취한다음 Cross Entropy로 최적화를 수행하는 과정을 MLE를 하는 과정이라고 볼 수 있다!

 

 

즉, Neural Network는 θ(Layer weight)라는 확률 분포 함수의 파라미터를 갖고 있다고 볼 수 있으므로
수집한 데이터를 잘 설명하기 위한 파라미터를 찾는 과정이라고 볼 수 있다.

그래서 MLE를 하기 위해 Cross Entropy를 사용한 것이다.

728x90

'딥러닝' 카테고리의 다른 글

Information & Entropy  (0) 2022.06.23
KL-Divergence  (0) 2022.06.23
Autoencoder  (0) 2022.06.22
Training / Inference Design & Model Training Procedure  (0) 2022.06.22
머신러닝 프로젝트 Flow  (0) 2022.05.26
Contents