文科生如何入门机器学习

文科生如何入门机器学习

作者 | Andrew Froehlich

AI技术变得越来越热门,很多人开始转行进入这一领域,其中当然也不乏文科生。他们在普遍缺乏大学数学知识的情况下,就不能入门机器学习了吗?

最近有位Reddit网友David Code,他也是一名文科生,曾经在脱口秀节目《周六夜现场》工作过。

后来他经过两年“地狱式”的自学,十几次的挫败,最终掌握了机器学习的知识,并把他的经验写成了一个长篇博客。

他说,长期以来编写AI书籍和在线课程的都是专家,而这些人因为专业而会忽视初学者的能力。他写的博客跳过了专业的部分,用尽量通俗幽默的方法来展现机器学习的入门知识。

知识是“算”出来的

学习AI之前,首先就要摒弃原来文科的学习方法。

在博客开头,David就告诫初学者,学习数学、计算机知识不像看小说,不要指望一次就能理解,可能需要反复阅读和推演5次才能看懂。

David说,当他学到比较难的内容时,总是会设置一个计时器,以提醒不要绝望、不要轻易言败,而是要保持微笑、耐心和坚持。

虽然David在文中使用类比、图片、示例等方法来传授知识,但是这篇文章在数学上也是严谨的。如果你没有立刻学会,不要轻易放弃。

理工科的知识从来不是“看”就能学会,更需要的是“算”。如果不进行练习,就无法学好博客中涉及的数学。

理解上的错误

全篇博客介绍了深度学习的4个基本概念:前馈、梯度下降、全局最小值、反向传播。文中都用尽量通俗地方法介绍了这些基本概念。例如用碗中的小球来比喻梯度下降,用详细到每一步地图解来介绍矩阵乘法。

文科生如何入门机器学习

博客作者David作为一名文科生,又是自学,难免会有理解上的错误。

有位网友就指出他文章中的一些错误,比如:

神经网络不是深度学习,相反,深度学习是指使用一种神经网络。
梯度下降不一定是朝着全局最小值发展,最终收敛到的可能是局部最小值。

文章中也缺乏一些重要概念的解释,如监督与无监督学习、过拟合与欠拟合、模型的选择和超参数的调整,等等。

但总体上来说,这篇博客仍不失为一篇优秀的文章,否则也不会在Reddit机器学习板块上一天就收获300赞了。

数学真的不重要吗

当然,David写博客的目的不是宣扬没有数学知识就能掌握机器学习。它只是一篇向文科生提供的入门通俗读物。

如果想要更深入的学习,可能还需要投入几百个小时的学习时间。无论你喜欢与否,都需要数学知识才能理解机器学习和统计数据,没有数学就无法学习机器学习。

很多其他网友在激烈的讨论中强调了以上几点,David本人也表示同意。

总之无论如何,微积分、线性代数、统计学都是学习深度学习的基础。或许你不需要太深入的了解,但是没有这些知识是万万不行的。系统地学习数学知识,能帮你更快入门深度学习。

文科生如何入门机器学习