Neural-Networks

為什麼神經網絡需要特徵選擇/工程?

  • May 31, 2018

特別是在 kaggle 比賽的背景下,我注意到模型的性能完全取決於特徵選擇/工程。雖然我可以完全理解為什麼在處理更傳統/老式的 ML 算法時會出現這種情況,但我不明白為什麼在使用深度神經網絡時會出現這種情況。

引用深度學習的書:

深度學習通過引入用其他更簡單的表示表示的表示來解決表示學習中的這個核心問題。深度學習使計算機能夠從簡單的概念中構建複雜的概念。

因此,我一直認為,如果“信息存在於數據中”,那麼一個足夠深、參數化良好的神經網絡會在足夠的訓練時間下獲得正確的特徵。

  • 如果“足夠深”的網絡非常龐大,或者使模型訓練過於昂貴(AWS 費用加起來!)或者因為您需要在資源受限的環境中部署網絡,該怎麼辦?
  • 你怎麼能先驗地知道網絡參數化得很好?找到一個運行良好的網絡可能需要大量的實驗。
  • 如果您使用的數據對標準分析方法不“友好”,例如包含數千或數百萬位的二進製字符串,其中每個序列具有不同的長度,該怎麼辦?
  • 如果您對用戶級數據感興趣,但您被迫使用只收集事務級數據的數據庫怎麼辦?
  • 假設您的數據是整數形式,例如,你的任務是預測數字的總和,所以這個例子中的目標是. 將每個數字解析為數組然後對數組求和(“特徵工程”)非常簡單,但在其他方面具有挑戰性。

我們希望生活在一個數據分析是“交鑰匙”的世界中,但這類解決方案通常只存在於特殊情況下。許多工作都在開髮用於圖像分類的深度 CNN - 之前的工作有一個步驟,將每個圖像轉換為一個固定長度的向量。

特徵工程讓從業者直接將有關問題的知識轉換為適合前饋網絡的固定長度向量。特徵選擇可以解決包含太多不相關特徵而導致任何信號丟失的問題,並且可以顯著減少模型的參數數量。

引用自:https://stats.stackexchange.com/questions/349155

comments powered by Disqus