威胁分析的神经网络

时间:2015-07-04 14:29:21

标签: algorithm neural-network

对于我正在开发的游戏,我决定使用神经网络进行角色威胁分析。当角色发现游戏中的另一个角色时,他们将使用神经网络来确定是否参与该角色。它是一个3层前馈网络。

输入:

  • 健康差异(myHP - enemyHP)
  • 等级差异
  • 盟友与敌人的数量(numAllies - numEnemies)
  • 表示存在强敌的布尔变量

我的主要问题是关于输入和激活功能。我已经实现了网络以使用逻辑功能。我如何才能最好地将输入标准化以适应该功能?

例如,健康差异可以在1%至100%的范围内,其中水平差异可以是-40至+40。

2 个答案:

答案 0 :(得分:0)

移动并缩放输入,使其全部位于<0; 1>

如果您的输入x位于<a; b>,并且您希望它位于<0; 1>,请执行以下操作:

  1. 减去a,因此我们有x - ax现在是非负面的。
  2. 除以b - a,我们有(x - a) / (b - a)x现在位于&lt; 0; 1 GT;
  3. 实施例。设x =您的等级差异输入。它在&lt; -40; 40 GT;原来。

    1. 减去-40,我们降落在&lt; 0; 80 GT;
    2. 除以80,我们降落在&lt; 0; 1 GT;

答案 1 :(得分:0)

为什么不将所有值转换为[0; 1]间隔? 例如,要查找健康规范化功能,您需要查找ab,例如

a * 0.01 + b = 0
a * 1 + b= 1

捐赠:a=1/0.99 and b=-0.01/0.99

级别差异相同:您正在寻找cd,例如:

c * (-40) + d = 0
c * 40 + d = 1

等等......

对于每个变量,您的翻译函数的格式为a*x+b,其中ab如上所示。