未来 3~5 年内，哪个方向的机器学习人才最紧缺？
我在学术圈和工业界都有过一些经验，讲讲我的看法。 我认为大部分机器学习从业者不需要过度的把时间精力放在数学上，而该用于熟悉不同算法的应用场景和掌握一些调参技巧。好的数学基础可以使你的模型简洁高效，但绝非必要的先决条件。原因如下： 1. 即使你有了一定的数学功底，还是不知道怎么调参或者进行优化。这话说的虽然有点自暴自弃，但扪心自问在座的各位，当你发现accuracy不好、loss很高、模型已经overfitting了，你唰唰唰列列公式玩玩矩阵就知道问题出在哪里了吗？不一定。诚然，懂得更多的统计原理可以帮助推测问题出在了哪里，你可能换了一个loss function或者加了新的regularizer，但结果不一定会更好:( 数学基础之于机器学习从业者很像debugger之于码农，它给了你方向，但不能保证你一定可以解决问题。那怎么能解决问题？只有经验经验经验，别无他法，有时候甚至靠的是直觉。数学基础是好的内功基础，但你调包调多了，其实也慢慢能抓到一些感觉，不必看不起“调包侠”。 2. 工业界可以应用的模型是很有限的，可调的参数也是有限的。工业界选择模型非常看重可解释性，效率，以及和整个系统的整合能力。举例，在我的工作中，大部分时间都在使用Regression和Decision Tree相关的算法（如 Random Forests）。是因为这两个算法最好么？不，恰恰是因为这两个算法稳定及高效，而且容易解释。对于这样的模型，你即使数学能力很强，能调整的参数也是有限的。根据网上的例子和经验，大量的工程师可以在数学基础稍弱的情况下做到很好的效果。 3. 数学/统计知识已经成了既得利益者刻意为外来者建立的一道壁垒。不知道大家有多少人是从事过ML研究的。我个人的观察是做出成绩的ML研究人员是有限的，科班出身的researcher更是远远无法工业界的空缺。所以大家没有必要担心会被转行者抢了饭碗，也没有必要刻意鼓吹一定要懂矩阵，凸优化，等数学知识才配做机器学习。大家都是出来卖的，不必互相为难。说来惭愧，在工作中我常常跟老板说这个人不能用，你要用我这种科班出身的人，但我内心是不赞同的。 每当我看到知乎上有人问机器学习怎么入门，结果大家立马推荐第一本就看PRML和Statistical Learning以及一大堆公开课和数学课的时候，我的内心是崩溃的。各位答主的目标是把所有人都吓回去还是秀一下优越感？ 4. 理论模型和实际应用分的是两块不同的蛋糕。承接第2,3点，做理论研究的发力于突破，提出新的模型或者优化方法，做应用的致力于把模型应用于数据上，攫取商业价值。这两者不存在利益冲突，做理论的人有自带正统光环的优势，所以更该显得大度一些。只有“调包”的人越来越多，这个行业才会繁荣，因为证明技术落了地，可以带来实际价值。 5. 行业的发展趋势是降低工具的使用难度，这让我们不必反复造轮子。亚马、逊谷歌、微软等各大平台都开放了他们的机器学习工具。以前人们还需要自己写各种模型，好一些的调一下sklearn，但现在Azure ML Studio已经方便到零代码了。年初的时候，我试了一下ML studio，简直方便的可怕，完全是图形拖动连接就可以建立模型，那一刻我仿似看到了自己即将失业。 6. 文艺一点说，我们需要更包容的心态，切勿文人相轻。想要接触了解一门学科，应该先有兴趣，才有探索的积极性。就像我们第一次看到Hello word出现的样子，很多刚入行的人第一次看到机器学习能解决实际问题时，会产生浓厚的兴趣。 我怕的就是所谓的圈内人都说你必须要会矩阵分解，必须要会用trace算导数，必须会优化，才能开始学习机器学习。这个周期太长，很多人连开始的勇气都没有~我觉得不管怎么样，要先动手做起来，发现自己的不足，再去补充需要的东西。 既然学术是自由的，我们就打开大门，欢迎大家都进来坐坐。如果他/她不喜欢，欢迎到隔壁串门。但我们不要给自己家门垒了高高的台阶，说闲人勿进。久而久之，难免门可罗雀。 综上，我觉得应用机器学习模型和技巧既不能完全不懂数学，两眼一抹黑，也不该要求每个从业者都要精通各种数学理论。模型应用者要长存对理论的敬畏之心，不要总想搞个大新闻说“机器学习也不过如此”，但做理论的也不必觉得高人一等，别人都是二等公民。