"Prior가 뭔지는 알잖아요?"

동의하는척 웃고 넘어간 뒤 한 없이 부끄러워져서 머신러닝 관련 기본적인 통계추론 내용을 정리를 해보았습니다.
논문 읽을 때 자주 나오는 내용인데도 생각보다 간결히 정리하기가 어려웠습니다.
대단한 내용이 있는 건 아니지만 잘 대답할 수 있나 확인해보시면 좋겠습니다.

이 글은 여러 자료를 참조하였습니다.
각 질문과 답에 출처를 적어놓았으니 자세한 내용을 알고 싶으시면 출처를 확인해주세요.

지적, 질문, 의견 환영합니다. 댓글로 달아주세요.

 


질문 리스트

  1. 머신러닝 할 때 통계가 왜 필요할까?

  2. PDF의 값이 1이 넘을 수 있겠는가? 예시를 들자면?

  3. 아는 확률분포와 언제 사용할 수 있는지 말해보라.

  4. 중심극한정리가 무엇이고 어느 맥락에서 사용되는지 설명해보아라.

  5. 모수적 방법과 비모수적 방법의 차이는? 모수적 방법을 사용할 수 없는 경우는 언제인가?

  6. 우도(likelihood)를 설명해 보아라.

  7. 키가 측정할 때 마다 다르다면 어떻게 참값을 추정할 수 있을까?(키가 더이상 크지 않는 상황을 가정하자 ㅠㅠ)

  8. MLE와 MAP차이를 수식으로 쓸 수 있겠는가? 그 의미는? 각 방법의 한계점은 뭐가 있을까? 사전확률(prior)을 설명해 보아라.

  9. MLE 방법과 Mean Squared Error, Cross Entropy를 줄이는 방법이 동치인 경우를 말해보아라.

  10. Log Likelihood를 쓰는 이유는 뭘까? log를 씌우면 MLE의 값이 변하지 않을까?

  11. pure, semi, naive bayesian의 차이가 뭘까? 어떤 장단점이 있을까?

  12. (NLP) MLE와 naive-bayesian을 사용한 Unigram Language Modeling의 학습 방법을 설명해보아라. 이 방법의 문제점은 뭘까?


