[英]Neural network inputs transformation
我試圖用以下數據實現神經網絡。 我已經決定將輸出變量轉換為0-1並使用邏輯激活函數。 問題是如何轉換輸入變量? 我已經讀過,通常我們將它們轉換為0/1或-1/1,並使用logistic或tanh隱藏注釋轉換功能。 但是我讀到一些將輸入數據轉換為虛擬變量的信息。 (1,2,3)甚至根本不變形。 我有點不知道該怎么做。 關於此問題的第二個問題是如何選擇隱藏節點激活功能,這是基於數據轉換嗎?
謝謝你S.
Age Salary Mortrate Clientrate Savrate PartialPrate
[1,] 62 2381.140 0.047 7.05 3.1 0
[2,] 52 1777.970 0.047 6.10 3.1 0
[3,] 53 2701.210 0.047 6.40 3.1 0
[4,] 52 4039.460 0.047 7.00 3.1 0
[5,] 56 602.240 0.047 6.20 3.1 0
[6,] 43 2951.090 0.047 6.80 3.1 0
[7,] 49 4648.860 0.047 7.50 3.1 0
[8,] 44 3304.110 0.047 7.10 3.1 0
[9,] 56 1300.000 0.047 6.10 3.1 0
[10,] 50 1761.440 0.047 6.95 3.1 0
[11,] 63 1365.660 0.047 6.40 3.1 0
[12,] 51 986.530 0.047 6.40 3.1 0
[13,] 81 0.000 0.047 8.10 3.1 0
[14,] 64 0.000 0.047 5.80 3.1 697
[15,] 73 0.000 0.047 6.90 3.1 197
[16,] 56 226.890 0.047 5.15 3.1 750
[17,] 51 2576.645 0.047 3.70 3.1 8207
[18,] 66 3246.710 0.047 4.30 3.1 4
[19,] 66 3105.950 0.047 4.50 3.1 2998
[20,] 64 114.950 0.047 6.60 3.1 500
[21,] 84 1468.030 0.047 4.30 3.1 5000
[22,] 55 2616.510 0.047 4.70 3.1 3629
[23,] 71 3189.680 0.047 5.90 3.1 5445
您可以參考這個龐大而龐大的神經網絡知識庫:
ftp://ftp.sas.com/pub/neural/FAQ.html
理論上不需要歸一化,因為可以通過其他輸入權重值來實現。 但是在實踐中,這是一個好主意-否則在學習過程中,您可能會偶然發現神經元權重的算術溢出。 范圍[0; 1]是否比[-1; 1]更好?這是一個棘手的問題,需要深入分析數據集和學習算法。
將輸入向量轉換為平均值為零且標准偏差為1的方法通常是個好主意。 這適用於統計分類器和反向傳播神經網絡。 它有助於使要素空間中的簇的形狀更均勻(接近於n維球體)。 話雖這么說,多層神經網絡中的學習過程應該適應輸入范圍的變化,所以這不是一個大問題。 您必須對多層網絡使用非線性(通常為S型)激活函數,否則它將變為等效於單個層,並且不會學習類之間的復雜邊界形狀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.