如何看待「机器学习不需要数学,很多算法封装好了,调个包就行」这种说法?

简介: 既然学术是自由的,我们就打开大门,欢迎大家都进来坐坐。如果他 / 她不喜欢,欢迎到隔壁串门。但我们不要给自己家门垒了高高的台阶,说闲人勿进。久而久之,难免门可罗雀。

不抖机灵,想从接触过机器学习学术圈但已投身工业界的角度来回答。

我认为:大部分机器学习从业者不需要过度的把时间精力放在数学上,而该用于熟悉不同算法的应用场景和掌握一些调参技巧。好的数学基础可以使你的模型简洁高效,但绝非必要的先决条件。

原因如下:

1. 即使你有了一定的数学功底,还是不知道怎么调参或者进行优化。

这话说的虽然有点自暴自弃,但扪心自问在座的各位,当你发现 accuracy 不好、loss 很高、模型已经 overfitting 了,你唰唰唰列列公式玩玩矩阵就知道问题出在哪里了吗?不一定。诚然,懂得更多的统计原理可以帮助推测问题出在了哪里,你可能换了一个 loss function 或者加了新的 regularizer,但结果不一定会更好 :(

数学基础之于机器学习从业者很像 debugger 之于码农,它给了你方向,但不能保证你一定可以解决问题。那怎么能解决问题?只有经验经验经验,别无他法,有时候甚至靠的是直觉。数学基础是好的内功基础,但你调包调多了,其实也慢慢能抓到一些感觉,不必看不起 “调包侠”。

2. 工业界可以应用的模型是很有限的,可调的参数也是有限的。

工业界选择模型非常看重可解释性,效率,以及和整个系统的整合能力。举例,在我的工作中,大部分时间都在使用 Regression 和 Decision Tree 相关的算法(如 Random Forests)。是因为这两个算法最好么?不,恰恰是因为这两个算法稳定及高效,而且容易解释。对于这样的模型,你即使数学能力很强,能调整的参数也是有限的。根据网上的例子和经验,大量的工程师可以在数学基础稍弱的情况下做到很好的效果。

3. 数学 / 统计知识已经成了既得利益者刻意为外来者建立的一道壁垒。

不知道大家有多少人是从事过 ML 研究的。我个人的观察是做出成绩的 ML 研究人员是有限的,科班出身的 researcher 更是远远无法工业界的空缺。所以大家没有必要担心会被转行者抢了饭碗,也没有必要刻意鼓吹一定要懂矩阵,凸优化,等数学知识才配做机器学习。大家都是出来卖的,不必互相为难。说来惭愧,在工作中我常常跟老板说这个人不能用,你要用我这种科班出身的人,但我内心是不赞同的。

每当我看到知乎上有人问机器学习怎么入门,结果大家立马推荐第一本就看 PRML 和 Statitical Learning 以及一大堆公开课和数学课的时候,我的内心是崩溃的。各位答主的目标是把所有人都吓回去还是秀一下优越感?

4. 理论模型和实际应用分的是两块不同的蛋糕。

承接第 2,3 点,做理论研究的发力于突破,提出新的模型或者优化方法,做应用的致力于把模型应用于数据上,攫取商业价值。这两者不存在利益冲突,做理论的人有自带正统光环的优势,所以更该显得大度一些。只有 “调包” 的人越来越多,这个行业才会繁荣,因为证明技术落了地,可以带来实际价值。

5. 行业的发展趋势是降低工具的使用难度,这让我们不必反复造轮子。

亚马、逊谷歌、微软等各大平台都开放了他们的机器学习工具。以前人们还需要自己写各种模型,好一些的调一下 sklearn,但现在 Azure ML Studio 已经方便到零代码了。年初的时候,我试了一下 ML studio,简直方便的可怕,完全是图形拖动连接就可以建立模型,那一刻我仿似看到了自己即将失业。

6. 文艺一点说,我们需要更包容的心态,切勿文人相轻。

想要接触了解一门学科,应该先有兴趣,才有探索的积极性。就像我们第一次看到 Hello word 出现的样子,很多刚入行的人第一次看到机器学习能解决实际问题时,会产生浓厚的兴趣。

我怕的就是所谓的圈内人都说你必须要会矩阵分解,必须要会用 trace 算导数,必须会优化,才能开始学习机器学习。这个周期太长,很多人连开始的勇气都没有~ 我觉得不管怎么样,要先动手做起来,发现自己的不足,再去补充需要的东西。

既然学术是自由的,我们就打开大门,欢迎大家都进来坐坐。如果他 / 她不喜欢,欢迎到隔壁串门。但我们不要给自己家门垒了高高的台阶,说闲人勿进。久而久之,难免门可罗雀。

综上,我觉得应用机器学习模型和技巧既不能完全不懂数学,两眼一抹黑,也不该要求每个从业者都要精通各种数学理论。模型应用者要长存对理论的敬畏之心,不要总想搞个大新闻说 “机器学习也不过如此”,但做理论的也不必觉得高人一等,别人都是二等公民。

好了,不多说了,我去调包了 (滑稽)



本文作者:AI研习社
本文转自雷锋网禁止二次转载, 原文链接
目录
相关文章
|
2天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的支持向量机(SVM)算法
【5月更文挑战第6天】在数据科学和人工智能的广阔天地中,支持向量机(SVM)以其强大的分类能力与理论深度成为机器学习领域中的一个闪亮的星。本文将深入探讨SVM的核心原理、关键特性以及实际应用案例,为读者提供一个清晰的视角来理解这一高级算法,并展示如何利用SVM解决实际问题。
21 7
|
2天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的支持向量机算法
【5月更文挑战第6天】 在数据科学和人工智能领域,支持向量机(SVM)是一种强大的监督学习模型,它凭借其出色的分类能力在众多机器学习任务中占据重要地位。本文旨在深入剖析支持向量机的工作原理,探讨其在高维数据处理中的优势以及面对大规模数据集时的应对策略。通过对核技巧、软间隔以及优化问题的讨论,我们将揭示SVM如何优雅地处理线性不可分问题,并保持模型的泛化性能。
|
6天前
|
机器学习/深度学习 自然语言处理 算法
机器学习算法原理与应用:深入探索与实战
【5月更文挑战第2天】本文深入探讨机器学习算法原理,包括监督学习(如线性回归、SVM、神经网络)、非监督学习(聚类、PCA)和强化学习。通过案例展示了机器学习在图像识别(CNN)、自然语言处理(RNN/LSTM)和推荐系统(协同过滤)的应用。随着技术发展,机器学习正广泛影响各领域,但也带来隐私和算法偏见问题,需关注解决。
|
8天前
|
机器学习/深度学习 运维 算法
【Python机器学习专栏】异常检测算法在Python中的实践
【4月更文挑战第30天】本文介绍了异常检测的重要性和在不同领域的应用,如欺诈检测和网络安全。文章概述了四种常见异常检测算法:基于统计、距离、密度和模型的方法。在Python实践中,使用scikit-learn库展示了如何实现这些算法,包括正态分布拟合、K-means聚类、局部异常因子(LOF)和孤立森林(Isolation Forest)。通过计算概率密度、距离、LOF值和数据点的平均路径长度来识别异常值。
|
8天前
|
机器学习/深度学习 数据可视化 算法
【Python机器学习专栏】t-SNE算法在数据可视化中的应用
【4月更文挑战第30天】t-SNE算法是用于高维数据可视化的非线性降维技术,通过最小化Kullback-Leibler散度在低维空间保持数据点间关系。其特点包括:高维到二维/三维映射、保留局部结构、无需预定义簇数量,但计算成本高。Python中可使用`scikit-learn`的`TSNE`类实现,结合`matplotlib`进行可视化。尽管计算昂贵,t-SNE在揭示复杂数据集结构上极具价值。
|
8天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】关联规则学习:Apriori算法详解
【4月更文挑战第30天】Apriori算法是一种用于关联规则学习的经典算法,尤其适用于购物篮分析,以发现商品间的购买关联。该算法基于支持度和置信度指标,通过迭代生成频繁项集并提取满足阈值的规则。Python中可借助mlxtend库实现Apriori,例如处理购物篮数据,设置支持度和置信度阈值,找出相关规则。
|
8天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】层次聚类算法的原理与应用
【4月更文挑战第30天】层次聚类是数据挖掘中的聚类技术,无需预设簇数量,能生成数据的层次结构。分为凝聚(自下而上)和分裂(自上而下)两类,常用凝聚层次聚类有最短/最长距离、群集平均和Ward方法。优点是自动确定簇数、提供层次结构,适合小到中型数据集;缺点是计算成本高、过程不可逆且对异常值敏感。在Python中可使用`scipy.cluster.hierarchy`进行实现。尽管有局限,层次聚类仍是各领域强大的分析工具。
|
2月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
|
1月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
2月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
30 1