일반적으로 train error와 test error의 차이를 말한다.
학습 데이터에 대해서 잘 동작을 하지만 테스트 데이터에서는 그렇지 않은 경우를 말한다.
네트워크가 간단하거나 학습이 충분하지 못해서 학습 데이터에서도 잘 동작을 못하는 것을 말한다.
데이터를 학습 데이터와 검증 데이터로 나누어서 학습 데이터로 학습시킨 모델이 학습에 사용하지 않은 검증 데이터를 사용해서 얼마나 잘 동작하는 지 확인하기 위해 검증 데이터를 나누는 방법을 말한다.
Variance는 어떠한 입력이 주어졌을 때 출력이 얼마나 일관성이 있는지를 말한다.
Bias는 출력이 일관성 없이 많이 분산이 되더라도 평균적으로 target에 가까이 있으면 low blas 높으면 high bias라 한다.
다음 수식과 같이 cost를 최소화할 때 bias와 variance는 trade-off한 관계를 가진다.
학습 데이터가 고정되어있을 때 subsampling을 통해 데이터를 여러 개로 나누고 여러 모델 및 metric으로 나누어서 각 예측 값들을 ensemble처럼 활용하는 방법이다.
Bagging은 Bootstrapping과 같은 ensemble 방법들이 주로 속한다.
Boosting은 예를 들어 데이터 셋을 80%와 20%로 나뉘었을 때 80%를 가지고 학습을 시킨 모델이 80% 데이터에 대해서 예측을 잘하지만 20% 데이터에서는 그렇지 않을 경우 20% 데이터로만 새로운 모델을 만든다. 이렇게 여러 개 모델을 만든 후 합쳐서 sequential하게 예측을 하도록 만드는 방법이다.
batch size가 너무 크면 sharp minimum에 도달할 가능성이 높고 작은 크기를 사용하면 flat minimum에 도달할 가능성이 높기 때문에 일반적으로 큰 사이즈보단 작게 사용하는 것이 generalization 성능에서 좋다.
(Stochastic) Gradient Descent Methods
Momentum
Nesterov Accelerated Gradient
Adagrad
Adadelta
RMSporp
Adam