본문 바로가기
빅데이터분석

[머신러닝] 메타코드 강의 후기_머신러닝 입문 부트캠프 (8) MLE/MAP

by 모닥불🔥 2024. 10. 31.

 

🔥 서포터즈 마지막 날... 즉, 수업을 들을 수 있는 마지막 날.. 더 많은 내용을 배우고 싶었는데 회사 다니랴, 전대차 하랴, 운동하랴, 그와중에 공부 하랴 한달이 넘 빨리 지나가서 아쉽다. 마지막 강의까지 열심히 들으면서 머신러닝에 대한 개념을 잡기로 했다. 머신러닝 개념을 제대로 배워서, 이후에 실습은 개념을 바탕으로 혼자(+나의 친구 챗GPT와) 해석해보고 적용해봐야지... 아닌가 실습을 배우는 게 맞았던 걸까? 어떤 게 정답인지는 항상 모르겠다. 배우기 전보다 나아간다고 믿을 뿐.

6. MLE(Maximum Likelihood Estimation)

 

MLE는 Maximum Likelihood Estimation인데, likelihood가 우도 확률이다. P(x | w)

바로 이전 글에서 정리했지만, 우도 확률은 모델 파라미터 값을 잘 모르지만 안다고 가정했을 때, 주어진 데이터의 분포를 그려보겠다! 라는 내용

 

우도 확률은 PDF(probability density function)의 곱으로 표현된다.

정규분포는 종모양으로 가운데에 가장 많은 빈도의 수가 몰려 있는 형태를 말한다.

PDF는 정규분포를 표현하기 위한 일종의 파라미터인 평균과 분산을 사용하여, 정규분포의 특정 위치 값이 나올 확률을 말한다.

PDF 식은 짱 복잡하니 위 이미지 참고...ㅎ-ㅎ

샘플이 n개로 주어진 경우, x1의 pdf 확률, x2의 pdf 확률 .... 등 모든 데이터(n개)에 대한 pdf 확률값들을 곱해주면(모두 곱한다는 기호는 파이로 쓴다) likelihood(우도 확률)가 된다.

 

모든 데이터 셋이 서로 i.i.d 하다(independent and identical distributed)?

i.i.d 하다는 게 뭔 말인가? 동전 던지기를 했을 때, 각 시행은 독립적이고(이전 사건의 영향을 받지 않는다.), 동일한 분포를 가진다.

처음 던졌을 때 확률 0.5, 두 번째 던졌을 때 확률 0.3 이런 식으로 되면 i.i.d가 깨졌다고 할 수 있다.

 

우도 확률은 데이터 분포가 나올 확률이라고 했는데, 현재의 데이터 분포가 나올 확률이 가장 높은 파라미터를 찾고 싶다. 즉, 우도 확률을 최대로 만드는 파라미터를 찾는 것이 MLE 방법!

 

수식으로 표현해 보면, w가 주어졌을 때 우도확률이 max(최대)가 되는 arg(argumant 인수)를 찾아라. 그러면 w햇의 *(최적값)이 된다.

 

MLE는 주어진 데이터에 따라 값이 굉장히 민감하게 변한다는 단점이 있다.

동전 던지기에서 앞 앞 앞 앞 앞 뒤 ... 앞면이 나올 확률 w = 0.99 데이터가 많을수록 더 정확한 확률이 나온다.

 

MLE의 단점(데이터 수의 영향을 많이 받는 것)을 극복하기 위해 MAP가 나왔다.

MAP는 사후확률을 최대화 하는 w 값을 구하는 것이 목표인데, 사후확률은 곧바로 계산이 불가능하다.

 

데이터가 주어졌을 때, w를 구하는 것이 모든 문제의 목표이다. 근데 사후 확률은 데이터를 기반으로 w를 추정하는 것이므로 계산 불가! (마치 답을 구하려고 하는데 답을 사용해야 한다는 ... 말도 안되는)

 

