并感谢您阅读我的主题。
我已经阅读了一些关于格式化/规范化神经网络输入数据的先前帖子,但找不到专门解决我的查询的内容。我为长篇大论道歉。
我正在尝试建立一个径向基函数网络来分析赛马数据。我意识到这已经做过,但我拥有的数据是“特殊的”,我对赛车/体育博彩/编程有浓厚的兴趣,所以想试一试!
虽然我认为我了解 RBFN 本身的原理,但我在理解输入数据的规范化/格式化/缩放以便以“合理的方式”为网络呈现时遇到了一些麻烦,我不确定我是如何应制定输出目标值。
例如,在我的数据中,我查看了“Class change”,它将马现在正在参加的比赛类别与之前的比赛进行比较,并且可以具有介于 -5 和 +5 之间的值。我希望我需要将这些重新调整到 -1 和 +1 之间(对吗?!),但我注意到更多的跑步者有 1、0 或 -1 的类变化而不是任何其他值,所以我担心“过度代表”。不可能为更高/更低等级的变化收集更多数据,因为这只是“数据来的方式”。最好在缩放后按原样使用数据,还是应该修剪极值或其他什么?
同样,也有“连续”输入——例如“自上次运行以来的天数”。它的值可以在 1 到大约 1000 之间,但在 10-40 范围内的值占主导地位。我打算将这些值缩放到 0 和 1 之间,但即使我在缩放之前修剪了最极端的值,我仍然会有一个特定范围的巨大表示 - 这会给我带来问题吗?此类问题通常如何处理?
最后,我无法理解如何向网络呈现训练的“目标”值。我现有的结果数据有“赢/输”(0 还是 1?)以及跑步者赢或输的几率。如果我只使用“赢/输”,它会处理所有赢和输,而实际上并非如此 - 我会对一个忽略所有小赢家但从选择 10-1 投篮中获得高利润的网络感到非常满意. 类似地,网络在 20-1 击球时“输掉”是可以原谅的,但在 2/5 下输掉赌注将是一个糟糕的损失。我考虑为获胜者制作结果(+1 * 赔率),为失败者制作(-1 / 赔率)以解决上述问题,但这意味着我的结果不是连续函数,因为会有“不连续性”空头赢家和空头输家之间。
我是否应该有两个输出来解决这个问题——一个用于下注/不下注,另一个用于“赌注”?
对于大量的问题和冗长的帖子,我感到很抱歉,但这真的会帮助我走上正确的轨道。
感谢您为任何人提供的任何帮助!
亲切的问候,
保罗