'모수'란?
예를 들어서 동전을 던졌을 때 앞이 나올 확률은 1/2이고, 주사위를 던졌을 때 각면의 숫자가 나올 확률은 1/6이다. 하지만 이 확률들은 논리적으로 그럴 것이라고 상상한 값이고, 현신에서는 실제로 이확률의 지배를 받고 있는지에 대해서는 알 방법이 없다. 결국 우리는 어떤 사건의 확률을 알기 위해 몇 번이고 시행을 반복하면서, 그 과정에서 얻은 관측 결과를 통해 추정을 해보는 것 이외에는 확률을 구해볼 방법이 없다.
또 예를 들어 동전을 100번 던졌을 때 앞면이 20번 나왔다고 해보자. 그러면 (100, 20)은 관찰값으로서 다음과 같은 수식을 가질 수있다.
여기서 이 θ를 '모수'라고 한다. 정규분포일 경우에는 아래처럼 기대값(평균)과 분산이 모수가 된다.
각 평균과 분산의 공식은 다음과 같이 확인할 수 있다.
위에서 분산을 구할때 N으로 나누는 것이아니라 N-1을 나누는 이유는 비편향(unbiased) 추정량 때문인데 이 '비편향 추정량'이 무엇인지 간단하게 설명해보겠다. 모수를 추정하는 추정량 중에 좋은 추정량의 기준을 정해야하는데 무엇보다도 기대값(평균값)이 모수와 일치하여야한다. 그런데 이러한 추정량은 무한히 많다. 그럼에도 기대값(평균값)이 모수와 일치하여야한다는 것을 비편향 추정량이라고 한다. 위의 분산 공식에서는 기대값(평균값)이 모수와 일치하기 위해 유도할 수 있도록 N-1로 나눈 것이라고 할 수 있다.
통계량의 확률분포를 표집분포(sampling distribution)라 부르고 표본평균의 표집분포는 표본의 크기가 커질수록 정규분포를 따른다. 이를 중심극한정리(Central Limit Theorem)이라 부르며 모집단의 분포가 정규분포를 따르지 않아도 성립한다. 이때 표본평균의 확률분포가 정규분포를 따른다는 것이고 표본에 대해서의 분포는 정규분포를 따르지 않을 수 있다는 것을 명확히 알고 있어야한다.
최대가능도 추정법
이론적으로 가장 가능성이 높은 모수를 추정하는 방법 중 최대가능도추정법을 말할 수 있다. 앞서 모수에 대해 설명할 때 사용한 수식을 가져와보겠다.
여기서 L(θ)를 최대로 하는 모수 θ값을 구하는 것이 최대가능도추정법이다. 하지만 자세히 보면 θ의 차수가 100차인 방정식이라 미분을 하려면 상당히 계산이 번잡해질 것이다. 또한 미분 자체가 어려운 점이 있다. 이런 어려움을 피하기위해서 자연로그를 붙여 주어 로그가능도함수를 만들 수 있다. 이때 데이터가 독립적으로 추출되었을 경우 로그가능도로 최적화한다.
이렇게 곱셈을 로그가능도의 덧셈으로 바꿈으로서 컴퓨터로 연산이 가능해지고 시간복잡도는 O(n^2)에서 O(n)으로 줄어든다. 손실함수의 경우 경사하강법을 사용하기 때문에 로그가능도의 앞에 -(negative)를 붙여 음의 로그가능도로 사용하게된다.
정규분포의 최대가능도 추정법
정규분포를 따르는 경우에 모수를 추정하면 다음과 같은 식을 얻을 수 있다.
마지막으로 나온 식을 미분하여 0이 되는 평균과 분산값을 다음과 같이 찾을 수 있다.
이때 최대가능도추정법은 불편추정량을 보장하지 않는다.
카테고리분포의 최대가능도추정법
카테고리분포의 확률질량함수는 다음과 같다.
이때 카테고리 분포의 모수는 전부 더했을 때 0이 나오는 다음과 같은 제약식을 만족해야한다.
이제 로그가능도를 구해보면 다음과 같은 식을 만들 수 있다.
이렇게 제약식이 추가된 식에는 라그랑주 승수법을 통해 새로운 목적식을 다음과 같이 만들 수 있다.
그리고 pk와 람다에 대해서 각각 미분하면 다음 두 가지의 식이 나오는데
이 식을 통해 다음과 같은 식 즉, 각 횟수와 전체 시행횟수의 비율이라고 할 수있다.
딥러닝에서의 최대가능도 추정법
소프트맥스 벡터가 카테고리분포의 모수를 모델링하는데 사용할 수 있다. 그리고 one-hot vector로 표현한 정답레이블을 관찰데이터로 이용해 확률분포인 소프트맥스 벡터의 로그가능도를 최적화 할 수 있다. 수식으로는 다음과 같다.
확률분포의 거리
데이터공간에 두 개의 확률분포 P(x), Q(x)가 있을 경우 두 확률분포 사이의 거리를 계산할 때 다음과 같은 함수를 이용한다.
- 총변동 거리(Total Variation Distance, TV)
- 쿨백-라이블러 발산(Kullback-Leiber Divergence, KL)
- 바슈타인 거리(Wasserstein Distance)
이 중 쿨백-라이블러 발산은 다음과 같이 이산확률변수와 연속확률변수로 나눠서 정의할 수 있다.
또한 쿨백-라이블러는 다음과 같이 분해할 수 있다.
여기서 P(x)는 실제 분포(정답레이블), Q(x)는 임의의 분포(모델 예측)이라고 할 수 있고 쿨백-라이블러발산을 최소화하는 것이 최대가능도추정법과 같다고 할 수 있다.
모수적 방법론과 비모수 방법론
데이터가 특정 확률분포를 따른다고 선험적으로 가정한 후 그 분포를 결정하는 모수를 추정하는 방법을 모수적 방법론이라한다. 반대로 특정 확률분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개수가 유연하게 바뀌면 비모수 방법론이라 부른다. 기계학습의 대부분은 비모수 방법론에 속한다고 한다.
확률분포 가정
데이터에 따라 확률분포를 어떠한 것으로 가정할 수 있는데 다음과 같이 정리할 수 있다.
- 데이터가 0과 1만 가지는 경우 : 베르누이분포
- 데이터가 n개의 이산적인 값을 가지는 경우 : 카테고리분포
- 데이터가 0~1의 값을 가지는 경우 : 베타분포
- 데이터가 0 이상의 값을 가지는 경우 : 감마분포, 로그정규분포 등
- 데이터가 실수 전체에서 값을 가지는 경우 : 정규분포, 라플라스분포 등
'Boostcamp AI Tech' 카테고리의 다른 글
[Boostcamp Day-3] AI Math - CNN 첫걸음 (0) | 2021.08.04 |
---|---|
[Boostcamp Day-3] AI Math - 베이즈 통계학 (0) | 2021.08.04 |
[Boostcamp Day-2] Python - String and advanced function concept (0) | 2021.08.03 |
[Boostcamp Day-2] Python - Conditionals and Loops (0) | 2021.08.03 |
[Boostcamp Day-2] Python - Function and Console IO (0) | 2021.08.03 |