대답

  1. 데이터를 다룰 때 통계에서 주로 사용하는 가정을 쓴다. 기본적으로 전체를 알지 못하는 상황에서 샘플링된 데이터만을 보고 모델을 만들기 때문에 기본적으로 불확싱설을 지닐 수 밖에 없기 때문이다. 모델을 만드는 일은 파라미터 추정하는 일이라고 생각해볼 수 있다. 이 과정에서 데이터 분포 또는 모델에 대한 가정을 할 때 통계 지식이 필요한 경우가 많다.

  2. 가능하다. PDF에서는 y축이 확률을 의미하는 게 아니기 때문이다. [0, 0.5] 구간에서 1.5를 주고 나머지 값을 적분했을 때 1이 되게 맞추면 된다.

  3. uniform distribution, 정규분포, 베르누이 분포, 이항분포, 베타분포, 디리클레 분포 등등. 데이터에 대한 정보를 전혀 모를 때 정규분포 가정하는 게 좋다. 분류문제는 베르누이 분포로 가정한다. 베타 분포는 알파베타 값을 바꿔가며 분포모양을 조절할 수 있다.[0]

  4. 샘플 수가 충분히 크다면(보통 n>30) 표본평균의 분포가 정규분포(모집단의 평균을 평균으로 갖고, 모집단의 분산/n의 분산을 갖는다)를 따른다는 정리이다.
    유의성 판별에 사용, 평균에 대한 추정시 사용, SGD의 loss의 분포가 정규분포임을 보일 때 사용. 이외에 여러 확률에 대한 증명을 할 때 사용. 수리통계에서 매일 나온다. [1]

  5. 정의가 좀 갈릴 수 있는데 모델 구성시 알려진 확률분포를 사용하느냐 안하느냐의 차이. K-NN의 경우 확률분포를 전혀 사용하지 않는다. 모집단이 정규분포를 따르지 않고 표본수가 적으면 CLT를 사용할 수 없고 모수적 방법을 사용하기 어렵다. [2]

  6. 데이터가 주어졌을 때 파라미터가 변수인 어떤 값이다. 의미를 생각해 보면 모델이 어떤 파라미터를 따를 때 데이터 값이 나올 상대적인 가능성 정도를 의미한다. 연속확률분포인 경우 확률의 의미와 같지 않다. [3]

  7. 측정 키 값이 정규분포를 이룬다고 가정하자. 이런저런 계산을 하면 샘플의 평균을 평균으로 하는 정규분포일 때의 Likelihood가 가장 크다. MLE에 의해서 측정 값들의 평균을 참값이라고 하는게 가장 합리적이다.[4]

  8. 눈 앞에 있는 형상이 고양이일까 강아지일까 분류하는 상황을 생각해보자. 두 가지 추론 방식이 가능하다. 앞의 형상이 강아지일 확률과 앞의 형상이 고양이일 확률을 비교하는 방법. 강아지가 앞의 형상일 확률과 고양이가 앞의 형상일 확률을 비교하는 방법이 있다. 전자는 MAP이고 후자는 MLE이다. MAP는 P(강아지) 와 P(고양이)도 알고 있어야 하고 이를 사전 확률(prior)라고 한다. MLE는 이 두 확률이 같다고 가정하고 푸는 경우와 같다. MAP가 더 합리적이지만 prior를 모른다면 MLE를 쓴다. [5]

    $$ (a) MLE : c^{\star} =\underset{c}{\mathrm{argmax}} P(z|c) $$

    $$ (b) MAP: c^{\star}=\underset{c}{\mathrm{argmax}}P(c|z)=\underset{c}{\mathrm{argmax}} P(z|c)P(c) $$

  9. label 데이터가 정규분포임을 가정하고 MLE를 추론하는 방법은 MSE를 minimize하는 경우와 같다. 베르누이 분포를 가정하고 MLE를 추론하는 방법은 CE를 줄이는 경우와 동치. [6]

  10. 조건부확률을 계산하는 과정에서 작은 값들을 계속 곱하다보면 언더플로우가 일어날 가능성이 있다. log를 씌우면 더하기 연산으로 바꿔 이런 문제를 예방할 수 있다. log는 단조증가함수이므로 Max값을 추정할 때에 영향을 주지 않는다.[8]

  11. Naive Bayesian은 데이터 피쳐들이 전부 독립변수라는 가정을 하고 확률을 계산한다. 참값에서 멀어지지만 이산 변수의 경우 피쳐들의 조합수가 많이 줄어든다. Pure Bayesian의 경우는 변수들간의 종속성을 고려해서 확률을 계산한다. 피쳐의 종류가 많아질수록 계산해야할 확률값이 지수적으로 늘어난다. [5]

  12. 문장이 주어졌을 때 이 문장이 나타날 확률을 문장 내의 토큰들이 나올 확률의 곱으로 계산한다. 모델은 이 확률 데이터를 관측했을 때 Likelihood가 최대화되는 방향으로 Parameter들을 학습한다(MLE). 모델이 학습한 단어 외에 새로운 단어가 나타날 경우 확률이 0이고 학습하는 말뭉치나 stop words에 영향을 많이 받는다. [7]

 


[0] 확률론 기초
https://ratsgo.github.io/statistics/2017/09/21/prob/

[1] A Gentle Introduction to the Central Limit Theorem for Machine Learning
https://machinelearningmastery.com/a-gentle-introduction-to-the-central-limit-theorem-for-machine-learning/

[2] 모수 모델 vs 비모수 모델
https://brunch.co.kr/@seoungbumkim/7#comment

[3] 최대 우도 추정
https://datascienceschool.net/view-notebook/79140e6a9e364bcbb04cb8e525b9dba4/

[4]확률(Probability) vs 가능도(Likelihood)
http://rstudio-pubs-static.s3.amazonaws.com/204928_c2d6c62565b74a4987e935f756badfba.html

[5]베이지언 확률(Bayesian Probability)
https://darkpgmr.tistory.com/119

[6]머신러닝의 전반적인 흐름(에러 관점, 확률론적인 관점 그리고 MLE와 MAP차이 및 연관성)
https://blogyong.tistory.com/28

[7] 언어모델(Language Model)
https://ratsgo.github.io/from%20frequency%20to%20semantics/2017/09/16/LM/

[8]최대우도추정(Maximum Likelihood Estimation)
https://ratsgo.github.io/statistics/2017/09/23/MLE/

 

+ Recent posts