본문 바로가기
카테고리 없음

[강의]시즌1 딥러닝의기본 - 학습 rate, Overfitting, Regularization

by 박정률 2017. 2. 17.

1. Learning rate

Learning rate 를 잘 정하는 것은 중요합니다!


Large learning rate 를 한경우를 생각해봅시다.

step이 너무 큰경우 다음과 같이 계속 튕겨 나갈 수있습니다.




Small learning rate 를 생각해 봅시다.



정확한 Learning rate 는 없고 데이터 환경에 따라 달라집니다

따라서 0.01 정도로 시작해서 발산을하면 좀 작게 너무 조금움직이면 크게하는 것이 좋습니다.


2. Data(X) preprocessing for gradient descent

가끔 선처리해야할 이유가 있습니다.

가운데 인 최고로 낮은곳으로 가는것이 목표입니다.


이 때 두개의 x1,x2 값이 너무 차이가 많이난다면 동그랗지않고 왜곡된 등고선이 나타날 것입니다.

이 때 어떤 값에서 시작할 때 조금이라도 잘못하면 밖으로 튀어나가게 될 것입니다.

따라서 Normalize 할 필요가 있습니다.



다음과 같이 모아줘야합니다!


다음과 같은 Normalization 을 standardzation 이라고 합니다!









둘 중에 어떤것이 더 일반적이고 좋은 모델이 될까요?

너무 현재에 데이터에만 fit 한 데이터이다. Overfitting 으로 안좋은 model 입니다!


그렇다면 이 Overfitting 을 어떻게 줄일 수 있을까요?

- 중복된 feature 의 갯수를 줄이는 것

- Reguralization 중복을 줄이는것




일반화 시킨다는것 - > weight 을 너무나 큰값을 갖도록 하지말자! 입니다

구부리는 것 자체를 Overfitting 이라고 하는데, 좀 구부리지말고 펴자!

weight 이 좀 적은 값을 갖도록 한다 = 펴자



원래 Cost 함수에 term 을 추가시켜주는데 각각 element 의 제곱의 합을 더해주고 regularization  strength 를 붙여주는데

0 -> Regularization 을 약하게, 1 -> 강하게