對輸入數據進行正態化
為了使神經網絡有效,我們必須對數據進行正態化。這是激活函數的正確計算所需要的。正態化是一種數學處理,將數據轉換為 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
華夢行 閱讀(233)
評論(0) 編輯 收藏