神经网络输入和输出数据格式

时间:2014-04-23 08:03:20

标签: input normalization scaling radial

感谢您阅读我的帖子。

我已经阅读过一些关于格式化/规范化神经网络输入数据的帖子,但找不到具体解决我的查询的内容。我为长篇大论道歉。

我正在尝试建立一个用于分析赛马数据的径向基函数网络。我意识到这已经完成了,但我所拥有的数据是“特殊的”,我对赛车/体育比赛/编程非常感兴趣,所以我想给它一个机会!

虽然我认为我理解RBFN本身的原理,但我在理解输入数据的规范化/格式化/缩放时遇到了一些麻烦,因此它以一种“明智的方式”呈现给网络,而我不是确定我应该如何制定输出目标值。

例如,在我的数据中,我看一下“班级变化”,它比较了现在跑马的种族与之前的种族相比,并且可以具有-5到+5之间的值。我希望我需要将它们重新缩放到-1和+1之间(对吗?!),但我注意到更多的跑步者的班级变化为1,0或-1比任何其他值,所以我担心“过度表达”。不可能为更高/更低的类更改收集更多数据,因为这只是“数据的来源”。是否最好在缩放后按原样使用数据,或者我应该修剪极值还是其他什么?

同样,还有“连续”输入 - 比如“自上次运行以来的天数”。它可以具有1到大约1000之间的值,但是10-40范围内的值占主导地位。我打算将这些值缩放到0到1之间,但即使我在缩放之前修剪了最极端的值,我仍然会对某个范围进行大量表示 - 这是否会导致我出现问题?通常如何处理这样的问题?

最后,我无法理解如何向网络提供培训的“目标”值。我现有的结果数据有“输赢”(0或1?)以及跑步者赢或输的几率。如果我只是使用“赢/输”,那么当它们真的没有时,它会对所有的胜利和失败都有所了解 - 我会对一个忽略所有小赢家的网络感到高兴,但是从挑选10-1的射门中获利很高。同样,一个网络可以原谅20-1射门“输球”,但输掉2/5的赌注将是一个不好的损失。我考虑为胜利者获得结果(+1 *赔率)和(-1 /赔率)让失败者捕捉上述问题,但这意味着我的结果不是连续函数,因为会出现“不连续”在短期价格赢家和短期价格输家之间。

我是否应该有两个输出来覆盖这个 - 一个用于下注/不下注,另一个用于“赌注”?

我很抱歉大量的问题和长篇文章,但这确实有助于我走上正轨。

感谢任何人都能给我的帮助!

亲切的问候,

1 个答案:

答案 0 :(得分:1)

RBFN附带的文档是回答其中一些问题的良好起点。 修剪数据又称"夹紧"或者" winsorizing"是我用于类似数据的东西。例如"自上次运行以来的日子"因为马可以是从一天到几年的任何东西,但往往集中在20到30天的区域。一些专家使用63天的数字来表示"拼写"所以你可以有一个指示变量,如"> 63 = 1其他0"例如。一个线索是看异常值表示任何变量的上限或下限5%并将其钳制。 如果你在任何地方使用赔率/红利,请确保你使用概率,即1 /(赔率+ 1),一个有用的想法是将这些概率归一化到100%。 赔率或参数价格倾向于淹没其他预测因素,因此一种技术是开发单独的模型,一种用于市场变量(市场模型),另一种用于非市场变量(通常称为"基本模型) )。