对于我正在开发的游戏,我决定使用神经网络进行角色威胁分析。当角色发现游戏中的另一个角色时,他们将使用神经网络来确定是否参与该角色。它是一个3层前馈网络。
输入:
我的主要问题是关于输入和激活功能。我已经实现了网络以使用逻辑功能。我如何才能最好地将输入标准化以适应该功能?
例如,健康差异可以在1%至100%的范围内,其中水平差异可以是-40至+40。
答案 0 :(得分:0)
移动并缩放输入,使其全部位于<0; 1>
。
如果您的输入x
位于<a; b>
,并且您希望它位于<0; 1>
,请执行以下操作:
a
,因此我们有x - a
。 x
现在是非负面的。b - a
,我们有(x - a) / (b - a)
。 x
现在位于&lt; 0; 1 GT; 实施例。设x
=您的等级差异输入。它在&lt; -40; 40 GT;原来。
答案 1 :(得分:0)
为什么不将所有值转换为[0; 1]间隔?
例如,要查找健康规范化功能,您需要查找a
和b
,例如
a * 0.01 + b = 0
a * 1 + b= 1
捐赠:a=1/0.99 and b=-0.01/0.99
级别差异相同:您正在寻找c
和d
,例如:
c * (-40) + d = 0
c * 40 + d = 1
等等......
对于每个变量,您的翻译函数的格式为a*x+b
,其中a
和b
如上所示。