随笔-295  评论-26  文章-1  trackbacks-0

对输入数据进行正态化

 

为了使神经网络有效,我们必须对数据进行正态化。这是激活函数的正确计算所需要的。正态化是一种数学处理,将数据转换为 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 华梦行 阅读(219) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: