logo
Loading...

如何根據目標選擇機器學習模型? - Cupoy

在確定設定的目標後,要如果選擇機器學習模型(應該用回歸,樹狀,還是神經網絡)進行訓練?

ml100-3

如何根據目標選擇機器學習模型?

2019/08/10 下午 03:15
機器學習共學討論版
Warren Wong
觀看數:167
回答數:3
收藏數:0
ml100-3

在確定設定的目標後,要如果選擇機器學習模型(應該用回歸,樹狀,還是神經網絡)進行訓練?

回答列表

  • 2019/08/11 上午 01:05
    Seanyu.TW
    贊同數:5
    不贊同數:0
    留言數:1

    Hi,

    這其實沒有標準答案。原則上來說會依照不同類型來決定要用哪種模型,比如圖像型的問題 (如圖像分類、追蹤、偵測、分割等) 或是語音訊號處理,那毫無疑問會採用 NN。如果是結構化資料,則我會優先考慮 SVM、Xgboost 等方法,經驗上來說這類型的問題 NN 不一定有優勢,不過如果時間與資源許可,搭建一個簡單的多層 MLP 嘗試也是可以。

  • 2019/08/11 下午 08:10
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:0

    這邊兩派意見:


    1. 根據資料選擇適合的模型,例如資料量大維度多可能會用神經網絡、資料間數值居多可能用回歸 ... scikit-learn 有給一張圖:



    2. 全部的模型都跑過一次,再根據結果來優化

  • 2019/08/13 上午 11:40
    陳明佑 (Ming You Chen)
    贊同數:2
    不贊同數:0
    留言數:0

    Q. 即是先要經驗來選擇那類模型,再以評估結果來決定那種模型最適合?


    Ans. 概念上是這樣沒錯,  

    以我的競賽的經驗來說, 會分成四大種預設套餐

    除了看題目是回歸或分類, 最主要還是要看資料量多寡

    像 SVM / KNN 這類模型, 資料一多根本算不動....資料多時幾乎都是樹狀的天下

    而 Xgb / Lgb 這些模型, 在資料量極端少(比如幾百筆)時, 效果反而比較差

    所以大致上來說

    資料少時, 就用 : 線性(邏輯斯回歸) + SVM/KNN

    資料多時, 就用 : 線性(邏輯斯回歸) + 樹狀 + 少量NN


    但上面是指競賽而言, 如果是專題, 就會有更多情況

    要先了解特徵與目標值的比例 / 適合深度還是非深度學習 / 有沒有適合的算法(例如物件偵測)

    總的來說實務上很難一概而論, 要 case by case 看