深度学习系统相比较传统的机器学习系统,针对常见的分类问题,精度究竟能有多大提升?
来源:知乎
原文链接:深度学习系统相比较传统的机器学习系统,针对常见的分类问题,精度究竟能有多大提升?
问题:
我现在手头有一个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可以本色出演了。