我正在构建一个神经网络来分析企业的销售情况。我正在将所有输入值标准化为 range {0,1}。
我在星期几列中苦苦挣扎。工作日由一个范围内的数字标识{1-5}(1 = 星期一)。将这些值标准化为范围{0,1}很简单,但会导致最终输出出现重大偏差。
原因是工作日列的全部标准化值范围是用每周的数据探索的,而其他与价格相关的列很少探索它们的全部标准化值范围。
工作日列最终成为最终输出的最大贡献者。
我如何对其进行标准化以使其贡献与其他输入更加一致?
我正在构建一个神经网络来分析企业的销售情况。我正在将所有输入值标准化为 range {0,1}。
我在星期几列中苦苦挣扎。工作日由一个范围内的数字标识{1-5}(1 = 星期一)。将这些值标准化为范围{0,1}很简单,但会导致最终输出出现重大偏差。
原因是工作日列的全部标准化值范围是用每周的数据探索的,而其他与价格相关的列很少探索它们的全部标准化值范围。
工作日列最终成为最终输出的最大贡献者。
我如何对其进行标准化以使其贡献与其他输入更加一致?
您输入 NN 的其他变量可能根本不适合预测销售。销售预测是一个众所周知的难题。
特别是将多状态分类变量映射到 NN 的 {0,1} 输入范围的寻址:另一个想法是将一个 5 状态变量更改为五个布尔变量。不要在一个变量上使用 {0,0.25,0.5,0.75,1.0},而是让五个布尔变量中的每一个都代表一天,并使 [1,0,0,0,0] 等于星期一,[0,1, 0,0,0] 等于星期二等。我个人在训练良好的网络和在传播此类状态时内省网络本身方面取得了更大的成功。
您可以尝试的其他技巧:
* 将“day”列全部取出,看看是否使用了任何其他变量。
* 绘制作为一天函数的支出分布。即使这个当前模型没有其他任何东西,听起来你已经找到了一个有趣的见解。
* 也考虑尝试不同的模型。