人工智能(应用数学)需要大量的数学知识
需要学习哪些数学知识:
- 微积分——主要需要微分
- 线性代数
- 概率论——参数估计
- 最优化
一、微积分
在机器学习中,微积分主要用到微分部分,作用是求函数的极值,就是很多机器学习库中的求解器(solver)所实现的功能,在机器学习中用的微积分的知识点:
- 导数和偏导数(多元函数)的定义与计算方法
- 梯度向量的定义(向量求导求出来的叫梯度)
- 极值定理,可导函数在极值点处导数或梯度为0
- 雅克比矩阵:这是向量到向量映射函数的偏导数构成的矩阵,在求导推导中会用到——会涉及线性代数
- Hession矩阵:这是2阶导数对多元函数的推广,与函数的极值有密切的联系
- 凸函数的定义与判断方法
- 泰勒展开公式⭐
- 多元函数的极值判定法则⭐
- 拉格朗日乘数法,用于求解带等式约束的极值问题
注:其中最核心的是多元函数的泰勒展开公式,根据它我们可以推导出机器学习中常用的梯度下降法、牛顿法、拟牛顿法等一系列最优化方法。微积分中会用到大量线性代数的知识
二、线性代数
注:一维数组是向量,二维数组是矩阵,多维数组是张量
机器学习中几乎所有的地方都在使用线性代数,具体使用到的知识点有:
- 向量及其各种运算,包括加法、减法、数乘、转置、内积(dot)
- 向量和矩阵的范数:L1范数 和 L2范数
- 矩阵及其各种运算,包括加法、减法、乘法、数乘
- 逆矩阵的定义及性质
- 行列式的定义及其计算方法
- 二次型的定义
- 矩阵的正定性(决定函数是凸函数还是凹函数)
- 矩阵的特征值和特征向量
- 矩阵的的奇异值分解SVD⭐
- 常用的矩阵和向量的求导公式⭐
- 线性方程组的数值解法,尤其是共轭梯度法
注:机器学习算法处理的数据一般都是向量、矩阵或者张量。经典的机器学习算法输入的数据都是特征向量。深度学习算法在处理图像时输入的2维的矩阵和3维度的张量(Tensor,也即多维数组)
三、概率论
如果把机器学习所处理的样本数据看作随机变量/向量,我们就可以用概率论的观点对问题进行建模,这代表了机器学习中很大一类方法,在机器学习领域用到的概率论知识点主要有:
- 随机事件的概念,概率的定义与计算方法
- 随机变量和概率分布,尤其是连续性随机变量的概率密度函数和分布函数
- 随机变量的期望和方差
- 条件概率和贝叶斯公式
- 常用的概率分布:包括正态分布、伯努利二项分布、均匀分布
- 正态分布——会推出线性回归 (Linear Regression),主要用来做回归问题
- 二项伯努利分布——会推出逻辑回归(Logistic Regression),主要用来处理分类问题
- 随机向量(联合概率密度函数等)
- 随机变量的均值和方差、协方差
- 随机变量的独立性
- 最大似然估计
四、最优化
注:涉及凸优化和非线性规划
1、凸优化
2、拉格朗日对偶
3、KTT条件
五、算法与数学知识
神经网络(ANN)、卷积神经网络(CNN)、循环神经网络(RNN)和生成对抗网络(GAN)