인공지능 통계학 기초
BoostCamp AI Tech
Python
Statistics
모수
Parameter
확률 분포
Probability Distribution
중심극한정리
Central Limit Theorem
표본분포
Sample Distribution
표집분포
Sampling Distribution
가능도
우도
Likelihood
최대가능도측정법
최대우도측정법
Maximum Likelihood Estimation
MLE
쿨백-라이블러 발산
KL Divergence
01/29/2021
본 정리 내용은 Naver BoostCamp AI Tech의 edwith에서 수강한 내용을 정리한 것입니다.
사실과 다른 부분이 있거나, 수정이 필요한 사항은 댓글로 남겨주세요.
통계학 맛보기
통계적 모델링
적절한 가정 위에서 확률 분포를 추정하는 것
확률 분포 종류도 아주 다양
그러나 유한한 개수의 데이터만 관찰해서 모집단의 분포를 정확하게 알아낸다는 것은 불가능하다. 근사적으로 확률분포를 추정할 수 밖에 없다.
- 불확실성을 고려한 상태에서 예측의 위험성을 최소화하는 방향으로 추정한다.
모수
모수란?
모수(Parameter)
란, 모집단의 특성을 나타내주는 통계치이다. 우리가 통계학을 사용할 때에는 모집단을 전수조사 할 수 없기 때문에 표본조사를 하는데, 이 때 표본조사를 통해 모수를 추정함으로써 모집단의 특성을 추측할 수 있다.
- 모집단이 어떤 확률분포를 따르느냐에 따라 각기 다른 통계치들을 모수로 사용한다.
데이터가 특정 확률 분포를 따른다고 선험적으로(a priori) 가정한 후 그 분포를 결정하는 모수(parameter)를 추정하는 방법을 모수적(parametric)
방법론이라고 한다.
- 예를 들어 정규분포를 가지고 확률적 모델링을 하면, 가장 중요한 평균과 분산을 묶어서 모수라고 부른다.
- 이 때, 평균과 분산을 추정하기 위해 학습하는 방법을
모수적 방법론
이라고 한다.
- 이 때, 평균과 분산을 추정하기 위해 학습하는 방법을
반면, 특정 확률 분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개수가 유연하게 바뀌면 비모수(nonparametric)
방법론이라고 부른다.
- 명심할점은,
비모수 방법론
이라고 해서 모수가 없다거나 쓰지 않는 것이 아니라는 것이다.- 모수가 무한히 많거나, 모수의 수가 데이터에 따라 변할 수 있는 경우이다.
모수적 방법론
과비모수 방법론
의 차이는 확률분포에 대한 가정 부여 여부이다.
확률분포 가정하기 : 예제
- 우선, 히스토그램을 통해 데이터의 모양을 관찰한다.
- 데이터가 2개(0 또는 1)의 값을 가지는 경우 →
베르누이분포
- 데이터가 n개의 이산적인 값을 가지는 경우 →
카테고리분포
- 데이터가 [0,1] 사이에서 값을 가지는 경우 →
베타분포
- 데이터가 0 이상의 값을 가지는 경우 →
감마분포
,로그정규분포
등 - 데이터가 전체에서 값을 가지는 경우 →
정규분포
,라플라스분포
등
- 데이터가 2개(0 또는 1)의 값을 가지는 경우 →
단, 위의 기준에 따라 기계적으로 확률분포를 가정해서는 안된다. 데이터를 생성하는 원리를 먼저 고려하는것이 원칙이다.
- 이는 통계학과 기계학습 모두에서 강조하고 있는 점이다.
- 각 분포마다 검정하는 방법들이 있으므로, 모수를 추정한 후에는 반드시 통계적 검정을 해야 한다.
확률 분포들의 자세한 설명에 대해서는 다음 글을 참고해보자.
모수 추정하기
데이터로 확률분포를 가정했다면, 모수를 추정해 볼 수 있다.
예를 들어 정규분포의 모수는 평균 과 분산 이 있다. 이를 추정하는 통계량(statistic)은 다음과 같다.
주의할 점은, 표본분산에서 을 사용하는것. 이는 불편(unbiased) 추정량을 구하기 위함이다.
- 기댓값을 취했을 때 원래 모집단을 대표하는 통계값에 일치하도록 사용한다.
왜 표본분산은 모분산을 구할때처럼 으로 나누지 않는가가 이해되지 않는다면, 수식없이 풀어놓은 다음 동영상을 참고한다.
수식없음!!!왜 표본분산은 n아 아니라 n-1로 나눌까?
또, 왜 정확히 로 나누는가에 대해서는 아래의 포스팅을 참고하도록 하자.
왜 표본(샘플)의 분산에서는 n이 아닌 n-1로 나눌까?
이런 통계량
의 확률분포(즉, 표본평균과 표본 분산의 확률분포)를 표집분포(sampling distribution)
라고 부르며, 특히 표본평균의 표집분포
는 이 커질수록 정규분포 를 따른다.
- 이를
중심극한정리(Central Limit Theorem)
이라 부르며, 모집단의 분포가 정규분포를 따르지 않아도 성립한다.- 즉, 모집단의 분포가 정규분포가 아니더라도
표본평균의 표집분포(sampling distribution)
는 정규분포를 따를 수 있다.
- 즉, 모집단의 분포가 정규분포가 아니더라도
표본분포(sample distribution)
와표집분포(sampling distribution)
는 다르다는 점에 주의하자.- 원래 모집단의 분포가 정규분포를 따르지 않는다면,
표본분포
는 N이 아무리 커져도 (당연히) 정규분포를 따를 수 없다. - 그러나
표본평균의 표집분포
는 N이 커짐에 따라 정규분포를 따르게 된다.
- 원래 모집단의 분포가 정규분포를 따르지 않는다면,
위의 사진은 베르누이확률분포(이항확률분포)를 따르는 데이터에서, 표본평균의 표집분포를 이 늘어남에 따라 기록한것이다.
- 가장 왼쪽은 이 적을때인데, 표본평균의 분포가 양극단으로 찍히는 경우도 있다.
- 예를 들어 [1,2,3,4,5,6,7,8,9,10] 중 [1,2,3], [8,9,10]이라는 표본들을 골라서 표본 평균을 찍어보면, 2와 9로 평균의 분포가 양극단으로 찍힐 것이다.
- 그러나, N이 늘어날수록 점점 표본평균의 분포는 중간으로 모이다가, 결국은 정규분포를 따라간다.
- 위의 예에서 [1,2,3],[8,9,10]이 아닌 새로운 표본들을 점점 추가하면 추가할수록, 이 표본들의 평균(표본평균)을 다시 평균내면 모집단의 평균인 5에 근접하게 될것이다.
- 바꾸어 말하면, 표본평균의 분산(은 이 늘어날수록 0에 가까워진다.
- 이는 곧 표본평균들의 (표집)분포가 정규분포를 따른다는 것을 의미한다.
- 위의 예에서 [1,2,3],[8,9,10]이 아닌 새로운 표본들을 점점 추가하면 추가할수록, 이 표본들의 평균(표본평균)을 다시 평균내면 모집단의 평균인 5에 근접하게 될것이다.
- 즉, 원래 모집단의 확률분포는 정규분포가 아닌 이항분포임에도 불구하고, 표본평균의 확률분포(표집분포)는 정규분포를 따른다는 것을 확인할 수 있다.
모수와 중심극한정리의 개념이 잘 이해되지 않는다면 다음 글을 참고한다.
모집단분포, 표본분포, 표집분포 / 중심극한정리 / 분산, 표준편차의 편파추정치와 불편파 추정치 / 자유도
최대가능도추정법(Maximum Likelihood Estimation,MLE)
최대가능도 추정법이란?
표본평균이나 표본분산은 중요한 통계랑이지만, 확률분포마다 사용하는 모수가 다르므로 적절한 통계량이 달라지게 된다.
따라서, 해당 표본으로부터 무엇을 모수로 추정할 것인지 정하는 방법이 필요하다.
이론적으로 가장 가능성이 높은 모수를 추정하는 방법 중 하나는 최대가능도추정법(maximum likelihood estimation, MLE)
이다.
- 위의
가능도함수
는 주어진 데이터 에 대해서(다시 말해, 데이터가 주어져 있는 상황에서) 가 바뀜에 따라 값이 바뀌는 함수이다.- 모수 를 따르는 분포가 를 관찰할 가능성을 뜻한다.
- 확률론 기초에서 배웠던 확률[밀도/질량]함수들과 형태가 같다. 그러나, 관점에 차이가 있다.
- 원래 확률함수들은 모수 가 주어져있을 때 에 대한 함수로 생각한다. 그러나 가능도 은 모수 를 변수로 둔 함수로 생각한다.
- 따라서 확률로 해석하면 안된다. 에 대해서 하거나, 하였을 때 1이 나오는 개념이 아니다.
- 에 대해서 대소비교가 가능한 수를 추정하는 방식이라고 생각하자.
- 데이터 집합 가 독립적으로 추출되었을 경우,
로그가능도
를 최적화한다.- 가능도 함수에서, 만약 데이터 집합 X의 각 행벡터(즉, 각 데이터)가 독립적으로 추출되었을 경우, 확률[밀도/질량]함수들의 곱(product)으로 표현할 수 있다.
- 이 경우 곱셈을 덧셈으로 바꾸어주는 함수의 성질을 이용해서, 확률분포함수들의 곱셈을 덧셈으로 바꿀 수 있다.
그렇다면, 원래 가능도
를 최적화하는 모수나 로그가능도
을 최적화하는 모수나 똑같이 MLE가 되는데, 왜 을 사용해야 할까?
- 데이터의 숫자가 적으면 상관 없지만, 데이터 숫자가 수억단위가 된다면 컴퓨터 정확도로는
로그가능도
를 계산하는 것이 불가능하다.- 가령 0에서 1사이의 확률값을 수억번 곱해준다고 생각해보자. 컴퓨터의 자릿수 표현에 관한 현실적 한계때문에, 연산오차가 나게 된다.
- 만약 데이터가 독립이라
로그가능도
를 사용할 수 있다면,가능도
의 곱셈(ex - 0과 1 사이의 수억번의 곱셈)을로그가능도
의 덧셈으로 바꿀 수 있다.- 따라서 컴퓨터로 연산이 가능한 수가 되기때문에, 최적화가 가능해진다.
- 또,
경사하강법
으로 가능도를 최적화할 때 미분 연산을 사용하게 되는데, ****로그가능도
를 사용하면 연산량을 에서 으로 줄여준다.- 연산의 복잡도가 선형적으로 변하므로, 효율적인 연산이 가능해지며, 연산의 오차범위 내에서 계산이 가능해진다.
- 따라서, 로그 가능도를 사용하는 문제는 최적화 문제와 깊은 연관이 있다.
대개 손실함수의 경우는 경사하강법
을 사용하므로, 목적식을 최대화하는것이 아니라 최소화한다.
- 그래서 보통 최소화하는 데에 사용하기 위해서 그냥
로그가능도
가 아니라음의 로그가능도(negative log-likehood)
를 최적화하게 된다.
최대가능도(MLE) 추정법 예제 : 정규분포
정규분포
를 따르는 확률변수 로부터 독립적인 표본 을 얻었을 때, 최대가능도추정법
을 이용해서 모수를 추정해보자.
먼저, 정규분포
이기 때문에 두개의 모수 평균
과 분산
을 사용한다.
가능도 을 최적화하는 를 찾는 문제이다.
- 정규분포의 확률밀도함수들은 두가지 항으로 이루어져있다.
- 두 항의 곱을 연산으로 취하므로, 덧셈 형태로 구할 수 있다.
정리하면 위와 같은 식이 되는데, 왼쪽 수식(A라고 하자)은 모수 중 분산
만 사용되고, 오른쪽 수식(B라고 하자)은 분산
과 평균
이 모두 사용되는 항이다.
이 수식(A,B)들을 가지고 에 대해 미분하여 최적화해볼 수 있다.
두 미분이 모두 0이되는 , 를 찾으면 가능도를 최대화하게 된다.
평균 으로 미분하면, 수식 A는 버려지고 B만 남게된다.
표준편차 로 미분하면, 수식 A와 B가 위와 같이 정리된다.
각각의 파라미터에 대해 0이 되는 와 를 구하면 가능도를 최대화해주는 모수를 찾을 수 있다.
- 결국 가능도를 최대화하는 추정 평균 는 데이터들의 산술평균으로, 추정 분산 은 (데이터-평균)의 산술평균이 된다.
- 이 때 주의할 점은, 표본분산을 구할때는 로 나누었는데,
MLE
로 구한 분산은 으로 나눈다는 것이다.- 즉,
MLE
는 불편추정량을 보장하진 않는다. - 그러나 통계에서 이야기하는 consistency는 보장한다.
- 즉,
최대가능도 추정법 예제 : 카테고리 분포
카테고리분포
Multinoulli를 따르는 확률변수 로부터 독립적인 표본 을 얻었을 때, 최대가능도추정법(MLE)
을 이용하여 모수를 추정해보자.
카테고리분포
는 이산확률변수에 해당한다.베르누이분포
가 0,1 두개의 값만을 골랐다면,카테고리분포
는 선택지를 다차원으로 확장한 개념이다.- 이 때, 선택값은 1이고 나머지는 0인
원-핫벡터
로 값을 표현한다.
- 이 때, 선택값은 1이고 나머지는 0인
카테고리분포
에서 사용하는 모수 는 1 에서부터 차원까지 어떤 값이 1 (또는 0)이 될 확률을 의미하는 통계치이다. 따라서 부터 까지를 모두 더했을 때 1이 나온다()는 특징을 가지고 있다.
- 만약 해당 데이터 가 1이 될 확률이 0이면, 는 이 되어 1이 된다.
- 만약 해당 데이터 가 1이 될 확률이 1이면, 는 가 되어 가 된다.
위의 식을 풀이해보면,
- 이 때, 는 로 치환할 수 있다.
- 는, 주어진 각 데이터들에 대해서 값이 1인 데이터의 개수를 의미한다.
치환하여 다시 식을 정리하면,
- 오른쪽 제약식을 만족하면서 왼쪽 목적식을 최대화하는 것이 우리가 구하는
MLE
가 된다. - 이렇게 목적식에 제약식이 있는 경우에는, 그냥 미분값이 0이 되는 값을 구하는 것이 아니라,
라그랑주 승수법(Lagrange multiplier method)
을 이용하여 목적식을 수정해준다.라그랑주 승수법
은 최적화 문제를 푸는 데에 사용된다.
라그랑주 승수법
을 이용해, 제약식을 양변으로 넘겨준 상태에서 라그랑주 승수에 해당하는 를 곱해준 식을 목적식에 더해주어서 새로운 목적식을 만들어 준다.- 이 새로운 목적식의 최적화로, 제약식도 만족하면서, 을 만족시키는 모수 를 구할 수 있다.
이를 조합하면,
- 분모에 해당하는 값은, 데이터 개수 과 같다.
- 그러므로, 이다.
- 즉,
카테고리분포
의MLE
는 각각의 class에 해당하는 count 수, 즉 경우의수를 세어서 전체 중의 비율을 구하는 것임을 알 수 있다.
딥러닝에서 최대가능도 추정법
딥러닝에서도 MLE를 사용해서 모델을 학습할 수 있다.
딥러닝 모델(Multi-Layer Perceptron)의 가중치를 라고 표기하자. 이 때 는 번째 층의 가중치 행렬을 의미한다.
분류문제를 예로 들어보자. 분류문제에서 소프트맥스
확률벡터는 카테고리분포
의 모수 를 모델링하는 데에 사용할 수 있다.
원-핫벡터
로 표현한 정답레이블 를 관찰데이터로 이용해서, 확률분포인소프트맥스
벡터의로그가능도
를 최적화하여, 딥러닝 모델의 모수인 를 학습시킬 수 있다.- : 모든 클래스에 대해서
- : 모든 데이터에 대해서(트레이닝 데이터 포인트 1, 2, ...)
- [MLP의 번째 예측값(의 로그값)]과, [정답레이블에 해당하는 ]를 곱하여, 이를 산술평균낸다.
- 이 때, 는 개의 오답 0과 1개의 정답 1을 원소로 가지는 원-핫벡터이다.
- 따라서, 정답레이블(즉, 1)에 해당하는 단 한개만 있으므로, [정답레이블에 해당하는 ]를 곱한다고 표현하는 것이다.
- 결국 산술평균낸 것들 중 최대()는 곧, 전체 데이터에 대해서 정답인 레이블의 확률을 최대로 만드는 가중치 를 의미한다.
- 이 때, 는 개의 오답 0과 1개의 정답 1을 원소로 가지는 원-핫벡터이다.
확률분포의 거리
기계학습에서 사용되는 손실함수(cost function)
들은 기계학습 모델이 학습하는 확률분포와, 데이터에서 관찰되는 확률분포간의 거리를 통해 유도할 수 있다.
위에서 살펴보았던 MLE
로 추정하게 되는 많은 모델학습방법론이, 실제로는 이 확률분포의 거리
를 최적화하는 것과 아주 밀접한 관련이 있다.
데이터 공간에 두 개의 확률 분포 가 있을 경우, 두 확률분포 사이 거리(distance)를 구할 때 다음과 같은 함수들을 이용할 수 있다.
총변동 거리(Total Variation Distance, TV)
쿨백-라이블러 발산 (Kullback-Leibler Divergence, KL)
바슈타인 거리(Wasserstein Distance)
쿨백-라이블러 발산
위에서 살펴본 함수들 중 쿨백-라이블러 발산
을 더 자세히 살펴보자.
쿨백 라이블러 발산(KL Divergence)
의 정의는 다음과 같다.
이러한 정의를 다음과 같이 두개의 항으로 분해할 수 있다.
- 의 기댓값 -
크로스 엔트로피
—> 이후 negative를 취한다 - 에 대한 기댓값 -
엔트로피
- 총 두개의 엔트로피 함수로 표현할 수 있다.
이제 분류문제를 가정해보자.
만약 분류 문제에서 정답레이블을 , 모델의 예측을 라고 두면, 최대가능도 추정법에서 사용되는 손실함수는 쿨백-라이블러 발산
의 크로스 엔트로피
의 역수(minus term)와 같다.
- 다시 말해서, 로그가능도을 최적화(최대화)시키는 것은 정답레이블 와 모델 예측 사이의 거리, 즉
쿨백-라이블러 발산
을 최소화하는 것과 같다.
이 과정이 잘 이해가 되지 않는다면, 다음 글과 영상을 참조하자.