Table of Contents

과적합 Overfitting

과적합(Overfitting)을 막는 방법들

데이터의 양을 늘리기

모델의 복잡도 줄이기

인공 신경망에서는 모델에 있는 매개변수들의 수를 모델의 수용력(capacity)이라고 하기도 합니다.

가중치 규제(Regularization) 적용하기

복잡한 모델이 간단한 모델보다 과적합 될 가능성이 높습니다. 그리고 간단한 모델은 적은 수의 매개 변수를 가진 모델을 말합니다. 복잡한 모델을 좀 더 간단하게 하는 방법으로 가중치 규제(Regularization)가 있습니다.

드롭아웃(Dropout)

케라스에서는 다음과 같은 방법으로 드롭아웃을 모델에 추가할 수 있습니다.

model = Sequential()
model.add(Dense(256, input_shape=(max_words,), activation='relu'))
model.add(Dropout(0.5)) # 드롭아웃 추가. 비율은 50%
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5)) # 드롭아웃 추가. 비율은 50%
model.add(Dense(num_classes, activation='softmax'))