神經網絡 - 二進制與離散/連續輸入
是否有任何充分的理由讓二進制值 (0/1) 優於離散或連續的歸一化值,例如 (1;3),作為所有輸入節點(有或沒有反向傳播)的前饋網絡的輸入?
當然,我只是在談論可以轉換為任何一種形式的輸入;例如,當您有一個可以取多個值的變量時,要么直接將它們作為一個輸入節點的值提供,要么為每個離散值形成一個二進制節點。並且假設所有輸入節點的可能值範圍都是相同的。有關這兩種可能性的示例,請參見圖片。
在研究這個話題時,我找不到任何冷酷的事實;在我看來,這 - 或多或少 - 最終總是“反複試驗”。當然,每個離散輸入值的二進制節點意味著更多的輸入層節點(因此更多的隱藏層節點),但它真的會比在一個節點中具有相同的值產生更好的輸出分類嗎?隱藏層?
您是否同意這只是“試試看”,還是您對此有其他看法?
是否將輸入變量轉換為二進制取決於輸入變量。您可以將神經網絡輸入視為一種“強度”:即,輸入變量的值越大,表示該輸入變量的強度越大。畢竟,假設網絡只有一個輸入,網絡的給定隱藏節點將學習一些功能 $ f(wx + b) $ . 在哪裡 $ f $ 是傳遞函數(例如 sigmoid)和 $ x $ 輸入變量。
此設置對分類變量沒有意義。如果類別由數字表示,則應用該功能沒有意義 $ f(wx + b) $ 給他們。例如,假設您的輸入變量代表動物,綿羊=1 和牛=2。將羊乘以是沒有意義的 $ w $ 並添加 $ b $ 對它來說,牛總是比羊大也沒有意義。在這種情況下,您應該將離散編碼轉換為二進制 1-of- $ k $ 編碼。
對於實值變量,只需將它們保留為實值(但歸一化輸入)。例如,假設您有兩個輸入變量,一個是動物,一個是動物的溫度。您會將動物轉換為 1-of- $ k $ , 在哪裡 $ k $ =動物的數量,你會保持原樣的溫度。