Out*_*ode 6 machine-learning keras tensorflow
在Tensorflow模型中,密集单元的数量是如何选择的?例如,这里分别有 32 和 512。
model = Sequential()
model.add(Dense(32, input_shape=(16,)))
Run Code Online (Sandbox Code Playgroud)
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)
])
Run Code Online (Sandbox Code Playgroud)
这些被称为超参数,应该在验证/测试集上进行调整,以调整模型以获得更高的准确性。
调整只是意味着尝试不同的参数组合,并根据问题在验证集上保留损失值最低或精度更高的参数组合。
有两种基本方法:
网格搜索:对于每个参数,确定一个范围并进入该范围,例如 8 到 64 个神经元,以 2 的幂 (8、16、32、64) 为单位,然后尝试参数的每种组合。这显然需要指数数量的模型进行训练和测试,并且需要大量时间。
随机搜索:执行相同的操作,但只需为每个参数定义一个范围,并尝试从每个范围上的均匀分布中抽取的随机参数集。您可以尝试尽可能多的参数集,尝试尽可能多的时间。这只是一个知情的随机猜测。
| 归档时间: |
|
| 查看次数: |
5866 次 |
| 最近记录: |