结果与实验
模拟和数据流水线生成的条目中,每一行对应一场单独的 1 vs 1 单位对决。每个模型的训练量至少包含 10,000 场此类对决。我们报告了两个模型的结果:战斗结果模型和单位统计模型。为了评估性能,数据集被划分为 80% 的训练集和 20% 的测试集。在本节中,我们将介绍所做的实验以及开发过程中遇到的挑战。
首先,考虑到该模型不仅需要预测战斗的二元结果(胜/负),还需要预测单位统计数据,我们可以选择按顺序学习多个目标,或者同时学习所有目标。多任务学习是一种同时学习多个预测变量的方法,它利用共享表示来有望提升预测能力。然而,如表 2 所示,多任务模型并未产生更好的模型表示。顺序模型表现出了更优越的性能,其预测值与实际生命值百分比之间的平均偏差更低。因此,我们选择并实现了顺序模型。
其次,我们尝试了不同的特征工程技术来改进模型。例如:
对数据策划进行质量控制。
剔除仅持续几秒钟的战斗。
过滤掉同一战场上其他单位对决产生的任何干扰。
这些过滤措施提升了战斗结果模型和单位统计模型的预测准确度。例如,加入近战和远程分类使模型的精确度提升了 10%。
我们还对结果的**逆向预测性能进行了评估(如表 3 所示)。这意味着“单位 1 对阵单位 2”的结果应该与“单位 2 对阵单位 1”的结果完全相反。起初,仅使用游戏生成的原始数据时,逆向预测的平均准确率为 76%。当我们将逆向数据包含在原始数据中后,逆向预测的准确率得到了显著提升。
最后一项实验是在商用硬件(中端 CPU AMD Ryzen 7 3700X)上评估模型的性能。推断 150 场对决的平均耗时为 3.0871 毫秒,平均波动范围在 2.0650 毫秒到 4.8790 毫秒之间。
战斗结果模型
战斗结果模型的表现通过表 4 的混淆矩阵进行了展示。该模型在“胜利”和“失败”两个类别中表现出了均衡的预测准确性。在包含 5,894 个样本的测试集上,战斗结果模型实现了 92% 的总体准确率。
对于“失败”类:模型的精确度为 0.94,召回率为 0.91,F1 分数为 0.92,这表明模型在正确识别负面实例方面表现强劲,且误报极少。
对于“胜利”类:精确度为 0.91,召回率为 0.94,F1 分数为 0.92,反映了在检测正面案例方面的鲁棒敏感性。
模拟和数据流水线生成的条目中,每一行对应一场单独的 1 vs 1 单位对决。每个模型的训练量至少包含 10,000 场此类对决。我们报告了两个模型的结果:战斗结果模型和单位统计模型。为了评估性能,数据集被划分为 80% 的训练集和 20% 的测试集。在本节中,我们将介绍所做的实验以及开发过程中遇到的挑战。
首先,考虑到该模型不仅需要预测战斗的二元结果(胜/负),还需要预测单位统计数据,我们可以选择按顺序学习多个目标,或者同时学习所有目标。多任务学习是一种同时学习多个预测变量的方法,它利用共享表示来有望提升预测能力。然而,如表 2 所示,多任务模型并未产生更好的模型表示。顺序模型表现出了更优越的性能,其预测值与实际生命值百分比之间的平均偏差更低。因此,我们选择并实现了顺序模型。
其次,我们尝试了不同的特征工程技术来改进模型。例如:
对数据策划进行质量控制。
剔除仅持续几秒钟的战斗。
过滤掉同一战场上其他单位对决产生的任何干扰。
这些过滤措施提升了战斗结果模型和单位统计模型的预测准确度。例如,加入近战和远程分类使模型的精确度提升了 10%。
我们还对结果的**逆向预测性能进行了评估(如表 3 所示)。这意味着“单位 1 对阵单位 2”的结果应该与“单位 2 对阵单位 1”的结果完全相反。起初,仅使用游戏生成的原始数据时,逆向预测的平均准确率为 76%。当我们将逆向数据包含在原始数据中后,逆向预测的准确率得到了显著提升。
最后一项实验是在商用硬件(中端 CPU AMD Ryzen 7 3700X)上评估模型的性能。推断 150 场对决的平均耗时为 3.0871 毫秒,平均波动范围在 2.0650 毫秒到 4.8790 毫秒之间。
战斗结果模型
战斗结果模型的表现通过表 4 的混淆矩阵进行了展示。该模型在“胜利”和“失败”两个类别中表现出了均衡的预测准确性。在包含 5,894 个样本的测试集上,战斗结果模型实现了 92% 的总体准确率。
对于“失败”类:模型的精确度为 0.94,召回率为 0.91,F1 分数为 0.92,这表明模型在正确识别负面实例方面表现强劲,且误报极少。
对于“胜利”类:精确度为 0.91,召回率为 0.94,F1 分数为 0.92,反映了在检测正面案例方面的鲁棒敏感性。


















