Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TensorFlow-多个可能的标签_Python_Tensorflow_Machine Learning_Prediction - Fatal编程技术网

Python TensorFlow-多个可能的标签

Python TensorFlow-多个可能的标签,python,tensorflow,machine-learning,prediction,Python,Tensorflow,Machine Learning,Prediction,我正在创建一个Tic-Tac-Toe引擎,作为我的第一个机器学习项目。它的工作是预测每个职位的最佳变动。问题是,在某些情况下,可能会有几个“最佳举措”。因此,我想提供这些到TensorFlow的最佳移动,然后如果模型预测了其中任何一个,它将把它算作true/correct预测 我的问题是:这可能吗?如果是,如何实施?如果没有,是否有解决办法? 注意:我将TensorFlow与python3一起使用,这取决于您使用的模型,但一种解决方案可能是: 将每行的标签视为n^2维向量(在最常见的情况下,t

我正在创建一个Tic-Tac-Toe引擎,作为我的第一个
机器学习项目。它的工作是预测每个职位的最佳变动。问题是,在某些情况下,可能会有几个“最佳举措”。因此,我想提供这些到
TensorFlow
的最佳移动,然后如果模型预测了其中任何一个,它将把它算作true/correct预测

我的问题是:这可能吗?如果是,如何实施?如果没有,是否有解决办法?


注意:我将
TensorFlow
python3

一起使用,这取决于您使用的模型,但一种解决方案可能是:

  • 将每行的标签视为n^2维向量(在最常见的情况下,tic tac toe网格中的字段数为9,因为n为3),其中值1表示是否需要在该位置移动,否则为0,例如
    [0,0,0,0,0,0,0,1,0,1]
    可能表示理想的移动将位于网格的两个底角
  • 模型最后一层的输出可以通过sigmoid函数输入
  • 那么,在培训过程中丢失您的模型可能就是一个例子(关于这个主题的写作)。您不希望通过softmax函数提供输出,因为它将模型的输出值映射到概率,这些概率加起来等于一,因此假设只有一个最理想的标签
对于损失函数,您可以利用它,它是所有标签的二进制交叉熵的加权和(默认情况下)。如果你想深入了解细节的话,这是一个精确的定义(看看TensorFlow的源代码,了解它是如何工作的通常是很好的)


编辑:这里的假设是模型应该一次输出所有正确的动作,因此根据您想要实现的具体目标,这可能不是您所提到的模型预测任何正确标签的最佳解决方案。但它可能会引导您实现您的目标:)

取决于您使用的模型,但一种解决方案可能是:

  • 将每行的标签视为n^2维向量(在最常见的情况下,tic tac toe网格中的字段数为9,因为n为3),其中值1表示是否需要在该位置移动,否则为0,例如
    [0,0,0,0,0,0,0,1,0,1]
    可能表示理想的移动将位于网格的两个底角
  • 模型最后一层的输出可以通过sigmoid函数输入
  • 那么,在培训过程中丢失您的模型可能就是一个例子(关于这个主题的写作)。您不希望通过softmax函数提供输出,因为它将模型的输出值映射到概率,这些概率加起来等于一,因此假设只有一个最理想的标签
对于损失函数,您可以利用它,它是所有标签的二进制交叉熵的加权和(默认情况下)。如果你想深入了解细节的话,这是一个精确的定义(看看TensorFlow的源代码,了解它是如何工作的通常是很好的)

编辑:这里的假设是模型应该一次输出所有正确的动作,因此根据您想要实现的具体目标,这可能不是您所提到的模型预测任何正确标签的最佳解决方案。但也许它会引导你走向你的目标:)