kingzone 2020-06-27
一个比较高质量的参考语雀网站 https://www.yuque.com/angsweet/machine-learning/jian-jie
线代高数概率论
高数,微积分,线代,概率论,运筹学(优化)
微积分、线性代数、概率与统计、矩阵和数值分析、优化方法
线代,微积分,概率论,数理统计,一些算法思想的数学基础
微积分,线性代数,概率与统计,最优化方法 建议读5~6遍,哈哈
这是基础,高等点做研究的,需要学习 random data,
概率论贝叶斯,微积分泰勒公式,泛函分析,pca,实变函数等等
理解线代,概率与统计,凸优化
基本上就可以完成一个机器学习项目了
如果你的目标是成为一位偏工程的engineer,那么其实数学基础没有那么重要;如果你的目标是成为一位优秀的AI Researcher,也希望将来在企业做研发的工作,那我想扎实的数学能力是必要的。但是不管是上述哪两个position,对于基本的学习算法的理论都是需要牢固掌握的,需要能够做到遇到问题,分析问题并且用相应的方式去解决问题。LZ在实验室里做研究,那么初期其实要求没有那么高,没有必要去刻意补充大量数学课,我个人觉得直接学习对应的机器学习/深度学习课程就好,这儿网上有很多有用的课程资源,比如CS224n,CS231,李宏毅机器学习等。认真坚持下来,在videos和slides学理论,在assignments中学习实践,我想慢慢就适应了这个学习过程!后面,直接研读你相应领域的文献即可,在不断复现论文的过程中试错、思考与成长!
需要,甚至可以说机器学习就是某种意义上的应用数学。与传统数学教育不同的是,从小学到高中之前学的数学都是偏向计算,更多的是确定性思维。机器学习则偏向于概率统计,更多的是不确定性思维。为什么说机器学习就是数学呢?针对具体问题场景,机器学习通常会根据概率统计进行建模,比如二分类问题天然符合伯努利分布,多分类问题符合多项分布,回归问题符合高斯分布,如果要预测可数数值问题可以用泊松分布进行建模等等。建立好模型之后,我们就需要求解模型参数,这时候就有点估计,区间估计之分。在点估计场景中,常用的方法有最大似然估计,最大后验估计等。这就是为什么机器学习一言不合就开始最大似然估计的原因,传统模型都是在做由因推果的事情。但是在很多实际场景中,我们是先知道结果,然后去反推出各种原因的概率。这时候,贝叶斯公式就起到了关键作用。所以,通常面对这样的问题场景,都会使用贝叶斯公式或者贝叶斯估计就行建模。一般,贝叶斯公式会搭配最大后验参数估计使用。机器学习把概率和图结合起来组成概率图模型,进一步提升了模型的描述能力。典型代表是:有向图中的贝叶斯网络,无向图中的马尔科夫条件随机场等。概率图模型中还有受限玻尔兹曼机等,在就越来越像机器学习的另一个分支深度学习。机器学习的另一个强大的分支——深度学习,深度学习的理论模型很简单,就是多层感知机。单个感知机算法其实很笨,几乎算是机器学习中当兵作战能力最弱的算法了,但是,多层感知机就完全不一样了。在辛顿大神没有把反向传播算法完善之前,多层感知机算法可谓是命途多舛,险些把深度学习扼杀在摇篮之中。反向传播算法形式上也不难,学过微积分大学数学的都不陌生。正是由这些简单的零部件组合出了这个惊世骇俗的神兵利器。深度学习之所以是机器学习的一个分支就在于,深度学习并没有脱离机器学习的思想范畴,仍是建立模型,求解模型参数,利用模型进行预测这一套流程。最大的区别是深度学习可以做到端到端的训练,机器学习中的特征工程部分自动由模型完成。深度学习强大的特征提取能力是它风光无限的法宝,典型代表是 CNN 卷积神经网络。如果深究的话,特征提取器——卷积核就是某种“滤波器”,这在数学或信号与系统中都有相应的理论支撑。写得很乱,想到哪儿就写到哪儿了。总之,机器学习不夸张的说就是数学。但是,此数学非彼数学。我们都接受过了十几年的数学教育,但是我们接受的传统数学教育,都过于关注确定性计算问题。这么多年的数学教育并没有给我们带来思维层面的提升,甚至现在日常生活中的计算问题都交给了计算器,我们更加感受不到数学的重要性。或许人类并不擅长计算,所以上帝才会派图灵,冯·诺依曼等大神送来了计算机。传统的确定性数学将会逐步交给计算机接管,这些重复机械性的工作都交给计算机。以牛顿为代表的经典物理学派为啥被以爱因斯坦,冯·诺依曼为代表的近现代物理学派击败。主要原因是他们选用的理论工具不一样,牛顿可谓是确定性思维的巅峰,其传世之作《自然哲学的数学原理》足以证明他的雄心勃勃,类似的还有“麦克斯韦妖”。但是,这个世界就是不会按照任何一个人的意愿去运转。以爱因斯坦为代表的近现代物理学家们扔掉了破旧的工具,换上了概率统计,矩阵等这些强大的新时代理论工具。如果说“彼数学”是传统数学的话,那么“此数学”就是以集合论图论,概率统计,矩阵线性代数,微积分为代表的高等数学。图论,概率统计用来建立模型,张量用来存储数据,矩阵用来描述操作,微积分用来求解模型等等。从这个角度来看,机器学习可不就是数学吗?
研究的话,像搞优化理论的,涉及到变分推断的,随机过程的,等等,这些数学要求就会大于本科的那几门大家都要学的数学课。其他方向的话,学好微积分,线性代数,概率论勉强够用。搞cv,nlp的如果不是很硬核的话也不用学太多。然后是像ICML, NIPS, AAAI, IJCAI这些会议的数学要求比较高。具体到某个应用的会议,比如cvpr,eccv等,理论部分要求会低一些。文科转的话,可能基础那几门还要好好再学学,打牢基础。其实未来去向如果是工业界搞开发,以你现在的情况,会编程,能快速实现算法最重要。
原回答:不需要,我就会点高数线代概率论
我学的是数学专业,现在在做算法工作,数学内容很多,从头打数学基础需要花费大量时间,人工智能用的多的其实主要是数学分析、高等代数、概率论以及数值分析这几门课程的知识点,现用现学最好了,遇到不懂的概念和知识点,再去查,慢慢就都会了。研究室没这么多时间让你去拿出时间打数学基础,每天有很多工作,需要阅读很多论文,汇报论文进度。
我认为不需要,任何基于兴趣的入门都不是把全套理论学透了才开始干。我是先学的机器学习,然后惊叹于她逻辑的的精巧,爱上了机器学习,后来自己探索才发现,这些点其实是数学。所以我认为数学是机器学习的灵魂,但我们不需要完整扎实的理论才能去做。
如果是应用,可以先学会实现,现成的应该不难,很多东西都是做着做着才学会,也有可能你都做完了,做过很多遍就懂了。一些基本的数学概念还是要的。。。
如果是搞机器学习基础算法研发的,这就不用问了,想来你应该不会搞这个
数学很重要!数学可以说是目前一切学科发展的基础。机器学习算法很在程度上都是用数学公式推导出来的,所以不会数学是不行的。当然我们在用机器学习算法时候,如果只是调参的话,确实用不到数学,在实际工作中,很多机器学习工程师都是依靠经验来做的,真正依靠数学的不多。工业界很多机器学习任务都是利用现有的理论模型和框架进行修改调整来完成的,并不需要特别深的数学功底,只要你能把别人的论文进行复现,能够达到非常不错的预期效果。在学术界数学公式是必须的,写论文没有数学公式做依据,得出结论总让人感觉不靠谱,学术界更侧重于创新,写论文时候基本要求都有创新这一点,必须得有一定的创新,否则就难毕业,或者投稿难中。看你是想往那方面发展了,其实也不必专门去拿一本数学书一直看,为避免本末倒置,还是可以先学习机器学习,在学习过程中遇到了哪些公式不理解,专门去寻找资料,在实际应用中学习数学能够达到更好的效果,专门学习数学可能数学还没学完就放弃了,或者渐渐忘记学数学的目的。
最低的要求,微积分,线代,概率论
往上还有统计,优化,博弈论
需要,感觉学学高数,概率论,线代也就一个多月吧,主要是把公式推推。
机器学习是一个多学科交杂的领域,涉及概率论、统计学、计算机、算法等,对于数学需要一定基础,比如在选择哪种算法,要考虑模型复杂度、参数选择、特征选择,估计参数的置信区间等等,都需要数学理论基础来解答。机器学习这个方向要做好是需要扎实的理论来实现,但是如果要入门机器学习不需要对数学有很大的恐惧,干中学也是一个方法,用到哪些理论深入学习,多做复盘,慢慢完善个人的理论体系,简言之,要做好是一定需要扎实的基础的。
处。