查看原文
其他

ML&DEV[11] | ML中的数学学习

机智的叉烧 CS的陋室 2022-08-08

【ML&DEV】


这是大家没有看过的船新栏目!ML表示机器学习,DEV表示开发,本专栏旨在为大家分享作为算法工程师的工作,机器学习生态下的有关模型方法和技术,从数据生产到模型部署维护监控全流程,预备知识、理论、技术、经验等都会涉及,近期内容以入门线路为主,敬请期待!


往期回顾:

作为一名数学系出身做算法的同学,其实已经不止一次和大家谈到这个问题了,依然有很多人问到这方面的问题。这篇文章会汇总我之前写过的文章、和回答过的答案都汇总一下,在文章最下方,大家可以根据需求看一下,下面还是想抽几个关键问题来谈一下。

文末我会把所有我的文章都放出来。

为什么要学数学

数学是算法的上限,你对数学的熟练程度决定了你对模型的理解程度,你对模型的理解程度决定了你是否能够更好地在现实问题中选择和使用模型,甚至是自己建模,而并非遇事就model.fit()、model.predict()完事,一上来这么做结果好尚且可以,但是在出了问题之后如何改进和修正,这就非常考验大家的理解能力了。

来举几个例子吧,文本分类大家都很简单能想到基本的机器学习,fasttext之类的,高级点textcnn甚至更高级的bert都能处理,尤其是效果特别好的bert,但是问题就在于,当你的文本分类模型效果不好的时候,如何分析case,当你发现了bert效果不好的时候,你如何做调整,这要求你理解模型,理解数据,才有可能改的动,否则你还是只会train和predict。理解bert本身尚且需要较好的数学理论,但是分析case本身,只是一个常识和理解问题,很多人其实都没掌握到,这是最可悲的。

韩愈的《马说》讨论了识马的重要性,模型也是如此,每个模型都有自己擅长的东西,CNN的局部重点信息抽取,RNN的序列相关性,attention的重点信息抽取,等等,有了这些先验信息能让你在解决问题的时候不用集中精力在实验上,因为你的先验信息可以帮你筛掉那些基本不会work的方案,至少这点,就已经突出了,你需要数学知识,甚至只是尝试的重要性。

有关为什么这件事,我就聊到这了,这点而言,不接受反驳,觉得有毛病的,咱们走着瞧。

补充一下,很多人可能不是不想学数学或者认为,只是因为数学学不会或者用工不足导致的抗拒想绕过,人之常情,但是尽快意识到,自己能迎难而上,或者就此转行即可,仇恨和恐惧本身是不能直接为你带来正面的决策和激励作用的。

学数学要学啥

要学什么内容,这点本身是由先决条件的——你打算用数学来做什么,这点决定了你要学什么东西。

和很多学科一样,数学是有很多方向的,数论、调和、统计、概率、微分方程、控制等等,细分还有更多更多,不再赘述。所以开始想提升数学之前,首先要确定你想要用数学干什么事情。

一般的,要做理工类的工作,高数、线代、概率统计是必备的,这三门学完基本就入门了,除非你是数学系要深究那些东西,否则其实后续你学起来就比较轻松,不需要单独花时间补数学,而是边学学到难点再来补充背景知识即可。

所以一句话,在学完高数、线代、概率统计后,后续基本不会有太难的东西,根据需求来学习就可,不需要单独花时间补了。

具体的机器学习要学啥,见文末。

怎么学

有关这块,我已经写过了,此处不赘述,学习方法和思路什么的我总结好文章给大家。见文章总结。

文章总结

  • ML&DEV[1] | 机器学习数学基础入门线路

  • 做算法?数学专业的我教你突破数学关

  • 知乎:大学高数需要几个脑子。https://www.zhihu.com/question/347511444/answer/882440753

  • 知乎:有什么深度学习数学基础书推荐。https://www.zhihu.com/question/41459109/answer/772000373

  • 知乎:本科数学,以后想入机器学习,研究生应该继续学数学还是转cs?https://www.zhihu.com/question/299045046/answer/669935443

  • 知乎:信息与计算科学大一学生如何学习数据挖掘?https://www.zhihu.com/question/319491994/answer/647577687

  • 知乎:信息与计算科学大一学生如何学习数据挖掘?https://www.zhihu.com/question/313806238/answer/632434884



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存