머신러닝(3)
-
[머신러닝] 옵티마이저(optimizer)의 종류
옵티마이저(optimizer)란? 옵티마이저 = loss의 최솟값을 찾는 최적화 알고리즘 머신러닝의 목적은 데이터의 학습을 통해 loss 값을 줄여 작업의 정확도를 올리는 것이다. 앞선 포스팅에서, Gradient Descent라는 알고리즘으로 loss의 최솟값을 찾아나가는 방법을 설명했다. 그러나, 단순한 Gradient Descent는 learning rate의 크기나 가속 알고리즘의 유무 등에 따라 수렴하지 않는 경우도 존재했으며, local minimum에 빠지는 경우도 있었다. https://cascade.tistory.com/36 Gradient descent & Backpropagation (Rumelhart 1986 논문 리뷰) 딥러닝 분야에는 다양한 아키텍처가 있다. CNN, RNN, T..
2024.04.12 -
Cross Entropy와 쿨백-라이블러 발산(KL-Divergence)
정보 엔트로피(Information Entropy) 정보 엔트로피를 이해하기 위해, 먼저 정보량을 정의하자. 사막에 여행을 갔다고 생각하자. 현지인에게 "내일의 날씨는 어떤가요?"라고 물어봤을 때 나올 수 있는 두 개의 대답을 생각해 보자. 내일은 해가 쨍쨍할 예정입니다. 내일은 비가 올 예정입니다. 사막에서 해가 쨍쨍한 것은 어찌 보면 당연한 일로, 확률이 매우 높다. 반면 비가 오는 일은 아주 드문 일로 확률이 낮다. 직관적으로 둘 중 어떤 대답에 더 많은 정보량이 들어 있는가? 당연히 후자일 것이다. 정보량은 일어날 확률이 드문 일일수록 커진다. 따라서 어떤 사건 X에 대해 정보량은 P(X)에 반비례한다. 조금 더 정확하게는, X의 정보량 I(X)를 아래와 같이 정의할 수 있다. (로그의 밑 b는 ..
2024.03.05 -
ML(Maximum Likelihood), MAP(Maximum A Posteriori) 추정
머신 러닝의 주요한 목표 중 하나는, 관측된 데이터를 가지고 알아내고자 하는 값의 분포(모수, parameter)를 예측하는 것이다. 관측된 데이터 x의 분포를 X라고 하고, 모수를 theta라고 하자. 그러면 우리의 목표는 아래 두 가지로 정리할 수 있다. 가능도 L(theta | x)를 최대로 끌어올리자. 사후확률 P(theta | x)를 최대로 끌어올리자. 즉, 관측된 데이터를 바탕으로 매개변수의 가능도 혹은 사후확률 분포를 최대화하는 방향으로 파라미터를 설정하자는 것이다. 두 가지 목표 중 첫 번째는 ML (Maximum Likelihood) 추정이라고 하고, 두 번째를 MAP(Maximum A Posteriori)라고 한다. 두 방식의 차이는 사전 확률을 추정에 포함하는지 여부가 다르다. 사후확..
2024.03.04