我是机器学习的非常初学者-TensorFlow,我遇到了一些Tensorflow-Keras的示例模型,但令人困惑,那里的密集单元如何选择。
分别为32和512。
model = Sequential()
model.add(Dense(32, input_shape=(16,)))
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(512, activation=tf.nn.relu),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation=tf.nn.softmax)
])
答案 0 :(得分:2)
这些被称为超参数,应在验证/测试集上进行调整以调整模型以获得更高的准确性。
调整只是意味着尝试不同的参数组合,并根据问题将损耗值保持最低或在验证集上具有更高的准确性。
有两种基本方法:
网格搜索:对于每个参数,确定一个范围并以2(8、16、32、64)的幂次逐步进入该范围(如8到64个神经元),然后尝试参数的每种组合。显然,这需要对指数模型进行训练和测试,并且需要大量时间。
随机搜索:进行相同的操作,但只是为每个参数定义一个范围,然后尝试从每个范围的均匀分布中得出一组随机参数。您可以尝试任意数量的参数集,并可以尝试多长时间。这只是有根据的随机猜测。