목차

과적합 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'))

관련 문서