Learning rate


Gradient descent



learning rate는 경사면을 따라 움직이는 정도


learning rate가 크다면? -> 크게 왔다 갔다. -> 1) 최소화된 Cost 를 찾기 힘들다.

                                                        -> 2) 잘못되면 Cost가 바깥으로 발산 할 수도 있다. -> overshooting 이라고 한다.


[Tip 1] overshooting 발생시(Cost가 계속 커지는 현상) Learning rate를 좀 더 작게 준다.


learning rate가 작다면? -> 너무 작게 내려간다 -> 1) 최소화된 Cost를 찾기도 전에 학습이 끝나버린다. 즉, global minimum이 아닌 local minimum을 찾게된다. 


[Tip 2] Cost 값을 찍는데, 너무 작게 줄어들거나 더 줄어들거 같다면 Learning rate를 좀 더 크게 준다.



* 보통 learning rate는 0.01 또는 0.001에서, Cost값을 관찰하면서 변화시킨다.




Data Preprocessing for gradient descent


x1

x2

1

9000

A

2

-5000

A

4

-2000

B

6

8000

B

9

9000

C


위와 같이 데이터의 값에 차이가 있다면 Learning rate가 충분히 작더라도 overshooting이 발생


[Tip 3] Learning rate가 충분히 작은데도 overshooting이 발생한다면, 데이터 값에 차이가 큰지 확인(시각화 해서 그림 찍어보면 됨.)

         정규화 과정을 거쳐, 데이터의 차이를 줄인다. -> 전처리 한다.


Normalization(정규화)




위 Standardization 말고도, 여러 가지의 정규화 방법이 있음.


[Tip 5] 학습의 성능을 높이기 위해 여러 정규화 방법을 적용해도 좋음.




Overfitting


너무 학습을 많이해서 학습한 데이터에 대해서는 성능이 좋지만, 예외적인 데이터에 대해서 예측 결과가 안나오게 학습되어버림.



왼쪽 오른쪽 중 무엇이 더 올바르게 학습된 모델일까?


왼쪽이다!! why? 

오른쪽은 overfitting 발생.



어떻게 overfitting을 억제하냐?


1) traing data를 많이 넣기(많을 수록 억제)

2) 중복된 features의 갯수 줄이기

3) Regularization(일반화) 시키기


[Tip 6] traing data가 많으면 많을 수록 overfitting 방지에 좋다. (단, 학습 시간이 늘어남.)


[Tip 7] overfitting이 발생하는 경우 중복된 features의 갯수를 줄여라


Regularization(일반화) ?


overfitting은 무언가 분류를 할 때, 선 자체가 점점 구부러져, 학습 데이터에 맞게 변형되는 것

-> 이 구부러지는 선을 좀 펴자! 오른쪽 그림을 왼쪽 그림처럼

-> 즉 너무 큰 weight를 좀 작게 만들어보자.

(왜? weight가 크다는 것은 그만큼 가중치가 크게 부여되므로, 선이 구부러지는 것이다. 따라서 weight를 작게 만들면 선이 펴진다.)


여러 식이 있지만 일반적으로


strength가 0이면? regularization 사용X

strength가 높을수록 regularization의 가중치를 높임.


식을 사용한다.



[Tip 8] overfitting이 발생하는 경우 좀 더 Rgularization(일반화) 시키기 

         (regularization strength 값을 증가)




Summary


[1] Learning rate

     - Reduce Overshooting ( less Learning rate )

     - Find Minimize Cost ( more Learning rate )


[2] Data Preprocessing

     - Normalization


[3] Overfitting 

     - More training data

     - Reduce overlapping features

     - Regularization











+ Recent posts