下面列举一下人工智能研究所需要的最基本的一些数学知识(我们假定读者至少已经具有了中学的数学基础): (1)基本的数值计算常识(牛顿法,二分法,线性回归和最小二乘,误差控制)。 (2)基本的微积分,高维函数的微积分(尤其是微分的部分)。 (3)基本的线性代数:向量和矩阵运算,矩阵求逆,相似矩阵,矩阵的特征值和特征向量,行列式等。 (4)期望,方差,协方差等基本概念。常见的概率分布,条件概率的链式法则,贝叶斯公式,极大似然估计。
有了上面这些基本的知识,至少就已经可以开始看一些教科书开始试试看了。当然,在学习的过程中,你讲会发现以下知识也应该是需要掌握的: (a)高维函数的微积分与线性代数的综合知识,Hessian 矩阵,Jacobian 矩阵,二次型等等。 (b)奇异值分解,矩阵的范数,一些特殊矩阵的性质等等。
(c)一些简单的与优化有关的知识。 (d)熟悉指数族概率分布函数,对概率分布函数的更多刻画:矩,熵,互信息,KL divergence 等等。 (e)模型抽象的一些方法,例如 EM 算法等等。
最后,还特别强调一点,这里说了上面这些知识并不是说有了这些知识就已经足够了,而是说有了这些知识我们就可以直接开始看一些相关的数据,开始学习机器学习有关的一些东西了,我的建议是只要有了一点点的数学知识就可以直接开始学习,在学习的过程中慢慢继续打牢基础,这样学习的效果也会更好一些。
数学:目前为止发现的最适合人工智能的最简易、最深刻的线性代数课程 麻省理工公开课:线性代数 http://open.163.com/special/opencourse/daishu.html
在人工智能上花一年时间,这足以让人相信上帝的存在。 ——艾伦·佩利
|