近几年来,机器学习、深度学习、人工智能已经受到了越来越多的关注。业界的巨头们(IBM、google、Microsoft等)也推出了各自的开源机器学习/深度学习框架,例如Scikit、Caffe、Theano、TensorFlow、Apache MLlib等等(这里我没有将机器学习于深度学习详细区别开来,严格的讲,深度学习是机器学习领域中的一个子方向)。使得应用这些领域最新技术的门槛越来越低,方便了很多非计算机领域的工程师们,在自己的领域中使用机器学习软件或框架。但是,在学习这些软件或者框架时,总是被各种数学概念所困扰。所以,不禁要问,想要了解机器学习算法,究竟需要掌握多少数学知识?
事实上,对数学的了解程度,完全取决于你对机器学习知识所要掌握的深度。如果只是将现成的软件拿来用,那么大学专科毕业就可以做到了。如果你需要选择那个算法、框架适合你当前任务的需要,并且需要知道调整算法中某个参数的值,那么大学 本科学习过线性代数、概率统计等课程就够了。以此类推,如果你还要理解机器学习的算法原理,并且能够修改算法,以更好适应任务的需要,那么就需要很系统的学习多个数学方向的知识了。
本文就一般情况,大致罗列了机器学习领域所需要掌握的数学知识的范围。至于对其了解的深入程度,如上述,就需要根据自己情况决定了。并且,下面介绍时的先后顺序也代表了其重要性。
一、线性代数(Linear Algebra&#x