各种机器学习算法的应用场景分别是什么?
各种机器学习算法的应用场景分别是什么?
篱笆资讯
各种机器学习算法的应用场景分别是什么?
有一个著名的“没有免费的午餐”定理 :

简单来说就是如果算法一在问题A上比算法二好,那必然存在另一个问题B,在问题B上算法二比算法一好。换句话说,不存在一个算法可以在所有情况下都比另一个算法好。虽然有着这个定理,但是在实际工业界,并不是所有算法都会同等被对待。

有些算法有着极为广阔的应用场景,而有些算法则基本很少出现,并不完全取决于该算法是不是最合适当下的应用场景。

比如贝叶斯算法,它的准确与否依赖于数据是否满足其核心假设:数据集属性之间是相互独立的。但是在实际生活中,很少很少有满足这样假设的应用场景。这就导致在工业界,很少能看到朴素贝叶的身影。

又比如支持向量机SVM,虽然理论上它在高维空间可以有好的效果(因为其复杂性取决于支持向量的数目,而不是样本空间的维数),但是它往往要求类与类时间有着明确的决策边界(clear margin of separation)。而实际应用场景中的数据往往非常复杂,SVM的要求往往难以满足。同时SVM的训练速度在大数据集上也堪忧,这进一步限制着它的应用场景。

在工业界,目前各个应用场景中最主流的模型,基本都是和深度学相关的。很多组都会选择用一个最简单的FNN神经网络或者基于树的模型作为baseline,然后接着开发更为复杂的模型。比如NLP相关的场景就会开始开发基于Transformer的模型,而推荐系统领域也有各种著名的深度神经网络变种。

有些人提到神经网络的缺点是慢,但是实际上正常大小的FNN对于目前的硬件来说已经不是什么问题,甚至对于端边设备(手机)来说运行它们都没有任何压力。对于数据量很大的场景来说,要达到同样的准确度NN的训练速度甚至会快于很多传统模型比如SVM。只一些相对较大的模型比如BERT,才会有一定的计算速度压力。

那是不是传统模型或者非深度的模型就一点用武之地都没有呢?其实也不然。

比如逻辑回归,虽然模型简单,但是它是很多推荐系统做Calibration的主流方式(Platt’s scaling)。又比如很多基于树的模型(Boosting Machine/Random Forest),因为其很好的可解释性,它在很多对于模型解释性要求很高的应用场景,比如风控,依然有着一定的用武之地。同时因为树的天然特性,很多特征选择或者特征融合的工作也是基于树来完成的。再比如随机条件场Conditional random fields (CRFs) ,虽然是相对早期的技术,但是在部分NLP的任务中,比如Tagging相关的任务中,仍然有着一定作用。

希望以上分享对你有所帮助。

coffee 直连行业大牛导师,1v1模拟面试与求职指导
mentors
airplay 实战与求职精品课程
数据科学
软件工程
人工智能
金融商科
产品经理
产品设计
bookmark 2000+名企面试真题
amazon google tiktok microsoft meta