그래서 사후 확률을 사전 확률과 우도 확률의 곱으로 표현한다. p(w)는 정규분포 형태일 거야, 베르누이 분포를 따를 거야.. p(x|w)는 정규분포를 따를 거야... 이런 식으로 분포를 가정해서 풀 수 있게 된다. ㅇvㅇ

 

MAP 추정의 정확도는 사전확률의 정확도에 따라 좌지우지된다는 단점이 있다.

 

요약, 결론은... 로지스틱 회귀에서는 MLE를 사용하게 된다!

W^T*X를 정의하기 힘들어서 MAP를 사용하지 않는다고 함..!

 

베르누이 시행은 두 가지 결과값만을 가지는 시험을 말한다.

동전 던지기: 앞/뒤만 있음, 앞면을 성공이라 한다면 성공(1)/실패(0)만 있음

성공, 실패를 대응시키는 확률변수를 베르누이 확률변수라 부르고, 이 확률변수의 분포를 베르누이 분포라 부른다.

 

P(Y = Yi) = P^yi * (1-P)^(1-yi) 파라미터는 P 하나이다. (pdf 함수로 표현됨)

yi 가 1이면 P, 0이면 1-P만 남는다. 즉, 성공할 때 확률은 p, 실패할 때 확률은 1-p이다.

 

성공/실패 확률이 i.i.d 하다는 가정에 따라, L = 모든 데이터에 대한 PDF 곱셈으로 나타낸다.

 

로지스틱 회귀 모델은 로지스틱 함수의 회귀 모델이다. (W^T*X가 0보다 크면 1로, 0보다 작으면 0으로 분류한다.)

 

W^T*X에 대한 시그모이드 함수가 1/2을 넘는 확률이 파라미터 P이다.

즉, y가 1로 예측될 확률을 말한다.

 

로지스틱 회귀가 베르누이 분포를 따르는 것을 알았기 때문에, 베르누이 우도함수 형태로 로지스틱 회귀의 우도함수를 표현할 수 있다. 결국, 우도 함수를 최대화 하는 것이 목표(MLE)

 

ln = log 함수에서 밑이 자연상수 e인 것을 말한다. x가 증가하면 y도 단조롭게 증가하는 함수임!

max L = max ln L을 똑같이 사용할 수 있다.

로그함수는 logx^2 = 2logx 라는 성질에 의해, 지수함수 형태의 식을 더 쉽게 계산하려고 로그화 해준 것!

 

결국, Max ln L을 구하는 것인데, 손실 함수는 이제까지 최소화 하는 것이 목표였으므로 - ln L으로 표현한다.

로그 우도 함수를 최대화 하는 것 = -(마이너스) 로그 우도 함수를 최소화

 

 

손실함수로 -ln L을 사용하므로, 경사하강법(델타 손실함수 / 델타 w)에 필요한 미분값을 대입하면, 델타 -ln L / 델타 w

이걸 쭈우우욱 전개하고 정리하면 빨간색으로 표시된 식이 된다.

편미분 값이 0이 되는 값을 구하고, 정리했더니, 시그마에 W^-T*X를 넣었던 시그모이드 함수와 형태가 동일하다는 것을 이해하게 된다(전혀 이해 못했습니다요).

즉, 경사하강법에 의해 어떤 미분 방향으로 이동해야 하는지 답이 나오게 된다고 함

 

이후에는 경사하강법을 통해, 반대방향으로 업데이트 해서 최적의 파라미터 w를 구하는 방향으로 이어가게 됨!

 


서포터즈 덕분에 긴긴 시간 이렇게 블로그 정리를 해올 수 있었다. 강제력의 힘...! 일주일에 공부한 내용 블로그를 2개씩 쓰는 게 쉽지 않아서, 특히 퇴근하고 하기 힘드니까 자꾸 주말에 몰아서 하게 돼서ㅠㅠ 다음 서포터즈를 신청할지 안할지는 모르겠지만, 힘든 만큼 도움이 많이 되었다. 그치만 앞으로도 열공해야지!! 파이팅🔥

* 메타코드 서포터즈로서 강의를 제공받아 작성하였습니다. 이미지를 클릭하면 홈페이지로 이동합니다.