利用Iris数据集进行3层神经网络分类
我决定用:
3个神经元输入,因为它有3个特征,
3个神经元输出,因为它有3个类别和
在隐藏层中,在这种情况下,最好的神经元数目是多少?
发布于 2021-04-06 07:54:26
这个问题没有一个明确的答案。您应该尝试并评估模型如何执行不同的配置测试。但基本上,接下来的两个前提如下:
请注意,增加模型的复杂性将增加计算过程,并且,如前所述,要小心过度拟合。
我建议先尝试少量的神经元,然后逐步增加,看看模型是否有一些改进。
发布于 2021-04-06 13:35:08
为了使评估自动化,您可以使用诸如Keras Tuner https://keras-team.github.io/keras-tuner/这样的工具。
从他们的文档中,示例设置应该如下所示。
单位的最小-最大值是你为你的情况调整它的地方。
from tensorflow import keras
from tensorflow.keras import layers
from kerastuner.tuners import RandomSearch
def build_model(hp):
model = keras.Sequential()
model.add(layers.Dense(units=hp.Int('units',
min_value=32,
max_value=512,
step=32),
activation='relu'))
model.add(layers.Dense(10, activation='softmax'))
model.compile(
optimizer=keras.optimizers.Adam(
hp.Choice('learning_rate',
values=[1e-2, 1e-3, 1e-4])),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
return modelhttps://datascience.stackexchange.com/questions/92609
复制相似问题