感谢你阅读我的帖子。
我以前读过一些关于格式化/规范化神经网络输入数据的帖子,但找不到具体解决我的问题的东西。我为这篇长文道歉。
我正在尝试建立一个用于分析赛马数据的径向基函数网络。我意识到以前有人这样做过,但我拥有的数据是“特殊的”,我对赛车/体育博彩/编程有着浓厚的兴趣,所以我想试一试!
虽然我认为我理解RBFN本身的原则,但我在理解输入数据的归一化/格式化/缩放方面遇到了一些困难,以便以一种“合理的方式”呈现给网络,并且我不确定我应该如何制定输出目标值。
例如,在我的数据中,我查看了"Class change",它将马现在所在的比赛类别与之前的比赛进行比较,可以有一个介于-5和+5之间的值。我希望我需要将这些值重新调整为-1和+1之间(对吗?!),但我注意到更多的跑步者的类别更改为1,0或-1,所以我担心“过度表示”。不可能为更高/更低的类变化收集更多的数据,因为那只是“数据来的方式”。最好的做法是在缩放后按原样使用数据,还是应该修剪极值或其他什么?
同样,还有一些“连续”的输入--比如“自上次运行以来的天数”。它的值可以在1到1000之间,但10-40范围内的值占主导地位。我打算将这些值缩放到0到1之间,但即使在缩放之前修剪最极端的值,我仍然会有一个特定范围的巨大表示-这会给我带来问题吗?像这样的问题通常是如何处理的?
最后,我很难理解如何将训练的“目标”值呈现给网络。我现有的结果数据具有"win/lose“(0或1?)以及跑步者获胜或失败的赔率。如果我只是使用“赢/输”,它对待所有的赢和输都是一样的,而实际上他们不是-我会很高兴看到一个忽略了所有小赢家的网络,但从选择10-1的投篮中获得了很高的利润。同样,一个网络在20-1的投篮中“输”是可以原谅的,但在2/5的赌注中输掉将是一个糟糕的损失。我考虑让赢家的结果(+1 *赔率)和输家的结果(-1 /赔率)来捕捉上面的问题,但这将意味着我的结果不是一个连续的函数,因为在空价赢家和空价输家之间会有一个“间断”。
我是否应该有两个输出来覆盖这个问题-一个用于下注/不下注,另一个用于“赌注”?
对于大量的问题和冗长的帖子,我很抱歉,但这真的会帮助我走上正确的道路。
感谢任何人能为我提供的帮助!
致以亲切的问候,
保罗
发布于 2014-11-09 09:40:13
RBFN附带的文档是回答其中一些问题的一个很好的起点。修剪数据,也就是“钳位”或“窗口整理”是我用来处理类似数据的东西。例如,一匹马的“自上次跑步以来的天数”可以是从一天到几年的任何时间,但往往集中在20到30天的范围内。一些专家使用一个比方说63天的数字来表示一个“咒语”,所以你可以有一个指示变量,比如"> 63 =1或者0“。一条线索是查看异常值,比如任何变量的上限或下限5%,然后夹住这些值。如果你在任何地方使用赔率/股息,请确保使用概率,即1/(odds+1),一个有用的想法是将它们归一化为100%。赔率或实际价格往往会淹没其他预测者,因此一种技术是开发单独的模型,一个用于市场变量(市场模型),另一个用于非市场变量(通常称为“基本”模型)。
https://stackoverflow.com/questions/23238356
复制相似问题