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

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

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

原因如下:

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研习社

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-10-31 17:01:10

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

Pedro Domingos深度解析机器学习五大流派中主算法精髓

本文联合编译:Blake, 高斐 Pedro Domingos是华盛顿大学计算机科学与工程学教授,也是国际机器学习协会的联合创始人之一.他曾在IST Lisbon获得电子工程和计算科学的硕士学位,在加州大学Irvine分校获得信息与计算科学博士学位.而后在IST作为助理教授工作了两年,于1999年加入华盛顿大学.他还是SIGKDD创新奖获得者(数据科学领域中最高奖项),也是AAAI Fellow之一.雷锋网(公众号:雷锋网)注:本文是Pedro Domingos在Google所作的机器学习演讲内

机器学习(二)--- 分类算法详解

感觉狼厂有些把机器学习和数据挖掘神话了,机器学习.数据挖掘的能力其实是有边界的.机器学习.数据挖掘永远是给大公司的业务锦上添花的东西,它可以帮助公司赚更多的钱,却不能帮助公司在与其他公司的竞争中取得领先优势,所以小公司招聘数据挖掘/机器学习不是为了装逼就是在自寻死路.可是相比Java和C++语言开发来说,机器学习/数据挖掘确实是新一些老人占的坑少一些,而且可以经常接触一些新的东西.还是赶紧再次抓住机会集中的再总结一下吧,不能再拖拖拉拉了.  其实数据挖掘的主要任务是分类.聚类.关联分析.预测.时

实际应用-为什么很多算法需要证明???

问题描述 为什么很多算法需要证明??? 很多算法需要用复杂的数学公式证明,基于这一点,算法被证明的是什么?在实际应用中不是能实现该特定的功能不就可以吗?为什么还有证明? 解决方案 就算功能实现也有优劣之别,同样材料可以制造出优质品,也可以制造垃圾品(可耻的浪费),数学公式是前人智慧结晶,学习和使用公式能提高质优和效率,就像名言"站在科学巨人肩上"

《Excel高手捷径:一招鲜,吃遍天》一第31招 Excel 文件有很多页,如何每页都打印标题行

第31招 Excel 文件有很多页,如何每页都打印标题行 Excel高手捷径:一招鲜,吃遍天当打印一个工作表的时候可能需要多页纸,就在每页显示标题行,如何操作呢?单击菜单"页面布局"下面的"打印标题",设置要打印的标题,如图1-123.图1-124所示.

机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)

版权声明:    本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言:    上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machine learning公开课,在verycd可下载,可惜没有翻译.不过还是可以看.另外一个是prml-pattern r

看。。。很多算法问题都能找到它的现实原型

昨晚在家看 "南洋十大邪术",又发现徐锦江了,果然是在情色片中起家的,起兴处...被以前学校的一个小师弟抖屏搅了...悲剧! 由于金三银四的好时期,小师弟也跑去找工作了,也就碰到了各种各样的面试题,然后也就引出了今天的这篇博文,就是:如何产生1-100 之间的100个不重复的随机数,不过这里还好,在携程面试.net是没有笔试的:-)        如果这是你是第一次看到这个题目,也许你的想法有很多.   1:首先从原始数组中随机选择一个数字,然后将该数字从数组中剔除,再随记选,再剔除,

数学-智能算法,中的参数设置问题

问题描述 智能算法,中的参数设置问题 粒子群算法中的参数怎么设置,有没有数学理论,是否要根据你的实验数据 解决方案 http://doc.mbalib.com/view/bc9add9d4108091eba446a9d0b3a787a.html 解决方案二: 关于EXECryptor参数设置的问题

PHP中简单实现数学组合算法

公式 有时候也表示成: c(n,m)=p(n,m)/m!=n!/((n-m)!*m!) 2性质 c(n,m)=c(n,n-m); 3递推公式 c(n,m)=c(n-1,m-1)+c(n-1,m) 等式左边表示从n个元素中选取m个元素,而等式右边表示这一个过程的另一种实现方法:任意选择n中的某个备选元素为特殊元素,从n中选m个元素可以由此特殊元素的分成两类情况,即m个被选择元素包含了特殊元素和m个被选择元素不包含该特殊元素.  代码如下 复制代码 <?php //实现数学上的组合数算法 heade

现在一直在学习算法,但对很多算法都不明白:比如动态规划,回朔算法,蚂蚁算法等,学习这些到底要到什么样的程度?

问题描述 最后能说下简单的列子说明一下上面的算法,我也在网上查了些资料,特别是动态规划,感觉就理解不了 解决方案 解决方案二:理解不了没关系,5年以后,如果你还在不断进步的话,你会回过头来看这些问题的.现在,你可以先别管里面的细节,先将书上的例子和后面的习题全看一遍,记住哪些问题用哪种算法解决即可.以后碰上了,你的脑子如同索引一样,带领你回来看问题.解决方案三:反正我啥也没理解..用的时候看看书看看人家的例子行不?解决方案四:正在学习算法中