과적합을 해결하는 방법으로 드롭아웃(dropout)이 있습니다.
신경망 모델이 과적합되는 것을 피하기 위한 방법으로, 학습 과정 중 임의로 일부 노드들을 학습에서 제외시킵니다.
▲ 그림 4-16 일반적인 신경망과 드롭아웃이 적용된 신경망
다음은 텐서플로 2에서 드롭아웃을 구현하는 예시 코드입니다.
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28,28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2), ------드롭아웃 적용
tf.keras.layers.Dense(10, activation='softmax')
])