: 어떤 사건을 일으키게 만든 확률분포의 특성을 추정하는 방법 중 하나로, 표본을 얻은 후 이 표본을 이용해 원래의 확률분포를 알아내는 기술이다.
간단히, 표본 5개 x={1,4,5,6,9} 를 추출했을 때
정규분포 후보군(출처: https://angeloyeo.github.io/2020/07/17/MLE.html)
위 5개를 획득한 확률 분포는 파란색 보다는 주황색일 가능성이 더 크다.
이처럼 우리는 표본으로부터 원래의 확률 분포를 예측하는 것이 가능하다.
하지만 표본으로 부터 100% 정확한 확률분포는 얻을 수 없으므로 가장 그럴듯 한 확률분포를 얻어내기 위해 노력해야 한다. 이때 사용하는 방법이 미분계수를 이용하는 방법이다.
다양한 알고리즘에서 자주 사용하는 설계 방식중 하나를 소개하겠다.
-------------------------------------------------------------------------------------------------------------------------------
⇒ 1. 나의 목표를 이루려면 갖추어야 할 요소가 무엇인지 찾는다. or
나의 목표를 이루려면 없애야할 요소가 무엇인지 찾는다.
2. 우리가 변화를 줄 수 있는 변수와 갖추어야 할 요소의 관계를 식으로 나타낸다. or
우리가 변화를 줄 수 있는 변수와 없애야할 요소의 관계를 식으로 나타낸다.
3. 우리는 갖추어야 할 요소를 최대화 해야 하므로 변수에 따른 요소의 최댓값을 구한다.
(요소를 변수로 편미분 ⇒ 편미분계수=0 활용) or
우리는 없애야할 요소를 최소화 해야하므로 변수에 따른 요소의 최솟값을 구한다.
(요소를 변수로 편미분 ⇒ 편미분계수=0 활용)
4. '최댓값or최솟값을 만드는 변수값' (=최선의 답을 만들어내는 변수값) 이 우리가 원하는 결과이다.
+ 여기서 gradient descent 방법으로 확장된다.
-------------------------------------------------------------------------------------------------------------------------------
최대우도법에서는 각 데이터 샘플에서 후보 분포에 대한 높이를 계산해서 다 곱한것을 이용한다.
(확률분포에서 평균일 때가 가장 높이가 높으므로 평균하고 가까운 표본들에 높은 값을 부여해줌)
부분곱 식 (출처: https://angeloyeo.github.io/2020/07/17/MLE.html)
다음은 추정값(세타)를 독립변수로 하고 각각의 변수의 높이들의 곱을 종속변수로 표현했다.
(더하기가 아닌 곱을 하는 이유 : 모든 데이터들을 추출하는 과정이 서로 독립적이기 때문)
우리는 높이의 곱을 가장 크게 만드는 추정값(세타)을 필요로 한다. 그러므로 편미분을 이용한다.
세타에 대해 편미분을 하고 그 값이 0이 되게 하는 세타를 구해, 최대값을 만드는 세타를 구할 수 있다.
세타를 구한다는 것은 우리가 알고자 하는 표본을 추출했던 확률분포의 모든 parameter 를 구한다는 것을 뜻한다.
최대우도법을 예를들어 설명하자면,
1. 주머니가 하나 있고 숫자가 적힌 공이 여러개 있지만 몇개가 있는지는 모른다고 치자.
2. 모든 공을 주머니에 넣는다.
3. 공을 자신이 미리 정한 개수 만큼 뽑는다.
4. 뽑은 공들에 적혀있는 숫자를 이용하여 원래 들어있는 모든 공들에 적혀있는 숫자를 예측한다.
라고 할 수 있다.
'Tensorflow 2 NLP(자연어처리) > 추가적으로 필요한 개념' 카테고리의 다른 글
Automatic Differentiation이란 (0) | 2022.10.23 |
---|---|
PCA(주성분분석)의 목적함수 증명 (0) | 2021.11.15 |
[1-6] 도커(Docker)에서 파이썬(python)코드로 작업하기 (0) | 2021.11.12 |
[1-4] DAN(Deep Averaging Network)란? (+Dropout) (0) | 2021.11.12 |
[1-3] TF-IDF 란? (0) | 2021.11.12 |