來源:知乎
原文鏈接:深度學習系統相比較傳統的機器學習系統,針對常見的分類問題,精度究竟能有多大提升?
問題:
我現在手頭有一個binary classification的問題。數據量在一百萬左右。每個sample都是一個14個feature組成的vector。每個feature都是一個0~1的float數值。
我用random forest ;1000棵樹,grid search 調參數。10 fold validation 大概76% 左右的precision/recall .
我是一個機器學習的外行,但是比較好奇如果我用一些深度學習的系統,比方說TensorFlow,針對我描述的這種二項分類的問題,我能否期盼著會有一個準確度的顯著提升??如果可以有這樣的預期,一般大家都是怎么做的呢?
我手頭的機器就是一臺128G 32核的服務器。好像暫時沒有別的好機器了。夠用么?
我描述清楚了么? 懇請大家給予指導,謝謝!
我愛機器學習回答:
先分析下問題,100萬訓練數據14個特征,如果你的特征表征能力牛逼,數據偏差不大,機器學習書里面隨便挑個分類算法90%精度不在話下,但現在模型能力很強的隨機森林都只能到76%左右,那么肯定哪里出了問題,問題在哪里,看case是王道。當然這個問題中特征表征能力不夠可能性比較大,那接下來的事情就是特征工程,找什么樣的特征,依然是看case,看看badcase是因為缺失什么樣的特征導致,緊緊圍繞問題本身。
連續特征的二分類問題,除了數據本身和特征工程,模型方面GBDT系列應該是非常合適的選擇,這塊無需細說,翻翻Kaggle就知其厲害。
不要在當前階段跳出來尋覓炒上天的Deep Learning的幫助,Deep Learning確實足夠強大,但它有自己的適用場景,比如人臉識別/OCR之類的視覺應用,如果是這類應用,那就直接上Deep Learning就好。
那么二分類或者多分類的傳統機器學習問題(特征為整數/浮點數/枚舉等類型時)上,Deep Learning到底搞得過傳統機器學習算法不?答案依然是需要具體問題具體分析。
1. 有些問題,手寫規則足以秒殺一切,只要規則擊中要害就好;
2. 有些數據量非常大特征工程足夠細致時,模型的重要性變得相對次要,LR系列廣義線性模型足以滿足需求,比如廣告點擊預測很長時期都是LR/BPR/FTRL之類為主要模型,只是特征工程中可能廣泛用到LDA/Deep Learning等模型;
3. 當然還有些問題,比如判斷圖片是不是汽車的二分類問題,只要標注數據到位,Deep Learning可以本色出演了。