作者laechan (小太保)
看板mud_sanc
标题Re: [闲聊] 类神经网路应用
时间Fri May 15 00:13:03 2009
类神经以後用在修改一些公式上会很常用, 我大致讲一下.
例如我用 hp, sp, pp 创造了一个暂定的战斗力公式 f, 而十个
玩家透过这个公式得到了各自的战斗力.
例如公式为: d = 100xhp + 50xsp + 30xpp
结果我们发现, 其中几个玩家的战斗力依上述公式算出来後,其
战斗力值「被低估」, 例如 baha 显示出来的是 500 万, 但我们
评估後, 认为 baha 的战斗力应该要有 600 才合理..
本来透过公式得到的数值 = 500 万
我们修改这个实际输出值→ 600 万
把几个玩家的战斗力依上面的概念调整後,原先的公式就不适用
了,那新的公式应该是什麽?
类神经网路教我们的,就是「不需要去为怎麽修改原公式而伤脑
筋,交给我就对了」,透过监督式学习的类神经网路,很容易就
能得到新的权重值,在这里我们假设...
初始权重值 W = [100 50 30];
最终权重值 W' = [103 47 32];
我们可以很轻易地解读为何 baha 的战斗力会被原公式低估..
hp 与 pp 所占的比重(权重)应该要更高(100->103, 30->32)
技能杀伤力的修改也是依同样的道理,例如火系法术的杀伤力假
设公式与 lv、mag、LEVEL 三个数值有关...
一、我一样可以定一个暂行公式,再做後续调整
二、或者我不定公式,直接先弄一个对照表如下...
lv mag LEVEL 杀伤值大概会是多少
1 100 20 1000 (新手击出的伤害)
5 500 60 10000
10 1000 100 50000
15 1500 120 100000
.
.
.
也就是我弄出一些 lv, mag 跟 LEVEL,然後主观判断在那
些 lv, mag 及 LEVEL 下产生的杀伤应该是多少,资料够多
时我就可以拿它们来产生我想要的类神经网路。
网路产生後存起来, 以後我只要去读取施展者的 lv, mag与
LEVEL,我就能透过网路得到输出值了。
由类神经网路运算得出的杀伤值,与使用固定公式得出的杀伤值
之不同,就在於後者跑出来的东西是死的,前者跑出来的东西却
会具有相当高的直觉性。
会这样的原因就在於它在训练时所用来调整权重的资料「本身就
具有直觉性」。
那如果还是发生不够直觉的情况呢?
假设我们用10笔我们觉得符合直觉性的资料,训练好我们要的网
路了,结果带入第11笔资料到这个网路时,跑出来的结果却不符
合直觉性时,该怎麽办呢?
例如第11笔资料带 highelf 的资料进去,得出来的战斗力 800
万,我们评估後觉得 highelf 的战斗力应该顶多 750 万....
调整方式:将 highelf 的资料以及 750 万这个数值, 连同之前
用来训练的十笔资料,混合起来变成 11 笔资料,然
後把这 11 笔资料「当做训练资料」,重新训练出新
的类神经网路。
由上面就可以看出,并不是网路训练好了就没事了,後续的持续
修正有时也是必要的,持续的修正才能让我们的网路可以有更精
准的产生结果。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.100.136
※ 编辑: laechan 来自: 118.170.100.136 (05/15 00:18)