본문 바로가기

Studying/Deep Learning

[모두를 위한 딥러닝] 5일차

Learning rate 알파값

Learning rate를 잘 정해야 한다.


너무 크면 한 번에 너무 많이 움직여서 포물선에서 왔다갔다하거나 바깥으로 나갈 수 있다. (overshooting)

너무 작으면 시간이 너무 오래 걸려서 중간에 멈출 수도 있다.


특별한 답은 없다. 보통 처음에 0.01 로 지정하고 반복해서 찾아야한다.


X 데이터를 preprocessing 을 잘 설정 해야하는 이유.


X 데이터의 값이 차이가 크면 원 모양(등고선)이 아니라 한 쪽으로 치우쳐져서 (한 쪽의 등고선이 너무 좁아짐) 알파값이 잘 정해져도 안 발산이 일어날 수 있다.


x'j = (xj - uj)/o'(시그마)


overfitting 학습 데이터에 너무 최적이다보면 실제 데이터에는 안 맞을 수도 있다.


해결법은 training data을 증가시키거나 중복값을 제거한다. 또는 일반화를 시킨다.


일반화: 구부러진 선을 피는 것



training 을 시키는 좋은 방법은 모든 데이터를 트레이닝 시키는 게 아니라


30프로 정도 남기고 나머지로 training을 시키고 30프로 데이터를 test 데이터를 사용한다.


training set을 추가로 Validation set으로 나눠서 조정용으로 사용한다.


data set이 많을 때 online learning 을 사용한다.


online learning: 100만 개를 학습시킨다면 10만 개씩 학습시키고 그것을 저장하고 추가로 10만개를 학습시키는 방식