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만개를 학습시키는 방식
'Studying > Deep Learning' 카테고리의 다른 글
[모두를 위한 딥러닝] 7일차 (0) | 2017.04.03 |
---|---|
[모두를 위한 딥러닝] 6일차 (0) | 2017.04.02 |
[모두를 위한 딥러닝] 4일차 (0) | 2017.03.27 |
[모두를 위한 딥러닝] 3일차 (0) | 2017.03.24 |
[모두를 위한 딥러닝] 2일차 (0) | 2017.03.22 |