我需要通过for循环创建多个密集层,迭代次数取决于标签数。我想为每个标签创建一个密集层。每个标签具有一组不同的特征,因此我想分别预测每个标签以及每个密集层中的对应特征集。那可能吗?以下代码是我的尝试。
layers = []
for i in range(num_labels):
h1 = Dense(num_genes_per+10, kernel_initializer='normal', input_dim = num_genes_per, activation='relu')(inputs)
h2 = Dense(int(num_genes_per/2), kernel_initializer='normal', activation='relu')(h1)
output= Dense(1, kernel_initializer='normal', activation='linear')(h2)
layers.append(output)
merged_output = concatenate(layers, axis=1)
model = Model(inputs, merged_output)
每个h2的输出将具有形状[batch,1],并且merged_output将具有形状[batch,num_labels]。上面的代码有错误吗?
我知道效率不高,但是如果我将一组不同的特征连接到一个输入张量中,并且仅使用一个密集层来同时预测所有标签,这会损害预测准确性吗?
答案 0 :(得分:0)
这取决于您定义特征和标签的方式。如果使用特征1、2和3来预测标签1,并且它们与标签2没有关系,则将其包含在标签3推断中就没有意义。