Learning rate


learning rate가 너무 크다면 overshooting이 일어날 수 있습니다.


learning rate가 너무 작다면 학습 시간이 오래 걸리며 local minimum에 빠질 수도 있습니다.


적당한 learning rate는 학습의 중요한 요소입니다.


cost function값을 관찰하면서 실험적으로 learning rate를 정할 수 있습니다.



Data(x) preprocessing for gradient descent


data(x)의 데이터들 사이의 값의 차이가 심한 경우 overshooting이 일어날 수 있습니다.


그렇기 때문에 data에 대해 normalize를 할 필요가 있습니다.


Standardization

여기서 뮤는 평균, 시그마는 분산을 나타냅니다.



Overfitting


학습 데이터에 과도하게 fitting된 경우


overfitting을 줄일 수 있는 방법

  • training data를 늘린다
  • feature의 수를 줄인다
  • regularization(일반화) 시킨다



Regularization


weight를 너무 큰 값으로 가지지 않게 합니다.


cost function 이후에 regularization term을 추가합니다.


여기서 W는 w의 벡터로 각각의 element에 제곱의 합의 값이 작아질 수 있도록 cost function을 만듭니다.


여기서 람다는 regularization strength로 상수입니다.


0으로 둔다면 regularization을 사용하지 않겠다 라는 의미이고


1로 둔다면 regularization을 중요하게 생각하겠다 라는 의미입니다.


0.001이면 크게 중요하게 생각하지 않겠다 라는 의미입니다.


사용자가 정의할 수 있습니다.



출처


+ Recent posts