我正在尝试一种多类分类方法来解决tic tac toe问题。 我正在使用回归分类器来解决tic tac toe的单一步骤。为简单起见,计算机或分类器将永远是第二个玩家。我正在使用这样的数据集训练分类器。这是每次移动的预期输出和相应的特征向量。
y - X
2 - 0 0 0 | 0 X 0 | 0 0 0 # pay for 'O' at 2th location
1 - 0 0 O | 0 X 0 | 0 X 0 # pay for 'O' at 1st location
...
我已经分发了每个功能' O'或者' X'二进制3位编码。
0 => 0 0 1
O => 0 1 0
X => 1 0 0
我正在尝试100行数据集,它给我72%的准确率!但似乎没有更多的数据改善。 或者我应该以不同的方式表示特征向量?
修改:在上面的示例中澄清y值。 第一个例子。董事会成员:人类的第一步。
0 0 0
0 X 0
0 0 0
现在2 ==> 1D阵列的第二个索引。这将是一个很好的举动。 同样,下一个例子,1表示=>董事会一维代表的第一个职位。
答案 0 :(得分:0)
我希望如果您将输出表示从0-8转换为一个热编码,您可能会得到更好的结果。这就是说,你将有9个输出节点,每个节点对应一个板上位置。你不是说y = 2,而是说:
y = [0 0 1 0 0 0 0 0 0 0]
在分类或评估时,选择具有最高值的节点作为预测移动。
另一个建议是,由于此状态空间很小,您希望耗尽所有可能的状态,并为每个状态生成y
的目标标签。这是为了提供更多的训练样例(如@sascha所述)。
第三个建议是:您可能希望独立使用9个逻辑节点作为输出,因为这实际上是多标签问题。也就是说,在某些情况下,多个地点同样好。
最后一个建议是:电路板对称,因此您可以使用此属性来减少状态空间。