前言:
现时看官们对“n元算法的应用”大致比较关心,咱们都想要了解一些“n元算法的应用”的相关资讯。那么小编同时在网络上网罗了一些对于“n元算法的应用””的相关文章,希望你们能喜欢,我们一起来学习一下吧!前面讲了树模型和深度学习模型(NN-神经网络)模型在表格离散数据特征建模上的处理方式,以及离散特征和连续特征结合的问题,今天不讲具体树模型以及NN 算法原理问题,具体会对比聊一下树模型和NN 算法在使用上各自的优势以及缺点。
在实际日常的工作实践中,总结出了如下10条经验:
1.Embedding 学习,NN 模型可以实现表达学习,相比树模型比较单一的 target encoding 等手段来说,可以实现更加丰富的类别特征提取。而且这些 embedding 还可以应用于其它场景任务,例如相似度计算召回,或者像TabNet里应用于自监督学习等。
2. 灵活的 loss 设计,在业务上有时会出现一些复杂的优化目标,或者是多任务优化,这时候 NN 的 loss 设计就会方便很多,而树模型一般需要写 custom loss 进行一些近似操作等,效果上可能会不如 NN 来的直接。
3. 多模态,当输入数据包括文本,图像等非结构化数据时,NN 的模型结构能比较方便的引入这些多模态数据进行联合建模优化,树模型的话就只能先利用 NN 的表达学习来提取特征,再进行二阶段的训练,pipeline 会更加复杂。
4. 在线/增量学习,NN 模型的增量学习非常的自然,而树模型虽然也有一些方法支持(比如 lgb 的 update 和 refit),但从模型机制上来说就不太适合应用这类方法。同样 transfer learning 之类的感觉也很难在树模型上实现。
5. 分布式训练,由于深度学习的流行,在大规模的数据量和模型参数情况下进行分布式训练也成为了一个热门研究方向,所以这方面 NN 模型框架积累的经验和方法目前来看要比树模型丰富很多,尤其GPU 加速方向上。
6. 巨量参数下的表达能力,NN 模型随着参数的加大,表现出ChatGPT 类似的强大能力已经是被证明的事实。
7. 当然树模型存在的一个大的优势是可以迅速构建起机器学习问题的一个baseline 流程,较成熟的xgboost,lightGBM包算法,在数据特征重要性,促进对建模数据分布等认识上可以迅速构建起一个流程,NN 算法设计较为复杂。
8. 树模型具备更强的解释性,一般能输出决策的过程, 深度学习模型一般是个黑盒,不好解释。
9. 树模型相比深度学习模型对噪声数据的抗干扰能力更强。
10. 终极问题:什么情况下,表格数据集建模上,深度学习模型优于树模型? 这个问题在kaggle 比赛中,树模型和深度学习模型各有胜负,笔者基于经验,发现树模型在特征重要性较为集中的数据集上往往表现较好,但是在数据特征重要性分布较为分散的数据集上,深度学习模型性能较好。
标签: #n元算法的应用