1.微积分
导数:一个函数在某一点的导数描述了这个函数在这一点附近的变化率。
$$
f'(a) = \lim_{h \rightarrow 0} \frac{f(a+h)-f(a)}{h}
$$
梯度:多元函数的导数就是梯度。
一阶导数和梯度(gradient)
$f'(x)$ ;
$$
\nabla f(\bf{X}) = \frac{\partial f(\bf{X})}{\partial \bf{X}} = \begin{bmatrix}
\frac{\partial f(\bf{X})}{\partial {x_1}} \
\frac{\partial f(\bf{X})}{\partial {x_2}} \
\vdots\
\frac{\partial f(\bf{X})}{\partial {x_n}} \
\end{bmatrix}
$$
二阶导数与Hessian矩阵:
$f''(x)$;
$$
\bf{H}(x)= \nabla^2f(\bf{X}) = \begin{bmatrix}
\frac{\partial ^2 f(\bf{X})}{\partial {x_1}^2} & \frac{\partial ^2 f(\bf{X})}{\partial {x_1}\partial {x_2}} & \cdots & \frac{\partial ^2 f(\bf{X})}{\partial {x_1}\partial {x_n}} &\
\frac{\partial ^2 f(\bf{X})}{\partial {x_2}\partial {x_1}} & \frac{\partial ^2 f(\bf{X})}{\partial {x_2}^2} & \cdots & \frac{\partial ^2 f(\bf{X})}{\partial {x_2}\partial {x_n}} &\
\vdots & \vdots & \ddots & \vdots \
\frac{\partial ^2 f(\bf{X})}{\partial {x_n}\partial {x_1}} & \frac{\partial ^2 f(\bf{X})}{\partial {x_n}\partial {x_2}} & \cdots & \frac{\partial ^2 f(\bf{X})}{\partial {x_n}^2} &\
\end{bmatrix}
$$
泰勒级数:
输入为标量的泰勒级数:
$$
f(x_k + \delta) \approx f(x_k) +f'(x_k)\delta + \frac{1}{2}f''(x_k)\delta^2 + \cdots +\frac{1}{n!}f{(n)}(x_k)\deltan
$$
输入为矢量的泰勒级数(前三项):
$$
f(\bf{x}_k + \bf{\delta}) \approx f(x_k) +\nabla^Tf(\bf{x}_k) \bf{\delta} + \frac{1}{2}\bf{\delta^T}f''(\bf{x}_k)\bf{\delta}
$$
此时 满足 $\nabla^T f(\bf{x}_k) =0$ 的点为平稳点,如果还有:
$\nabla^2 f(\bf{x}_k) > 0$ ,即 为正定矩阵,则 $\bf{x}_k$为一严格局部极小值点(反之,严格局部极大值点)
如果 $\nabla^2 f(\bf{x}_k) =0$ ,即为不定矩阵,则是一个鞍点(如 $f(x)=x^3,x=0$时),此时需要考虑三阶导数。
问题:为什么优化时选择梯度方向,梯度方向为什么是变化最快的方向?
答:由泰勒级数展开式的前两项 $f(\bf{x}_k + \bf{\delta}) \approx f(x_k) +\nabla^Tf(\bf{x}_k) \bf{\delta} $ 可知,当$\delta$ 是一个模不变但方向不确定的矢量时,此时 $f(\bf{x}_k + \bf{\delta}) - f(x_k) \approx \nabla^Tf(\bf{x}_k) \bf{\delta} $ , 可知,当 $\delta = \nabla f(\bf{x}_k)$ 时,$\nabla^Tf(\bf{x}_k) \bf{\delta} = ||\nabla^2(\bf{x}_k) || $ ,此时取得最大的差值,也就是说 $\delta$ 取梯度方向是变化最大。 梯度下降法中的迭代方法就是负梯度方向,因为该方向下降最快!
2. 概率论
随机变量
累积分布函数
概率密度函数
高斯分布
独立同分布定理
3. 线性代数
方阵的特征值(Eigenvalues)与特征向量(Eigenvectors)
$$
\bf{Ax}= \lambda \bf{x}
$$
特征值和特征向量的几何意义与物理意义**:
矩阵是数学中非常抽象的一个概念,广义上我们可以将矩阵看作一个运动。即矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在这个变换过程中,原向量主要发生旋转、伸缩的变化。 如果矩阵对某个或某些向量只发生伸缩变换,而不对这些向量产生旋转的效果,那么这些向量就称作这个矩阵的特征向量,伸缩的比例就是特征值。其物理意义就是运动的图景:特征向量在一个矩阵的作用下作伸缩运动,伸缩的幅度由特征值确定。
特征分解的性质:
对于 $\bf{Ax_i} = \lambda \bf{x_i}$ ,如果所有的特征值都不相同,则对应的所有特征向量都线性无关。此时 $\bf{A}$ 可以被对角化为:
$$
\bf{A=V \Lambda V^{-1}}
$$
其中 $\bf{V=[x_1,x_2,\cdots,x_n]}$ , $\Lambda = Diag (\lambda_1,\lambda_2,\cdots, \lambda_n)$ 。
并不是所有的方阵都可以被对角化,这里主要考虑对称矩阵($A= A^T$)的特征分解。
如果一个对称矩阵的特征值都不相同,则其相应的所有特征向量正交。($\bf{UUT=UTU=I}$)
$$
\begin{split} \bf{A =U \Lambda U^T=\begin{bmatrix} u_1,u_2,\cdots,u_n \end{bmatrix} } \begin{bmatrix}\lambda_1 & &\ & \ddots &\ & & \lambda_n\end{bmatrix} \begin{bmatrix} \bf{u_1^T\ u_2^T\ \vdots\u_n^T} \end{bmatrix} = \sum_{i=1}^n \lambda_i \bf{u_iu_i^T}
\end{split}
$$
对称矩阵的特征值都是实数。
二次型**(Quadratic Form):
给定矩阵 $\bf{A} \in R^{m \times n}$ ,函数
$$
\bf{x^TAx=\sum\sum}x_ix_ja_{ij}
$$
被称为二次型。
如果对于所有 $\bf{x} \in R^n$ ,有 $\bf{x^TAx} \geq 0$ ,则为半正定矩阵,此时 $\lambda(\bf{A}) \geq 0$ .
特征分解的应用——PCA的本质
PCA的本质就是协方差矩阵的对角化。
4. 凸优化问题
凸集:一个集合中任意两点的连线都在该集合中,则这个集合是一个凸集。
一个函数 $f$ 是凸函数,满足:
它的定义域是凸集;
对于定义域中的任意两点 $x_1$、 $x_2$, 对任意 $0 \leq \alpha \leq 1$, 有
$$
f(\alpha x_1 +(1-\alpha)x_2) \leq \alpha f(x_1) + (1-\alpha) f(x_2)
$$
机器学习中的凸优化问题是一类特殊的优化问题。凸优化问题的形式是
$$
\min_{x\in S}f(x)
$$
其中 $f(x)$是凸函数,可行域 $S$ 是凸集。或等价为:
$$
\min_xf(x) \ \text{subject to} \quad g_i(x) \leq 0, \text{for} \quad i=1,2,\cdots,k
$$
其中$f(x)$ 和所有的约束函数 $g_i(x)都是凸函数。
凸优化问题的性质:它的局部最优解一定是全局最优解。