資料筆數較較少是否可選擇採用深度學習類神經網路建模?
若資料屬數值型資料(大概3000~4000筆) 今天若要針對某一數值欄位目標進行預測 是否可採用類神經網路來建模預測呢? 若資料量太少,採用類神經網路建模是否會有問題? 如模型過於複雜等等會造成過擬合的問題是嗎? 通常建議資料量幾筆以上才建議採用類神經網路呢? 感謝各位專家的回覆~
回答列表
-
2022/03/16 下午 00:37王柏鈞贊同數:1不贊同數:0留言數:0
嗨你好, 我先假設你是在做一個典型的回歸問題,目標是建模後用資料來預測一個數值,並且資料欄位都是數值型資料。 那麼關於是否能用類神經網路來進行訓練,可能要從幾個層面來看: 1. 模型是否具備足夠能力對資料進行學習? >> 可以,如果你資料不是隨機產生的,通常一個簡單的DNN模型就可以實現過擬合,過擬合代表你的模型學習能力是夠的,但資料的多寡以及複雜度太低,影響了模型robust的能力。你可以透過資料切分來判斷是否過擬合。 2. 承上,你的模型是否能用在新的資料上 >> 不確定,你可以先確定你的資料是否服從相同分布,可以透過k-fold或Cross-validation或你根據你的領域知識來切分資料後進行測試,判斷你的模型是否在訓練和測試資料上都有不錯的表現。如果兩個資料都表現不錯,你的資料應該是具備代表性的,可以用這個模型來對新資料做測試。 3. 承上,如果在新資料上效果不好是為什麼? >> 我先假定你前面的測試都是公正且沒有謬誤,那你的新資料可能產生資料分布的偏移,你需要繼續優化你的模型或者找到偏移的原因,解決他。 另外關於少量資料的部分: 1. 如果經過上面的測試,你發現你的資料量確實不足以訓練出一個足敷使用的模型,那很遺憾,大多數可以在少量資料上研究的案例都是分類模型,metric learning等方法在深度學習中確實可以克服少量資料,但基本上是需要預訓練模型,並且他們是基於分類的任務才能夠實現不管是triplet loss或其他方法。也許你可以參考CART回歸樹的邏輯用SSE或其他指標強行將回歸任務變成分類任務再進行嘗試,但我目前沒看到相關研究。 2. 幾筆資料能夠讓你訓練一個好的模型? >> 這個基於資料複雜度、目標(任務)複雜度決定,如果你只是想預測鳶尾花資料集,大概100筆資料就夠用了(雖然那是分類任務)。但你想要做資料變異性很大,甚至會大程度受到沒包含資料集中的變數影響的問題,比如說股價、訂單,你的資料需要涵蓋足夠多的資訊,不然訓練出來也只是過擬合,沒有應用意義。訂單預測來說你大概有個3年以上的訂單資料也許會比較容易嘗試看看。但在這3年內就算你每分鐘收筆資料,絕大多數也只是冗餘的,那也沒有用。