【发布时间】:2019-07-30 19:00:18
【问题描述】:
您好,我正在建模一个线性回归模型,更多描述可以在这里找到My stack post,我正在尝试减少我的泛化错误。根据这篇文章Stack post 2,泛化误差是训练误差和验证误差之间的差距。从我的堆栈帖子中,许多人建议我规范化并添加丢弃层。
我尝试了所有有助于我不过度拟合的方法,但我似乎无法减少损失、MAE 和 MSE。
我尝试过但不太了解的事情(内核正则化(l1,l2 和 L1_l2)和this post with different ways to reduce error。我没有尝试过的事情(重量限制和添加噪音)
我能做些什么来进一步减少我的损失/泛化错误和 MAE 或 MSE?
我的模特:
def build_model():
model = keras.Sequential([
layers.Dense(64, activation=tf.nn.relu ,activity_regularizer=regularizers.l1(0.01), input_shape=[len(train_dataset.keys())]),
layers.Dropout(.2),
layers.Dense(64, activation=tf.nn.relu ,input_shape=[len(train_dataset.keys())]),
layers.Dropout(.2),
layers.Dense(1)
])
optimizer = tf.keras.optimizers.Adam(0.005)
model.compile(loss='mean_squared_error',
optimizer=optimizer,
metrics=['mean_absolute_error', 'mean_squared_error'])
return model
【问题讨论】:
标签: tensorflow machine-learning keras data-science