一、微积分
1、导数
导数的定义:
常见的导数:
2、导数法则
3、梯度和Hessian矩阵
3.1 一阶导数和梯度
注意,这里加粗的X指的是一个向量。
3.2 二阶导数和Hessian矩阵
4、二次型的梯度
特别的,若A为对称矩阵,则有如下公式成立:
5、泰勒级数与极值
5.1 输入为标量的泰勒级数展开
标量是只有大小没有方向的物理量。
我们称满足一阶导数即f
’
^’
’(x
k
_k
k)=0的点为平稳点(候选点),此时如果二阶导数f
’
’
^{’’}
’’(x
k
_k
k)>0,则称x
k
_k
k为严格局部极小点。反之则为严格局部最大值点。若f
’
’
^{’’}
’’(x
k
_k
k)=0,那此点可能是一个鞍点,即既不是最大值点也不是最小值点。
5.2 输入为矢量的泰勒级数展开
矢量是既有大小又有方向的物理量。
称满足
∇
T
\nabla^T
∇Tf(x
k
_k
k)=0的点为平稳点(候选点),此时若还有
∇
2
\nabla^2
∇2f(x
k
_k
k)
≺
\prec
≺ 0,表示特征值全部小于0,称x
k
_k
k为严格局部极大值点;反之特征值全部大于0,为严格局部极小值点。如果
∇
2
\nabla^2
∇2f(x
k
_k
k)是一个不定矩阵,那么可能是一个鞍点。
当梯度函数等于0即
∇
T
\nabla^T
∇Tf(x
k
_k
k)=0时求解的过程非常复杂,这时需要用到梯度下降。如果
δ
\delta
δ是梯度方向,函数将最快上升,如果
δ
\delta
δ是负梯度方向,函数将最快下降。
那么我们应该如何理解
δ
\delta
δ是负梯度方向时函数最快下降,梯度方向时函数最快上升呢?我们把
δ
\delta
δ看成方向,若一个人要想往前走,肯定需要确定方向,当把方向
δ
\delta
δ取成
∇
\nabla
∇f(x
k
_k
k)(
∇
\nabla
∇f(x
k
_k
k)就表示f(x
k
_k
k)函数的梯度)时原式变成了f(x
k
_k
k+
δ
\delta
δ)
≈
\approx
≈
∇
T
\nabla^T
∇Tf(x
k
_k
k)
∇
\nabla
∇f(x
k
_k
k)。而
∇
T
\nabla^T
∇Tf(x
k
_k
k)
∇
\nabla
∇f(x
k
_k
k)=||
∇
\nabla
∇f(x
k
_k
k)||,是梯度函数的范数,此时达到最大。所以函数将最快上升。反之函数将最快下降。
二、概率论
1、随机变量
累积分布函数:
概率密度函数:
因为概率密度函数有封闭表达式,累积分布函数是概率密度函数的积分,积出来的时候没有封闭表达式,所以在工程上我们更喜欢用概率密度函数去衡量。
2、高斯分布
2.1 一元概率密度:
2.2 多元概率密度:
高斯分布中
μ
\mu
μ衡量了高斯分布相对于原点的偏移程度,
σ
\sigma
σ衡量了随机变量取值的分散程度,方差即
σ
\sigma
σ越大,说明分散程度越高。
2.3 中心极限定理
随机变量序列部分和分布渐近于正态分布。
注意两个独立的高斯变量相加还是服从高斯分布。
3、贝叶斯公式
贝叶斯公式用来描述两个条件概率之间的关系,比如P(A|B)和P(B|A),他们两个不相等,但是他们有什么联系呢?
联系如下:
概率密度形式:
三、矩阵
1、方阵的特征值与特征向量
Ax=
λ
\lambda
λx,其中
λ
\lambda
λ是特征值,x为A对应于
λ
\lambda
λ的特征向量。
Ax=
λ
\lambda
λx几何意义:对原始向量x与矩阵A相乘以后得到的Ax相当于对向量x进行了一个旋转,若旋转以后的x还能够与旋转前的向量x保持在一条线上,这时x就是矩阵A的特征向量,
λ
\lambda
λ相当于对特征向量进行了一个缩放。
2、特征分解的性质
对于Ax
i
_i
i=
λ
\lambda
λx
i
_i
i,如果所有的特征值都不相同,则相应的所有特征向量线性无关,此时,A可以被对角化为:
其中V是一个可逆矩阵,V=[x
1
_1
1,,,x
n
_n
n],
Λ
\Lambda
Λ是对角矩阵。
Λ
\Lambda
Λ=Diag(
λ
1
\lambda_1
λ1,,,
λ
n
\lambda_n
λn)。
注意:并不是所有方阵都可被对角化,但是对称矩阵一定可被对角化。
3、对称矩阵的特征分解
如果一个对称矩阵的特征值不同,则其相应的所有特征向量正交。
对称矩阵的特征值都是实数。
如果A是一个对称矩阵并且有rank r
⩽
\leqslant
⩽n,则有:
4、二次型
4.1 二次型定义
给定矩阵A
∈
\in
∈R
n
×
n
^{n\times n}
n×n,函数
被称为二次型。
若对于所有的x
∈
\in
∈R
n
^n
n,有x
T
^T
TAx
≥
\geq
≥ 0,则矩阵为半正定矩阵,如果x
T
^T
TAx
>
\gt
> 0则为正定矩阵;反之分别为半负定矩阵和负定矩阵。
4.2 二次型图形
二次函数:
一阶导公式和二阶导公式分别为:
二次型图形为:
5、特征分解的应用-PCA
给定一个矩阵X
∈
\in
∈R
m
×
n
^{m\times n}
m×n,例如
我们选择k<m个正交基进行降维的同时又要尽量保留原始的信息,即使得A变换到这组基后,使得行向量间的协方差为0,而每个行向量的方差尽可能大。协方差代表了行之间的相关程度,而方差是衡量一组数据的分散程度。例如四行的矩阵我们要降维成两行,那么我们希望降维后的这两行的协方差尽可能小,每行数据的方差尽可能大。因为协方差小代表两行的相关程度越小。方差越大表示数据越分散,他们之间的干扰就会更小。
协方差矩阵为:
协方差矩阵的对角元是每一行的方差,非对角元是两行向量做内积,这时我们希望两个向量垂直。
假设变换矩阵为Y=QX,并先假设Q是方阵(这里我们先不考虑降维),则有:
那么我们如何使得C
Y
_Y
Y是一个对角矩阵呢?我们知道C
X
_X
X可被相似对角化,即:
若把Q改成U
T
^T
T,式子就变成C
Y
_Y
Y=
Λ
\Lambda
Λ=U
T
^T
TC
X
_X
XU,
这时C
Y
_Y
Y就可被对角化。注意这里我们没有考虑降维,只是把变换后的矩阵C
Y
_Y
Y给对角化了。这时的对角矩阵非对角元为0,数据的相关性很小。当我们需要把降维考虑进去时我们只需要取Q=U
T
^T
T的前几行即可。取的行数取决于我们要降的维数。因为U
T
^T
T每行代表了特征值对应的特征向量。特征值已经排好序列,所以越到后面的行对应的特征值越小,相关性也越小。
为了方便理解,我们来举个例子:
X=
[
−
1
−
1
0
2
0
−
2
0
0
1
1
]
\begin{bmatrix} -1 & -1 & 0 & 2 & 0\\ -2 & 0&0&1 &1\end{bmatrix}
[−1−2−10002101],C
X
_X
X=
[
6
5
4
5
4
5
6
5
]
\begin{bmatrix} \cfrac{6}{5} & \cfrac{4}{5} \\ \cfrac{4}{5} & \cfrac{6}{5}\end{bmatrix}
⎣⎢⎡56545456⎦⎥⎤
我们要把两行的数据降成一行。
计算C
X
_X
X的特征值为
λ
1
\lambda_1
λ1=2,
λ
2
\lambda_2
λ2=2/5,特征值 所对应的特征向量为:
[
1
2
1
2
]
\begin{bmatrix} \cfrac{1}{\sqrt2} \\ \cfrac{1}{\sqrt2} \end{bmatrix}
⎣⎢⎢⎡2121⎦⎥⎥⎤,
[
−
1
2
1
2
]
\begin{bmatrix} -\cfrac{1}{\sqrt2} \\ \cfrac{1}{\sqrt2} \end{bmatrix}
⎣⎢⎢⎡−2121⎦⎥⎥⎤.
因此U=
[
1
2
−
1
2
1
2
1
2
]
\begin{bmatrix} \cfrac{1}{\sqrt2} & -\cfrac{1}{\sqrt2} \\ \cfrac{1}{\sqrt2} & \cfrac{1}{\sqrt2}\end{bmatrix}
⎣⎢⎢⎡2121−2121⎦⎥⎥⎤,则U
T
^T
T=
[
1
2
1
2
−
1
2
1
2
]
\begin{bmatrix} \cfrac{1}{\sqrt2} & \cfrac{1}{\sqrt2} \\ -\cfrac{1}{\sqrt2} & \cfrac{1}{\sqrt2}\end{bmatrix}
⎣⎢⎢⎡21−212121⎦⎥⎥⎤.
此时如果Q=U
T
^T
T=
[
1
2
1
2
−
1
2
1
2
]
\begin{bmatrix} \cfrac{1}{\sqrt2} & \cfrac{1}{\sqrt2} \\ -\cfrac{1}{\sqrt2} & \cfrac{1}{\sqrt2}\end{bmatrix}
⎣⎢⎢⎡21−212121⎦⎥⎥⎤,则只对角化了C
Y
_Y
Y,未降维,降维则是取Q的第一行。
降维:
[
1
2
1
2
]
\begin{bmatrix} \cfrac{1}{\sqrt2} & \cfrac{1}{\sqrt2}\end{bmatrix}
[2121]X=
[
−
3
2
−
1
2
0
3
2
−
1
2
]
\begin{bmatrix} -\cfrac{3}{\sqrt2} & -\cfrac{1}{\sqrt2} & 0 & \cfrac{3}{\sqrt2} & -\cfrac{1}{\sqrt2}\end{bmatrix}
[−23−21023−21],此时可验证C
Y
_Y
Y=2=
λ
1
\lambda_1
λ1。
四、凸优化
1、一般约束优化问题
约束优化问题一般形式:
可行域:满足f(x)定义域和约束条件的x的集合。c$_j(x)=0表明不等式约束被激活。
注意:等式约束比较少见,一般情况下都是不等式约束。
例如有以下优化问题:
图如下:
如上图我们可以发现函数所定义的可行域是凸集,函数本身也是凸函数,我们把研究定义于凸集中的凸函数最小化的问题称为凸优化问题。这种情况下若有局部最优解,那此解也一定是全局最优解。而非凸函数只能得到局部最优解,无法得到全局最优解。
2、一般约束优化问题极值点一阶必要条件(KKT)
没有约束的优化问题我们一般采用求导和梯度下降法来求解。当面对有约束的优化问题时,我们需要解KKT条件。
如果X
∗
^*
∗是约束优化问题的局部最小解,那么有如下五个条件(注意是以前面的例子为基础,根据前面例子来看):
1)a
i
_i
i(X*)=0 for i=1,2,,p
2)c
j
_j
j(X*)
≥
\geq
≥ 0 for j=1,2,,q
3)存在拉格朗日乘子
λ
i
∗
\lambda_i^*
λi∗和
μ
j
∗
\mu_j^*
μj∗使得如下等式成立:
条件3可以解释为如果X
∗
^*
∗是最优解的话,我们对等式约束求个梯度,再对不等式约束求个梯度,然后定义两个拉格朗日乘子
λ
i
∗
\lambda_i^*
λi∗和
μ
j
∗
\mu_j^*
μj∗,他们这两个函数加起来的线性组合就等于原始的f(X
∗
^*
∗)的梯度。
这里通过拉格朗日乘数法把约束条件转换为了无约束条件。转化为约束条件时是如下式子:
而条件3与如下式子等价。
4)
μ
j
∗
\mu_j^*
μj∗c
j
_j
j(X*)=0 for j=1,2,,q
条件四的意思是
μ
j
∗
\mu_j^*
μj∗和c
j
_j
j(X*)中只有一个数是0,若c
j
_j
j(X*)=0,说明不等式约束被激活了,这时
μ
j
∗
\mu_j^*
μj∗一定>0,反之如果c
j
_j
j(X*)没有被激活,那么
μ
j
∗
\mu_j^*
μj∗一定是0。
5)
μ
j
∗
\mu_j^*
μj∗
≥
\geq
≥ 0 for j=1,2,,q
因为上述五个条件是必要条件,所以在解完一阶KKT的条件求出X
∗
^*
∗后会有三种情况,即极大值、极小值和鞍点。接下来再继续求就需要用到二阶KKT。
以上是我根据学习资料自己总结后所得,有错误之处请留言。