我已经阅读了有关该主题的几个答案,但仍然有疑问。.有很多数学课程,但我不知道该选哪个课程。每个计算机科学家都应该参加哪些数学课程?哪个班应该是第一班,为什么?
Answers:
非常重要的问题!对数学的良好理解对于每位计算机科学家都是必不可少的,并且数学要求开始变得越来越多样化。
也就是说,如果有机器学习课程的入门课程,它们可能会涵盖足够的线性代数和其他您可以通过基本概率课程获得的知识。但是,对于计算机科学的研究生学习来说,对以上所有数学领域的充分理解是必不可少的。
除本科数学外,高级数学课程还对计算机科学的某些理论领域(例如与经济相交的算法博弈论)有用,尤其是在超越机器学习从业者的范围内开发新算法。这些课程包括:
真正的分析,包括测度理论,您将发现,如果您对概率和微积分的研究时间足够长,它们将再次收敛。通常,在开始使用涉及数字的算法时,要了解分析是很有用的。
优化包括线性优化,凸优化,梯度下降等。在许多情况下,“学习”机器学习模型基本上可以归结为优化目标函数,并且该函数的属性(例如是否凸)会对优化的难易程度产生很大影响。
数值方法:某些人本质上不会认为这是数学课,但是在将算法和理论转换为不完美的浮点数学表示法时,有许多实际问题需要解决。例如,log-sum-exp技巧。
对于那些将要进入“数据科学”和相关领域的人来说,高级统计尤其是因果推理非常重要。有很多事情要知道,主要是因为可以访问很多数据,这对于初学者来说很容易引起这个问题。