创建一个张量,其中每个输入可以有多个答案

时间:2016-06-13 01:18:51

标签: tensorflow

我遇到输入X可以有多个正确答案的问题

X1 -> Y1
X1 -> Y2
X1 -> Y3
X2 -> Y2
X2 -> Y4
X3 -> Y1

这里X1有(Y1,Y2,Y3)作为标签,X2有(Y2,Y4)作为标签。

如果我们创建预测

的MLP
# tf Graph input                                                                                                    
x = tf.placeholder("float", [None, n_input])
y = tf.placeholder("float", [None, n_classes])

# Construct model                                                                                                   
pred = multilayer_perceptron(x, activation_fn, weights, biases, dbg)

# Define loss and optimizer                                                                                         
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(pred, y))

这里,成本函数是将X向量的模型预测与Y向量进行比较。

我正在检查模型是否可以为任何输入预测任何正确的标签。给定X1,如果模型预测(Y1或Y2或Y3),我很好。我怎样才能为此构建问题?

1 个答案:

答案 0 :(得分:0)

我认为拥有多个标签,例如X1 -> Y1, X1 -> Y2可能会损害您的模型。如果任何正确的标签没问题,那么只需使用一个标签作为输入要素:X1->Y1

如果您没有太多标签,您可以考虑将它们组合在一起:

Z1: Y1, Y2, Y3 
Z2: Y2, Y4

然后,您只能输入一个标签:

X1-> Z1
X2-> Z2