我正在尝试解决模型中的过拟合问题,该模型只有1500种不同的输入,每个输入约有300列。大多数列的相关性可能很低,因此我想到了以不同比例对它们应用辍学的想法。
我要寻找的是将平均辍学概率保持固定(例如0.9),但是要让拟合过程重新分配不同列之间的概率。
现在我正在使用一个像这样的简单顺序模型:
var model = new Sequential(new Layer[] {
new Dropout(rate: 0.9),
new Dense(units: 4, activation: tf.nn.leaky_relu_fn),
new Dense(units: 4, activation: tf.nn.leaky_relu_fn),
new Dense(units: 4, activation: tf.nn.leaky_relu_fn),
new Dense(units: 1, activation: tf.nn.leaky_relu_fn),
});
model.compile(
optimizer: new AdamOptimizer(),
loss: tf.keras.losses.mean_squared_logarithmic_error_fn);
model.evaluate(trainInputs, trainOutputs);
该如何替换Dropout
层呢?我意识到这可能需要使用功能性API而非Sequential
。