对输入数据进行正态化
为了使神经网络有效,我们必须对数据进行正态化。这是激活函数的正确计算所需要的。正态化是一种数学处理,将数据转换为 0..1 或 -1..1 的范围。正态化后的数据可以进行去正态化,即转换回原来的范围。
要将神经网络输出解码为人类可读的形式,需要对数据进行去正态化。谢天谢地,负责标准化和去标准化,因此不需要实施它。如果您对它的工作原理感到好奇,您可以分析以下代码:
public static double INPUT_LOW = -20;
public static double INPUT_HIGH = 20;
public static double OUTPUT_HIGH = 1;
public static double OUTPUT_LOW = -1;
public static double normalize(final double value) {
return ((value - INPUT_LOW) / (INPUT_HIGH - INPUT_LOW))
* (OUTPUT_HIGH - OUTPUT_LOW) + OUTPUT_LOW;
// return ((10f + 20f) / (40f)) * (2f) + OUTPUT_LOW;
}
public static double deNormalize(final double data) {
double result = ((INPUT_LOW - INPUT_HIGH) * data - OUTPUT_HIGH
* INPUT_LOW + INPUT_HIGH * OUTPUT_LOW)
/ (OUTPUT_LOW - OUTPUT_HIGH);
return result;
}
x=-5:.01:5;
plot(x,tanh(x)),grid on;
大盘预测
国富论
posted on 2016-05-11 18:27
华梦行 阅读(226)
评论(0) 编辑 收藏