在TensorFlow中,可以使用正則化來防止過擬合,常見的正則化方法包括L1正則化和L2正則化。在TensorFlow中,可以通過在模型的損失函數中添加正則化項來設置正則化。以下是一個示例:
# 定義模型
model = tf.keras.models.Sequential([
tf.keras.layers.Dense(64, activation='relu', kernel_regularizer=tf.keras.regularizers.l2(0.01)),
tf.keras.layers.Dense(64, activation='relu', kernel_regularizer=tf.keras.regularizers.l2(0.01)),
tf.keras.layers.Dense(1)
])
# 編譯模型
model.compile(optimizer='adam',
loss='mse',
metrics=['mae'])
# 訓練模型
model.fit(train_data, train_labels, epochs=10, validation_data=(val_data, val_labels))
在上面的示例中,通過在每層的kernel_regularizer參數中設置tf.keras.regularizers.l2(0.01),我們為每個權重添加了L2正則化項,正則化參數為0.01。您可以根據實際情況調整正則化參數來達到更好的正則化效果。