lec 07-1: 학습 rate, Overfitting, 그리고 일반화 (Regularization) - YouTube
- Learning rate 조절하는 방법
- data preprocessing
- overfitting 방지하는 방법
Learning rate
Learning rate는 경사하강법에서 보폭의 크기라고 생각하면 된다.
Learning rate: Overshooting
Learning rate를 너무 크게 설정한다면 보폭이 너무 크기 때문에 최적점을 지나칠 수 있고 정신없이 왔다갔다 하기 때문에 최적의 지점을 찾지 못할 수도 있다.
Small learning rate
반대로 너무 맞게 설정한다면 보폭이 너무 짧아 시간이 오래걸리거나 제 시간안에 최적점을 찾지 못하게 된다. 또는 최적점이 아님에도 stop하는 경향이 있음.
Try several learning rates
Cost function 을 확인하고 너무 크다면 Learning rate을 줄일필요가 있으며 반대로 손실함수가 너무나 작다면 Learning rate를 높일 필요가 있다. 보통 0.01부터 시작하여 판단한다.
Data preprocessing for gradient descent
두개의 변수의 값의 간격이 너무 차이가 난다면 모델이 제대로 학습을 할 수 없으며 왜곡된 경사하강법을 가지게 된다. 그렇기 때문에 다양한 정규화 작업이 필요하다.
- 데이터의 중심이 0으로 가게하는 zero-centering
- 절대적 기준 내의 범위로 데이터가 들어가도록 하는 normalizing
X_std[:,0] = (X[:,0] - X[:,0].mean())/X[:,0].std()
Overfitting
모델이 너무 학습 데이터에만 훈련이 되어 실제 현실데이터 및 테스트 데이터에서는 성능을 제대로 발휘하지 못하는 문제
과대적합의 해결책으로는
1. 더 많은 훈련 데이터를 넣거나
2. 중복성이 강한 변수를 줄이거나
3. 일반화(Regularization)작업을 거친다.
Regularization
l2reg = 0.0001 * tf.reduce_sum(tf.square(W))
'Etc > TAVE' 카테고리의 다른 글
Lec. 6-2: Softmax classifier 의 cost함수 (0) | 2023.03.26 |
---|---|
Lec. 6-1 - Softmax Regression (0) | 2023.03.26 |
Lec. 7-2 Learning and test data sets (0) | 2023.03.25 |
Lab. 7-2 Learning and test data sets (0) | 2023.03.25 |
Data preprocessing (.drop , .columns & .loc & lamda ) (0) | 2022.12.30 |