[ML] Training / Testing data set

JINJU·2021년 7월 18일
0

Last lecture

지난 시간동안 데이터를 통해 학습을 시킴
이 모델이 얼마나 훌륭한지 / 성공적으로 예측 할 수 있는지를 평가하는 방법이 무엇일까?

Evaluation


이러한 데이터가 있을 때 (training set) 모델을 학습을 시키고 다시 이 training set으로 평가를 하게 되면 똑같은 답을 말하게 됨 -> 이러한 경우를 올바른 평가라고 말을 할 수 있을까?

이러한 경우는 worst case 임

그래서 이러한 문제를 해결하기 위해 앞에 부분을 training data set이라고 하고 뒤에를 test set이라고 부르기로 설정

여기서 test set은 알게하면 안됨 (training set을 학습시킬 때 같이 학습시키면 안된다는 의미)

학습을 시킨 후 test set을 model에 넣어서 구한 Y ̅ 와 training 한 YY와 비교해서 값의 차이를 봄

한 마디로, training set을 교과서라 할 수 있고, test set을 실전 (시험)이라고 할 수 있다.

Training, validation and test sets


training set과 testing set을 나누는게 일반적이다. 그러나, α,lamdaα , lamda 를 통해 reguratiaion에서 얼마나 강하게 할 것인지를 조절할 수가 있다.
이러한 값들을 튜닝하기 위해서 완벽한 training set과 validation으로 나눈다.
자세하게 말하자면, 우리가 일반적으로 가지고 있는 training set을 가지고 모델을 학습하고 validation을 통해 α,lamdaα , lamda 와 같은 값으로 튜닝을 한다. 즉, validation은 실제로 모의 시험을 해보는 것. (test set을 통해 학습을 하기 전에)
완벽하게 되면 testing set을 가지고 모델이 잘 동작을 하는지 확인!

우리에게 익숙한 시험으로 예를 들자면,
교과서(training set)로 공부를 하고 모의 시험(validation)을 통해 공부가 완벽해지면 수능(testing set, 딱 한 번만 볼 수 있음(시험 때)을 보는 것이라 할 수 있겠다.

Online learning

100만개의 데이터가 있을 경우 한번에 넣으면 너무 많기 때문에 10만개씩 잘라서 모델을 학습함
그러기 위해서는 첫번째 학습시킨 경우는 두번째 학습을 시켰을 때 정보가 남아 반영이 되어야하는데 이것을 online learning 이라 한다.

online learning의 장점
나중에 새로운 10만개의 데이터가 들어온다 가정했을 때, 이전의 데이터들을 다시 학습하지 않고 새로운 데이터만 학습하여 이전의 것을 반영하기만 하면 되는 것이 큰 장점

MINIST Dataset

MINIST dataset 이 나오게 된 이유 (번외정도~)
사람들이 우편번호 (zip: 05363)을 쓸 때 comfortable하게 할 수 있도록 나오게 된 것

Accuracy

test set을 가지고 예측(측정)을 하는 것은 간단하다.
우리가 가지고 있는 YY값과 모델이 학습하여 예측한 YY^- 의 차이를 보면 됨

거의 이미지를 인식하는 기술들은 95~99% 의 예측률을 가지고 있다.

0개의 댓글