第一个原因,也是业界最常提起的,就是解释性。我这几年都在做AI风控,但监管要求我们的决策要可解释性,例如你得清晰的解释清楚,某个客户的信用分为啥是这个分数,或者说,为啥你觉得这个客户高风险而另一个客户低风险?而我们曾经尝试深度学习,解释性很难搞,而且,效果也不咋地。对于风控场景,数据清洗是非常重要的事,否则只会是garbage in garge out。
第二个原因,深度学习算法很难理解业务。有的人会说,为啥要理解业务呢,让深度学习算法自己来理解不行吗?也许有的情况在结构化数据(例如dataframe)上用深度学习有点效果,但在多数情况下,对这些数据应用深度学习模型很有可能会造成严重的过拟合。
第三个原因,成本。即使我一把梭用深度学习模型还取得了不错的效果,但成本呢?传统机器学习模型两分钟就能跑出95分的模型,你深度学习模型两个小时跑个96分的模型,为了这一分而多用两个小时时间成本,值得吗?有的算法的使用场景是经不起等待的。不是所有厂都是大厂,对于多数小厂来说,能用就行了。
事实上,传统机器学习模型在促进深度学习算法发展方面,也是有着神奇的作用。
例如去年提出的MLP-Mixer[1],一个专门基于多层感知器(MLPs)的架构。让很多人都没想到,都2021年了,还有人在模型用MLP,而且效果还不差。
当然,MLP(多层感知机)本身算不算传统机器学习算法呢?这个还是有争议的,从提出时间(80年代中期)和资源消耗上,MLP似乎比现在流行的深度学习模型差得远,算是传统机器学习;但从解释性等方面考虑,又算是深度学习模型。不过有的时候,传统机器学习和深度学习模型也并不是泾渭分明的,它们存在交集。
当然,如果你觉得MLP-Mixer说服力不够,还可以看看R-CNN网络[2],RCNN将前边的神经网络用作特征提取,最后一层接个SVM作为分类器。
事实上,除了RCNN,也有很多研究是在深度网络最后一层接一个传统机器学习模型的,甚至在kaggle比赛中,很多玩家也会自制混合模型,就是深度学习模型+SVM/LR等
算力充沛,深度学习模型大行其道的今天,传统机器学习的未来在哪里?在于落地,在于促进深度学习发展。传统机器学习更贴近业务,解释性更强,能应用于有监管要求的领域;同时,也可以应用在深度学习模型的架构上,焕发新的生命力。