과적합 Overfitting
과적합(Overfitting)을 막는 방법들
데이터의 양을 늘리기
모델의 복잡도 줄이기
인공 신경망에서는 모델에 있는 매개변수들의 수를 모델의 수용력(capacity)이라고 하기도 합니다.
가중치 규제(Regularization) 적용하기
복잡한 모델이 간단한 모델보다 과적합 될 가능성이 높습니다. 그리고 간단한 모델은 적은 수의 매개 변수를 가진 모델을 말합니다. 복잡한 모델을 좀 더 간단하게 하는 방법으로 가중치 규제(Regularization)가 있습니다.
드롭아웃(Dropout)
- 드롭아웃(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'))