차곡차곡

머신러닝의 기초 본문

2021 데이터 청년 캠퍼스/머신러닝과 딥러닝

머신러닝의 기초

sohy 2021. 7. 6. 16:31

머신러닝이란?

[머신러닝 의미]

데이터를 통해 데이터와 현상 사이의 관계 (예측, 분류 등)를 기계에게 학습시키는 것

미리 설정해둔 방법론과 알고리즘을 통해 학습을 할 수 있다.

 

[머신러닝 정의]

데이터와 알고리즘으로 기계에게 적절한 함수를 학습시키는 것

언제, 어떻게 발생할 지 모르는 noise를 고려해서 함수를 학습해야 한다.

* 함수를 학습한다는 것은 데이터로부터 함수를 찾아낸다는 뜻이다.

 

∴ 머신러닝의 목적은 데이터로부터 매개변수를 알아내어 함수를 찾아내는 것이다. 이때 노이즈가 있기 때문에 그럴듯한 매개변수가 많이 존재한다. 선택의 기준이 되는 것은 손실 함수(loss function)이며, 베이즈 정리(Bayes' Theorem)와 깊은 관련이 있다. 적절한 가정과 손실 함수를 사용하여 매개변수를 알아내야 한다.

 

 

매개변수와 손실 함수

[머신러닝에서의 확률 분포와 베이즈 정리]

데이터가 주어졌을 때, 그럴듯한 매개변수들이 다양하게 존재 > 이 모든 가능성들을 고려할 수 있는 방법은 매개변수와 데이터 사이의 확률적인 관계를 파악하는 것

- 베이즈 정리 : p(w|D) = p(D|w) p(w) / p(D)

 

[머신러닝 목적]

가장 합리적인 매개변수를 찾는 것. 합리적이다 = 설명력이 높다 = Likelihood

가장 설명력이 높은 매개변수는 최대 우도 추정(Maximum Likelihood Estimation, MLE)으로 찾을 수 있다.

최대 우도 추정에서는 likelihood의 값이 아니라 최적해를 찾는 것이 목표이다.

 

[가장 합리적인 매개변수 찾기]

오차항 제곱합(sum of squared error, SSE)을 최소화하는 매개변수가 likelihood가 최대가 되는 변수

머신러닝 예측 문제의 MLE를 찾는 것은 오차항 제곱합을 손실 함수로 하는 최적화 문제와 동치한다.

 

하지만, 데이터가 한쪽으로 너무 편협되어 있거나 그 수가 적어 전체 데이터를 제대로 대표하지 못할 때 문제가 생길 수 있다. > 매개변수에 대한 사전 지식 p(w) 이용

매개변수에 대한 사전 지식(prior)이 주어지면, likelihood에 prior를 반영한 posterior를 최대화하는 것이 더 합리적인 선택!

>> 최대 사후 확률 추정(Maximum A Posteriori, MAP)

 

∴ 합리적인 가정을 통해 모델 및 매개변수의 후보를 명확히 한 후 이들 중에서 손실 함수를 최소화해야 한다.

 

 

머신러닝 학습 방법론

[숨은 함정 찾기]

주어진 데이터에만 집중하면 과적합(Overfitting) 발생

머신러닝이 진짜 하고자 하는 것은, 주어진 데이터로 학습한 함수 관계를 바탕으로 테스트 데이터의 정확한 예측 및 분류이다.

즉, 손실 함수를 최적화해야 한다면 그것은 주어진 학습 데이터가 아니라 테스트 데이터에 대해 이루어져야 한다. 하지만 테스트 데이터에 대한 정답을 모르기 때문에 이는 불가능하다. 테스트 데이터에 대한 예측 정확도를 높이는 방법은?

 

[테스트 데이터와 Bias-Variance Tradeoff]

Bias : 학습의 기댓값과 실제 모델값의 차이

Variance : 학습된 모델의 예측 불안정성

* overfitting이 일어나면 bias는 작지만 variance가 매우 크다.

 

테스트 손실을 줄이기 위해선 머신러닝 모델의 bias와 variance를 줄여야 한다.

bias와 variance는 trade off관계에 놓여 있어, 모델을 학습하는 알고리즘을 조정하여 각각을 적절히 조절해야 한다.

 

[Training, Validation, Test 데이터 나누기]

학습 데이터 최적화의 관점에서 벗어날 수 있는 대표적인 방식으로 Training/Validation/Test 데이터 나누기가 있다.

training 데이터로부터 손실 함수를 계산하여 매개변수 추정 > training 데이터에 대해 최적화를 하는 것이 아니라, validation 데이터에 대한 손실 함수값이 최소인 모델을 최종 모델로 선정한다.

 

[그 외 방법]

1. 손실 함수에 정규화(regulatiztion) 과정 추가 : Likelihood의 최적화에서 벗어나, 테스트 데이터에 보다 잘 맞는 모델을 찾을 수 있음

2. 모델 앙상블(Ensemble) 하기 : 여러 모델을 합쳐 variance를 낮춤

3. 데이터 늘리기 : 학습 데이터의 양이 많을수록 그 분포가 전체 데이터의 분포와 비슷해져, bias와 variance를 모두 낮출 수 있는 최고의 방법

 

 

[머신러닝 학습 방법론 정리]

목표 : 주어진 데이터를 바탕으로, 새로운 데이터에 대한 정확한 예측 및 분류

학습 방법론

  1. 주어진 과업(task)를 충분히 이해한다.

  2. 적절한 가정을 통해 머신러닝 모델을 설계한다.

  3. 손실 함수와 학습 방식을 선택한다.

  4. Training/Validation/Test 데이터를 적절히 나눈다.

  5. 학습과 검정 과정을 반복하며 최적의 모델을 찾는다.

 

 

Comments