对于我正在开发的一款游戏,我决定使用神经网络进行角色威胁分析。当一个角色在游戏中发现另一个角色时,他们将使用一个神经网络来确定是否与该角色交战。它是一个三层前馈网络。
输入:
健康差异(myHP-enemyHP)
水平差
盟友对敌人计数(numAllies-numEnemies)
一个布尔变量,表示一个非常强大的敌人的存在
我的主要问题是关于输入和激活功能我已经实现了使用物流功能的网络。如何才能最好地规范化输入以适应函数?
例如,健康差异可能在1%到100%之间,而AS水平差异可能在-40到+40之间。

最佳答案

移动和缩放输入,使所有输入都在<0; 1>中。
如果您的输入x位于<a; b>中,并且希望它位于<0; 1>中,请执行以下操作:
减去a,我们就得到x - ax现在是非负的。
除以b - a,我们得到了(x - a) / (b - a)x现在位于中。
例子。让x=你的水平差输入最初是的。
减去-40,我们就可以得到。
除以80,我们进入。

10-04 21:59
查看更多