머신러닝,딥러닝/tensorflow

lec07 learning rate, data preprocessing overfitting

mcdn 2021. 1. 21. 15:46
반응형

cost function 값을 최소화하기 위해서 썼던 gradient descent 

이때 0.001 정도의 learning rate 알파 값을 적용했었다. 

 

 

만약 large learning rate 라면? ==> overshooting 발생 

 

그리고 만약 small learning rate라면? ==> takes too long and stops at local minimum 

 

그래서 try several learning rate 

observe the cost function 0.01 -> 0.001 or 0.1 이렇게 

(andrew ng 는 3배 단위로 크고 작게 하라 했었음)

 

data(x) preprocessing for gradient descent 

 

예를 들어서 data(x) preprocessing for gradient descent 

그러면 이렇게 눌린 산이 된다. 삐죽 삐죽 나오게 된다. 

그래서 바꾼다.

zero-centered data - 0 is the center

normalized data  - width height similar 

standardization 

code here

 

overfitting 

our model is very good with training data set with memorization 

not good for test dataset or in real use 

 

구불구불하게 모든걸 들어맞는 fuction 

 

solution for overfitting 

- more training data

-reduce the number of features 

- regularization 

구불 선을 구부리지 말고 펴라는뜻 

 

각각의 w를 더해서 너무 크게 차이나지 않도록 하는 거인듯?? 

알파를 곱해서 값을 더하는 걸 정할 수 있다. 

 

 

summary 

learning rate

data preprocessing 

overfitting and solution(=regularization)

 

 

=================================

 

이제 머신러닝이 잘 작동하는지 확인하는 작업 

 

performance evaluation : is this good? 

evaluation using training set? 

100% correct = accuracy 

can memorize 

 

시험을 보고 문제를 외워서 푸는 거나 다름 없다. 

그러니까 training and test set을 나눠서 숨긴 상태. 

우리는 Training set로 모델을 만들고 

-> test set 으로 값을 테스트한다. 

우리가 잘하는지 확인 가능 

 

 

training, validation, and test sets 

original set : training validation testing 

validation 은 알파, 간마 값을 조정하는 단계에서 쓰이는 케이스들 

테스트는 절대 모델에서 쓰이면 안된다. 

 

온라인 learning 모델

100만개 넣었다면 10만개씩 넣는다. 

게속 추가해서 축적해 모델에 추가하는 것 

새로 들어와도 처음부터 다 노노 

 

실제 데이터 Y 값과 우리 모델이 예측한 Yhat값이 같은지. 

100개 중 90개가 같으면 90%겠지 

 

실습 시작 

training 으로 학습하고 모델 만듬. 테스트는 모델 입장에서 본적 없는 케이스여야 

그럼 어떠헤 나누냐?? 

비슷해야.. 

 

 

 

 

 

 

반응형