机器学习的基本数学知识1
机器学习的基本数学知识(自用)
线性代数
- 标量、向量、矩阵和张量
- 标量:一个单独的数
- 向量:一列数
- 矩阵:二维数组
- 张量:维数超过二维的数组
- 转置:矩阵的行列互换
- 矩阵与向量相乘
- 单位矩阵和逆矩阵
- 单位矩阵:主对角线元素都是1
- 逆矩阵:A−1A=I\boldsymbol{A}^{-1}\boldsymbol{A}=\boldsymbol{I}A−1A=I
- 线性相关与生成子空间
- 将A\boldsymbol{A}A的列向量看作是从原点出发的向量,则Ax=∑ixiA:,i\boldsymbol{A}\boldsymbol{x}=\sum_ix_i\boldsymbol{A}_{:,i}Ax=∑ixiA:,i(称为线性组合),一组向量的线性组合所能及的点的集合就是这组向量的生成子空间
- 线性相关:向量组某向量能用组内其他向量线性表示
- 线性无关:向量组的每个向量都是组内其他向量无法线性组合表示的
- 列向量线性相关的方阵被称为是 奇异的
- 范数
- 范数是满足下列性质的函数:
- f(x)=0⇒x=0f(\boldsymbol{x})=0 \Rightarrow \boldsymbol{x = 0}f(x)=0⇒x=0
- f(x+y)≤f(x)+f(y)f(\boldsymbol{x+y}) \le f(\boldsymbol{x}) + f(\boldsymbol{y})f(x+y)≤f(x)+f(y)
- ∀α∈R,f(αx)=∣α∣f(x)\forall \alpha \in \mathbb{R}, f(\alpha \boldsymbol{x})=|\alpha|f(\boldsymbol{x})∀α∈R,f(αx)=∣α∣f(x)
- LpL^pLp范数:
- ∣∣x∣∣p=(∑i∣xi∣p)1pp∈R,p≥1||\boldsymbol{x}||_p=\left(\sum_i|x_i|^p\right)^{\frac{1}{p}}\quad p \in \mathbb{R},p \ge 1∣∣x∣∣p=(∑i∣xi∣p)p1p∈R,p≥1
- L0L^0L0范数:向量中非零元素的个数
- L∞L^\inftyL∞范数:向量中最大幅值元素的绝对值
- ∣∣x∣∣∞=maxi∣xi∣||\boldsymbol{x}||_\infty=\text{max}_i|x_i|∣∣x∣∣∞=maxi∣xi∣
- 矩阵的F范数:
- ∣∣AF∣∣=∑i,jAi,j2||\boldsymbol{A}_F||=\sqrt{\sum_{i,j}A^2_{i,j}}∣∣AF∣∣=∑i,jAi,j2
- 两个向量的点积用范数表示:
- xTy=∣∣x∣∣2∣∣y∣∣2cosθ\boldsymbol{x}^T\boldsymbol{y}=||\boldsymbol{x}||_2||\boldsymbol{y}||_2\text{cos}\thetaxTy=∣∣x∣∣2∣∣y∣∣2cosθ
- 范数是满足下列性质的函数:
- 特殊类型的矩阵和向量
- 对角矩阵:只有主对角线上含有非零元素
- 对称矩阵:转置和自己相等的矩阵
- 单位向量:具有单位范数的向量
- 正交:xTy=0\boldsymbol{x}^T\boldsymbol{y}=0xTy=0
- 标准正交:不但正交,且范数都为1
- 正交矩阵:行向量和列向量是分别标准正交的方阵
- A−1=AT\boldsymbol{A}^{-1}=\boldsymbol{A}^TA−1=AT
- 特征分解
- 将矩阵分解成一组特征向量和特征值
- Av=λv\boldsymbol{Av}=\lambda\boldsymbol{v}Av=λv
- 特征向量:与A相乘后相当于对该向量进行缩放的非零向量v\boldsymbol{v}v
- 特征值:标量λ\lambdaλ
- Av=λv\boldsymbol{Av}=\lambda\boldsymbol{v}Av=λv
- 矩阵A\boldsymbol{A}A有nnn个线性无关的特征向量{v(1),...,v(n)}\{\boldsymbol{v^{(1)}, ..., v^{(n)}}\}{v(1),...,v(n)},对应着特征值{λ1,...,λn}\{\lambda_1, ..., \lambda_n\}{λ1,...,λn},将特征向量连接成一个矩阵,每一列是一个特征向量即V=[v(1),...,v(n)]\boldsymbol{V}=[\boldsymbol{v^{(1)}, ..., v^{(n)}}]V=[v(1),...,v(n)],则A\boldsymbol{A}A的特征分解可以记作:A=Vdiag(λ)V−1\boldsymbol{A}=\boldsymbol{V}\text{diag}(\boldsymbol{\lambda})\boldsymbol{V}^{-1}A=Vdiag(λ)V−1
- 所有特征值都是非负数的矩阵被称为半正定
- 保证 ∀x,xTAx≥0\forall \boldsymbol{x}, \boldsymbol{x}^T\boldsymbol{Ax} \ge 0∀x,xTAx≥0
- 所有特征值都是正数的矩阵被称为正定
- 除保证大于等于0,还保证 ∀x,xTAx=0⇒x=0\forall \boldsymbol{x}, \boldsymbol{x}^T\boldsymbol{Ax} = 0 \Rightarrow \boldsymbol{x} = \boldsymbol{0}∀x,xTAx=0⇒x=0
- 所有特征值都是非正数的矩阵称为半负定
- 将矩阵分解成一组特征向量和特征值
- 奇异值分解
- 将矩阵(扩展到非方阵)分解为奇异向量和奇异值
- A=UDVT\boldsymbol{A}=\boldsymbol{UDV}^TA=UDVT
- A\boldsymbol{A}A是一个m×nm \times nm×n的矩阵,U\boldsymbol{U}U是一个m×mm \times mm×m的矩阵,V\boldsymbol{V}V是一个n×nn \times nn×n的矩阵
- U\boldsymbol{U}U 和 V\boldsymbol{V}V 都定义为正交矩阵,D\boldsymbol{D}D定义为对角矩阵(注意其不一定为方阵)
- D\boldsymbol{D}D对角线上的元素被称为矩阵A\boldsymbol{A}A的奇异值,矩阵U\boldsymbol{U}U的列向量称为左奇异向量,矩阵V\boldsymbol{V}V的列向量称为右奇异向量
- SVD 最有用的一个性质可能是拓展矩阵求逆到非方矩阵
- 将矩阵(扩展到非方阵)分解为奇异向量和奇异值
- Moore-Penrose伪逆
- A+=VD+UT\boldsymbol{A}^+=\boldsymbol{V}\boldsymbol{D}^+\boldsymbol{U}^TA+=VD+UT
- U, D和 V\boldsymbol{U\text{, }D\text{ 和 }V}U, D 和 V是矩阵A\boldsymbol{A}A 奇异值分解得到的矩阵
- D+\boldsymbol{D}^+D+是D\boldsymbol{D}D的非零元素取倒数后转置得到的
- A+=VD+UT\boldsymbol{A}^+=\boldsymbol{V}\boldsymbol{D}^+\boldsymbol{U}^TA+=VD+UT
- 迹运算
- 返回的是对角元素的和
- Tr(A)=∑iAi,i\text{Tr}(\boldsymbol{A}) = \sum_i \boldsymbol{A}_{i,i}Tr(A)=∑iAi,i
- 用迹描述F范数
- ∣∣AF∣∣=Tr(AAT)||\boldsymbol{A}_F||=\sqrt{\text{Tr}(\boldsymbol{AA}^T)}∣∣AF∣∣=Tr(AAT)
- 迹运算在转置下是不变的
- Tr(A)=Tr(AT)\text{Tr}(\boldsymbol{A}) = \text{Tr}(\boldsymbol{A}^T)Tr(A)=Tr(AT)
- 多个矩阵相乘得到的方阵的迹
- Tr(ABC)=Tr(CAB)=Tr(BCA)\text{Tr}(\boldsymbol{ABC}) = \text{Tr}(\boldsymbol{CAB}) = \text{Tr}(\boldsymbol{BCA})Tr(ABC)=Tr(CAB)=Tr(BCA)
- 矩阵相乘后形状变了,迹运算的结果依然不变
- Tr(AB)=Tr(BA)A∈Rm×n, B∈Rn×m\text{Tr}(\boldsymbol{AB}) = \text{Tr}(\boldsymbol{BA}) \quad \boldsymbol{A} \in \mathbb{R}^{m \times n}\text{, }\boldsymbol{B} \in \mathbb{R}^{n \times m}Tr(AB)=Tr(BA)A∈Rm×n, B∈Rn×m
- 标量的迹是它自己
- 返回的是对角元素的和
- 行列式 det(A)\text{det}(\boldsymbol{A})det(A)
- 等于矩阵特征值的乘积
- 衡量矩阵参与矩阵乘法后空间扩大缩小了多少
- 如果是0,说明空间沿某一维完全收缩了,失去了所有体积
- 如果是1,说明转换保持空间体积不变
主成分分析(Principal Components Analysis, PCA)
- 假设在Rn\mathbb{R}^nRn空间中有mmm个点{x(1),...,x(n)}\{\boldsymbol{x^{(1)}, ..., x^{(n)}}\}{x(1),...,x(n)}, 用低维表示编码这些点, 即对每个点x(i)∈Rn\boldsymbol{x}^{(i)} \in \mathbb{R}^nx(i)∈Rn, 会有一个对应的编码向量c(i)∈Rl\boldsymbol{c}^{(i)} \in \mathbb{R}^lc(i)∈Rl , 其中l<nl < nl<n;
- 找到一个编码函数 fff 使得f(x)=cf(\boldsymbol{x})=\boldsymbol{c}f(x)=c,也希望找到一个解码函数 ggg 使得 x≈g(f(x))\boldsymbol{x} \approx g\left( f(\boldsymbol{x}) \right)x≈g(f(x));
- 为了简化解码器,使用矩阵乘法将编码映射回 Rn\mathbb{R}^nRn ,即 g(c)=Dcg(\boldsymbol{c}) = \boldsymbol{Dc}g(c)=Dc,其中D∈Rn×l\boldsymbol{D} \in \mathbb{R}^{n \times l}D∈Rn×l 是定义解码的矩阵,其限制列向量具有单位范数且彼此正交;
- 计算最优编码c∗\boldsymbol{c}^*c∗, 可将问题化为最小化原始输入向量与重构向量之间的距离, 使用L2L^2L2范数描述问题:
c∗=argminc∥x−g(c)∥2\boldsymbol{c}^*=\arg \min _c\|\boldsymbol{x}-g(\boldsymbol{c})\|_2c∗=argcmin∥x−g(c)∥2 - 使用L2L^2L2范数的平方代替,并化简得到:
c∗=argminc−2xTDc+cTc\boldsymbol{c}^*=\arg \min _c -2\boldsymbol{x}^T\boldsymbol{Dc}+\boldsymbol{c}^T\boldsymbol{c}c∗=argcmin−2xTDc+cTc - 通过向量微积分求解得:
c=DTx\boldsymbol{c}=\boldsymbol{D}^T\boldsymbol{x}c=DTx - 即编码函数为:
f(x)=DTxf(\boldsymbol{x})=\boldsymbol{D}^T\boldsymbol{x}f(x)=DTx - 重构操作为:
r(x)=g(f(x))=DDTxr(\boldsymbol{x})=g\left(f(\boldsymbol{x})\right)=\boldsymbol{DD}^T\boldsymbol{x}r(x)=g(f(x))=DDTx
推导过程: 最小化投影造成的损失
- 求解编码矩阵D\boldsymbol{D}D
最小化所有维数和所有点上的误差矩阵的 Frobenius 范数,即
D∗=argminc∑i,j(xj(i)−r(x(i))j)2subject to DDT=Il\boldsymbol{D}^*=\arg \min _c \sqrt{ \sum _{i,j} \left (\boldsymbol{x}_j^{(i)} -r(\boldsymbol{x}^{(i)})_j \right)^2 } \text{ subject to }\boldsymbol{DD}^T=\boldsymbol{I}_lD∗=argcmini,j∑(xj(i)−r(x(i))j)2 subject to DDT=Il - …
另一种推导过程: 最大化数据投影后的的方差
- 理论依据补充->拉格朗日乘子法
- 假设存在一个函数f(x,y)f(x,y)f(x,y), 求该函数在g(x,y)=cg(x, y)=cg(x,y)=c下的极值
- 则在极值点的时候两个函数必然相切,此时各自的导数成正比,从而
∂f∂x=λ∂g∂x;∂f∂y=λ∂g∂y;g(x,y)=c\cfrac{\partial f}{\partial x} = \lambda\cfrac{\partial g}{\partial x} \quad;\quad \cfrac{\partial f}{\partial y} = \lambda\cfrac{\partial g}{\partial y} \quad;\quad g(x,y)=c∂x∂f=λ∂x∂g;∂y∂f=λ∂y∂g;g(x,y)=c - 可假设一个新的函数
F(x,y,λ)=f(x,y)+λ[c−g(x,y)]F(x,y,\lambda)=f(x,y)+\lambda[c-g(x,y)]F(x,y,λ)=f(x,y)+λ[c−g(x,y)]
分解求:
∂F∂x=0;∂F∂y=0;∂F∂λ=0\cfrac{\partial F}{\partial x} = 0 \quad;\quad \cfrac{\partial F}{\partial y} = 0 \quad;\quad \cfrac{\partial F}{\partial \lambda} = 0∂x∂F=0;∂y∂F=0;∂λ∂F=0
- 推导过程:
- D\boldsymbol{D}D中基向量为 {u1,u2,...,ul}\{\boldsymbol{u}_1, \boldsymbol{u}_2, ..., \boldsymbol{u}_l\}{u1,u2,...,ul} (从 n 维降到 l 维)
- 数据点 xi\boldsymbol{x}_ixi在该基底上的投影为xiT⋅uj\boldsymbol{x}_i^T \cdot \boldsymbol{u}_jxiT⋅uj
- 所有数据在该基底上的投影的方差为(m为样本数量)
- Jj=1m∑i=1m(xiTuj−xcenterTuj)2\boldsymbol{J}_j=\frac{1}{m} \sum _{i=1} ^m (x_i^Tu_j - x_{center}^Tu_j)^2Jj=m1∑i=1m(xiTuj−xcenterTuj)2
- 在运算之前对数据x进行0均值初始化,即xcenter=0x_{center}=0xcenter=0,从而有
Jj=1m∑i=1m(xiTuj)2=1m∑i=1m(ujTxi⋅xiTuj)=ujT⋅1m∑i=1m(xixiT)⋅uj=ujT⋅1m([x1⋯xm]⋅[x1⋯xm])⋅uj==1mujTXXTuj=ujTSuju.t.ujTuj\begin{aligned} \boldsymbol{J}_j & = \frac{1}{m} \sum _{i=1} ^m (x_i^Tu_j)^2 \\ & = \frac{1}{m} \sum _{i=1} ^m (u_j^Tx_i \cdot x_i^Tu_j) \\ & = u_j^T \cdot \frac{1}{m} \sum _{i=1} ^m (x_i x_i^T) \cdot u_j \\ & = u_j^T \cdot \frac{1}{m} (\begin{bmatrix}x_1 \cdots x_m \end{bmatrix} \cdot \begin{bmatrix}x_1 \\ \cdots \\ x_m \end{bmatrix}) \cdot u_j \\ & == \frac{1}{m} u_j^T \boldsymbol{XX}^T u_j \\ & = u_j^T \boldsymbol{S} u_j \quad u.t. \text{ } u_j^T u_j \end{aligned} Jj=m1i=1∑m(xiTuj)2=m1i=1∑m(ujTxi⋅xiTuj)=ujT⋅m1i=1∑m(xixiT)⋅uj=ujT⋅m1([x1⋯xm]⋅x1⋯xm)⋅uj==m1ujTXXTuj=ujTSuju.t. ujTuj - 构造函数
F(uj)=ujTSuj+λj(1−ujTuj)F(u_j) = u_j^T \boldsymbol{S} u_j + \lambda_j(1-u_j^T u_j)F(uj)=ujTSuj+λj(1−ujTuj) - 求解∂F∂uj=0\frac{\partial F}{\partial u_j}=0∂uj∂F=0,得:
2S⋅uj−2λj⋅uj=0⇒Suj=λjuj2\boldsymbol{S} \cdot u_j - 2\lambda_j \cdot u_j = 0 \Rightarrow \boldsymbol{S} u_j = \lambda_j u_j 2S⋅uj−2λj⋅uj=0⇒Suj=λjuj - 当uju_juj 、λj\lambda_jλj分别为S\boldsymbol{S}S矩阵的特征向量、特征值时,Jj\boldsymbol{J}_jJj有极值,上述结果回代得
ujTSuj=ujTλjuj=λju_j^T \boldsymbol{S} u_j = u_j^T \lambda_j u_j = \lambda _jujTSuj=ujTλjuj=λj - 所以对于任意满足条件的正交基,对应的数据在上面投影后的方差值为S\boldsymbol{S}S矩阵的特征向量,从而
Jmax=∑j=1kλj,λ从大到小排序\boldsymbol{J}_{max}=\sum^k_{j=1}\lambda_j, \text{ $\lambda$从大到小排序}Jmax=j=1∑kλj, λ从大到小排序 - 所以投影正交基为
- S\boldsymbol{S}S的特征向量中的前k个最大特征值对应的特征向量
- 对S\boldsymbol{S}S进行特征分解
D=Dofsvd(S)=Dofsvd(1mXXT)\boldsymbol{D} = \boldsymbol{D} \text{ } of \text{ } svd(\boldsymbol{S}) = \boldsymbol{D} \text{ } of \text{ } svd( \frac{1}{m}\boldsymbol{XX}^T ) D=D of svd(S)=D of svd(m1XXT) - 因此
Xnewl×m=[u1Tu2T⋮ulT]l×n⋅Xn×m\boldsymbol{X}_{new_{l \times m}} = \begin{bmatrix} u^T_1 \\ u^T_2 \\ \vdots \\ u^T_l \end{bmatrix}_{l \times n} \cdot \boldsymbol{X}_{n \times m} Xnewl×m=u1Tu2T⋮ulTl×n⋅Xn×m
- PCA使用过程
- 初始化X\boldsymbol{X}X,使得所有样本之间的特征值均值为0,同时应用feature scaling,缩放到−0.5∼0.5-0.5 \sim 0.5−0.5∼0.5
- 计算X\boldsymbol{X}X的协方差矩阵S\boldsymbol{S}S
- 对S\boldsymbol{S}S进行SVD分解,U\boldsymbol{U}U即我们要求的新坐标系集合,D\boldsymbol{D}D为特征值集合(计算时特征值都会大于0,且结果会从小到大排列)
- 按照特征值从大到小排序,要降低为lll维,那么取前lll个特征值对应的特征向量,就是新的lll个坐标轴
- 把X映射到新的坐标系中,完整降维操作
概率论
- 样本空间:随机实验 全部可能的结果组成的集合
- 随机变量:定义在样本空间上的实值函数
- 通常用无格式与手写体字母区分随机变量与随机变量的取值。例如x表示随机变量本身,x1,x2x_1, x_2x1,x2表示具体的取值
- 随机变量是对可能的状态的描述,必须要有对应的概率分布来指定每个状态(即随机变量取值)的可能性
- 概率分布:描述随机变量每个状态的可能性大小
- 概率质量函数:离散型随机变量的概率分布
- 概率质量函数PPP需满足条件:
- PPP的定义域是x所有可能状态的集合
- ∀x∈x,0≤P(x)≤1\forall x \in \text{x}, 0\le P(x) \le 1∀x∈x,0≤P(x)≤1
- ∑i=1∞P(xi)=1\sum_{i=1}^{\infty}P(x_i)=1∑i=1∞P(xi)=1
- 概率质量函数本身就反映了变量x取某值的概率
- 概率质量函数PPP需满足条件:
- 概率密度函数:连续型随机变量的概率分布
- 概率密度函数PPP需满足条件:
- PPP的定义域是x所有可能状态的集合
- ∀x∈x,P(x)≥0\forall x \in \text{x}, P(x) \ge 0∀x∈x,P(x)≥0
- ∫i=1∞P(xi)=1\int_{i=1}^{\infty}P(x_i)=1∫i=1∞P(xi)=1
- 需对概率密度函数求积分来获得变量取值在某范围的概率
- 概率密度函数PPP需满足条件:
- 累积分布函数:对任意给定实数xxx,随机变量x小于等于xxx的概率
- F(x)=P(x≤x)F(x) = P(\text{x} \le x)F(x)=P(x≤x)
- 概率质量函数:离散型随机变量的概率分布
- 联合概率分布:多个随机变量的概率分布
- 边缘概率:已知其联合概率分布的一组变量的子集的概率分布
- 例如已知离散随机变量x和y及其联合概率分布P(x,y)P(\text{x,y})P(x,y),求P(x)P(\text{x})P(x):
- P(x=x)=∑yP(x=x,y=y)P(\text{x}=x)=\sum_y P(\text{x}=x, \text{y}=y)P(x=x)=∑yP(x=x,y=y)
- 连续型:
- P(x=x)=∫P(x,y)dyP(\text{x}=x)=\int P(x, y)dyP(x=x)=∫P(x,y)dy
- 例如已知离散随机变量x和y及其联合概率分布P(x,y)P(\text{x,y})P(x,y),求P(x)P(\text{x})P(x):
- 条件概率:某个事件在其他给定事件发生时出现的概率
- 给定 x=x\text{x}=xx=x ,则 y=y\text{y}=yy=y 发生的条件概率记为P(y=y∣x=x)P(\text{y}=y | \text{x}=x)P(y=y∣x=x)
- P(y=y∣x=x)=P(y=y,x=x)P(x=x)P(\text{y}=y | \text{x}=x)=\cfrac{P(\text{y}=y , \text{x}=x)}{P(\text{x}=x)}P(y=y∣x=x)=P(x=x)P(y=y,x=x)
- P(x=x)>0P(\text{x}=x)>0P(x=x)>0
- 条件概率的链式法则:任何多维随机变量的联合概率分布,都可以分解成只有一个变量的条件概率相乘的形式
- P(x(1),...,x(n))=P(x(1))∏i=2nP(x(i)∣x(1),...,x(i−1))P(x^{(1)},...,x^{(n)})=P(x^{(1)})\prod_{i=2}^nP(x^{(i)}|x^{(1)},...,x^{(i-1)})P(x(1),...,x(n))=P(x(1))∏i=2nP(x(i)∣x(1),...,x(i−1))
- 给定 x=x\text{x}=xx=x ,则 y=y\text{y}=yy=y 发生的条件概率记为P(y=y∣x=x)P(\text{y}=y | \text{x}=x)P(y=y∣x=x)
- 独立性和条件独立性:随机变量间互相不对对方的概率产生影响
- ∀x∈x,y∈y,P(x=x,y=y)=P(x=x)P(y=y)\forall x \in \text{x}, y \in \text{y},P(\text{x}=x, \text{y}=y)=P(\text{x}=x)P(\text{y}=y)∀x∈x,y∈y,P(x=x,y=y)=P(x=x)P(y=y)
- ∀x∈x,y∈y,z∈z,P(x=x,y=y∣z=z)=P(x=x∣z=z)P(y=y∣z=z)\forall x \in \text{x}, y \in \text{y}, z \in \text{z}, P(\text{x}=x, \text{y}=y | \text{z}=z)=P(\text{x}=x | \text{z}=z)P(\text{y}=y | \text{z}=z)∀x∈x,y∈y,z∈z,P(x=x,y=y∣z=z)=P(x=x∣z=z)P(y=y∣z=z)
- 期望、方差和协方差
- 期望:“加权平均”;函数f(x)f(x)f(x)关于某分布P(x)P(\text{x})P(x)的期望:
- 离散:Ex∼P[f(x)]=∑xP(x)f(x)\mathbb{E}_{x \sim P}[f(x)] = \sum_xP(x)f(x)Ex∼P[f(x)]=∑xP(x)f(x)
- 连续:Ex∼P[f(x)]=∫P(x)f(x)dx\mathbb{E}_{x \sim P}[f(x)] = \int P(x)f(x)dxEx∼P[f(x)]=∫P(x)f(x)dx
- 期望是线性的,即:Ex[αf(x)+βg(x)]=αEx[f(x)]+βEx[g(x)]\mathbb{E}_{x}[\alpha f(x) + \beta g(x)] = \alpha\mathbb{E}_{x}[f(x)] + \beta\mathbb{E}_{x}[g(x)]Ex[αf(x)+βg(x)]=αEx[f(x)]+βEx[g(x)]
- 方差:“随机变量的差异程度”:
- Var(f(x))=E[(f(x)−E[f(x)])2]Var(f(x))=\mathbb{E}[(f(x) - \mathbb{E}[f(x)])^2]Var(f(x))=E[(f(x)−E[f(x)])2]
- 标准差:方差的平方根
- 协方差:两变量之间的相关性强度
- Cov(f(x),g(y))=E[(f(x)−E[f(x)])(g(y)−E[g(y)])]Cov(f(x),g(y))=\mathbb{E}[(f(x) - \mathbb{E}[f(x)]) (g(y) - \mathbb{E}[g(y)]) ]Cov(f(x),g(y))=E[(f(x)−E[f(x)])(g(y)−E[g(y)])]
- 协方差的绝对值很大:变量值变化很大,且同时距各自的均值很远
- 协方差是正的:两个变量趋势相同
- 协方差是负的:两个变量趋势相反
- 为零:两变量相互独立
- 期望:“加权平均”;函数f(x)f(x)f(x)关于某分布P(x)P(\text{x})P(x)的期望:
- 矩与矩母函数
- 若E[Xk]E\left[X^k\right]E[Xk]存在,k=1,2,...k=1,2,...k=1,2,...,则称其为XXX的kkk阶 原点矩:
- E[Xk]=∑x:p(x)>0xkp(x)E\left[X^k\right]=\sum_{x: p(x)>0} x^k p(x)E[Xk]=∑x:p(x)>0xkp(x)
- 若E{[X−E(X)]k}E\{\left[X-E(X)\right]^k\}E{[X−E(X)]k}存在,k=2,3,...k=2,3,...k=2,3,...,则称其为XXX的kkk阶 中心矩
- 若E[XkYl]E\left[X^kY^l\right]E[XkYl]存在,k,l=1,2,...k,l=1,2,...k,l=1,2,...,称之为X、YX、YX、Y的k+lk+lk+l阶 混合原点矩
- 若E{[X−E(X)]k[Y−E(Y)]l}E\{\left[X-E(X)\right]^k\left[Y-E(Y)\right]^l\}E{[X−E(X)]k[Y−E(Y)]l}存在,k=2,3,...k=2,3,...k=2,3,...,则称其为X、YX、YX、Y的k+lk+lk+l阶 混合中心矩
- 若E[Xk]E\left[X^k\right]E[Xk]存在,k=1,2,...k=1,2,...k=1,2,...,则称其为XXX的kkk阶 原点矩:
- 常用概率分布
- Bernoulli分布:单个二值随机变量的分布
- ϕ∈[0,1]\phi \in [0,1]ϕ∈[0,1],ϕ\phiϕ给出了随机变量x等于1的概率
- P(x=1)=ϕP(\text{x}=1)=\phiP(x=1)=ϕ
- P(x=0)=1−ϕP(\text{x}=0)=1-\phiP(x=0)=1−ϕ
- P(x=x)=ϕx(1−ϕ)1−xP(\text{x}=x)=\phi ^x (1-\phi)^{1-x}P(x=x)=ϕx(1−ϕ)1−x
- Ex[x]=ϕ\mathbb E _\text{x}[\text{x}]=\phiEx[x]=ϕ
- Var(x)=ϕ(1−ϕ)\text{Var}(\text{x})=\phi (1-\phi)Var(x)=ϕ(1−ϕ)
- ϕ∈[0,1]\phi \in [0,1]ϕ∈[0,1],ϕ\phiϕ给出了随机变量x等于1的概率
- Multinoulli分布:具有 k 个不同状态的单个离散型随机变量上的分布
- Multinoulli分布由向量$\boldsymbol{p} \in [0,1]^{k−1} 参数化,其中每个分量参数化,其中每个分量参数化,其中每个分量p_i表示第表示第表示第i$个状态的概率
- 高斯分布(正态分布) :
N(x;μ,σ2)=12πσ2exp(−12σ2(x−μ)2)\mathcal{N}(x;\mu,\sigma^2) = \sqrt{\cfrac{1}{2\pi\sigma^2}}\text{exp}\left(-\cfrac{1}{2\sigma^2(x-\mu)^2}\right) N(x;μ,σ2)=2πσ21exp(−2σ2(x−μ)21)- 正态分布由两个参数控制,μ∈R\mu \in \mathbb{R}μ∈R 和 σ∈(0,∞)\sigma \in (0, \infty)σ∈(0,∞)
- 参数 μ\muμ 给出了中心峰值的坐标,也是分布的均值:E[x]=µE[x] = µE[x]=µ
- 分布的标准差用 σ\sigmaσ 表示,方差用 σ2\sigma^2σ2表示
- 泊松分布
- P(X=k)=e−λλkk!P(X=k)=\cfrac{\mathrm{e}^{-\lambda} \lambda^k}{k !}P(X=k)=k!e−λλk
- 单位时间、单位长度、单位面积、单位体积中发生某一事件的次数常可以用泊松分布刻画
- λ\lambdaλ是单位时间(或单位面积)内随机事件的平均发生率
- 指数分布
- P(x;λ)=λ1x≥0exp(−λx)P(x;\lambda) = \lambda\boldsymbol{1}_{x \ge 0}\text{exp}(-\lambda x)P(x;λ)=λ1x≥0exp(−λx)
- Laplace分布
- Laplace(x;μ,γ)=12γexp(−∣x−μ∣γ)\text{Laplace}(x;\mu,\gamma)=\cfrac{1}{2\gamma}\text{exp}\left(-\cfrac{|x-\mu|}{\gamma}\right)Laplace(x;μ,γ)=2γ1exp(−γ∣x−μ∣)
- 可以看作是两个指数分布“背靠背”在一起
- Dirac分布和经验分布
- Dirac分布:概率分布中的所有质量都集中在一个点上
- P(x)=δ(x−μ)P(x)=\delta(x-\mu)P(x)=δ(x−μ)
- Dirac分布经常作为经验分布(可理解为“采样”)的一个组成部分出现
- p^(x)=1m∑i=1mδ(x−x(i))\hat{p}(\boldsymbol{x})=\frac{1}{m}\sum_{i=1}^m\delta(\boldsymbol{x}-\boldsymbol{x^{(i)}})p^(x)=m1∑i=1mδ(x−x(i))
- Dirac分布:概率分布中的所有质量都集中在一个点上
- 分布的混合
- 通过组合一些简单的概率分布来定义新的概率分布
- Bernoulli分布:单个二值随机变量的分布
- 常用函数的有用性质
- logistic sigmoid函数
- σ(x)=11+exp(−x)\sigma(x)=\cfrac{1}{1+\text{exp}(-x)}σ(x)=1+exp(−x)1
- 可以用来产生Bernoulli分布中的参数ϕ\phiϕ (0,∞)(0, \infty)(0,∞)
- softplus函数
- ζ(x)=log(1+exp(x))\zeta (x) = \text{log}(1+\text{exp}(x))ζ(x)=log(1+exp(x))
- 可以用来产生正态分布的σ\sigmaσ参数
- 是ReLu函数( x+=max(0,x)x^+=\text{max}(0,x)x+=max(0,x) )的“平滑”形式
- logistic sigmoid函数
- 贝叶斯规则
- 已知P(y∣x)P(y|x)P(y∣x),要计算P(x∣y)P(x|y)P(x∣y),若知道P(x)P(x)P(x),则可使用贝叶斯规则
- P(x∣y)=P(x)P(y∣x)P(y)=P(x)P(y∣x)∑xP(y∣x)P(x)P(x|y)=\cfrac{P(x)P(y|x)}{P(y)}=\cfrac{P(x)P(y|x)}{\sum_xP(y|x)P(x)}P(x∣y)=P(y)P(x)P(y∣x)=∑xP(y∣x)P(x)P(x)P(y∣x)
- 已知P(y∣x)P(y|x)P(y∣x),要计算P(x∣y)P(x|y)P(x∣y),若知道P(x)P(x)P(x),则可使用贝叶斯规则
信息论
使用信息论的一些关键思想来描述概率分布或者量化概率分布之间的相似性。
- 自信息:定义一个事件x=x\text{x}=xx=x的自信息为:
- I(x)=−logP(x)I(x)=-\text{log}P(x)I(x)=−logP(x)
- 底数为e,则单位为奈特;底数为2,则单位为比特
- 自信息只处理单个的输出
- I(x)=−logP(x)I(x)=-\text{log}P(x)I(x)=−logP(x)
- 香农熵:对整个概率分布中的不确定性总量进行量化
- H(x)=Ex∼P[I(x)]=−Ex∼P[logP(x)]H(\text{x})=\mathbb{E}_{\text{x} \sim P}[I(x)]=-\mathbb{E}_{\text{x} \sim P}[\text{log}P(x)]H(x)=Ex∼P[I(x)]=−Ex∼P[logP(x)]
- “熵”:越“混乱”越大——越不确定越大
- KL散度:衡量对同一随机变量x的两个单独概率分布 P(x)P(x)P(x)和Q(x)Q(x)Q(x)的差异
- DKL(P∣∣Q)=Ex∼P[logP(x)−logQ(x)]D_{KL}(P||Q)=\mathbb{E}_{\text{x} \sim P}[\text{log}P(x)-\text{log}Q(x)]DKL(P∣∣Q)=Ex∼P[logP(x)−logQ(x)]
- 分布几乎处处相同时KL散度为0
- 通常DKL(P∣∣Q)≠DKL(Q∣∣P)D_{KL}(P||Q) \ne D_{KL}(Q||P)DKL(P∣∣Q)=DKL(Q∣∣P)
- 交叉熵:
- H(P,Q)=H(P)+DKL(P∣∣Q)H(P, Q)=H(P)+D_{KL}(P||Q)H(P,Q)=H(P)+DKL(P∣∣Q)
- H(P,Q)=−Ex∼PlogQ(x)H(P, Q)=-\mathbb{E}_{\text{x} \sim P} \text{log}Q(x)H(P,Q)=−Ex∼PlogQ(x)
数值计算
上溢和下溢
- 数值分析概念,运算时考虑其影响即可。一般调库时不需要考虑。
病态条件
- 数值分析概念,考虑函数f(x)=A−1xf(\boldsymbol{x})=\boldsymbol{A}^{-1}\boldsymbol{x}f(x)=A−1x,当A∈Rn×nA \in \mathbb{R}^{n \times n}A∈Rn×n具有分解特征值时,条件数为maxi,j∣λiλj∣\max _{i,j} \left | \cfrac{\lambda_i}{\lambda_j} \right |maxi,jλjλi,越大,矩阵求逆对误差越敏感。
基于梯度的优化方法
- 把要最小化或最大化的函数称为目标函数
- 要对其进行最小化时,称为
- 代价函数cost function
- 损失函数loss function
- 误差函数error function
- 导数
- 梯度下降
- 局部最小,局部最大,全局最小,全局最大
- 偏导数
- 梯度
- 记为▽xf(x)\boldsymbol{\triangledown_{x}}f(\boldsymbol{x})▽xf(x)
- 多维情况下,临界点是梯度中所有元素都为0的点
- 在u\boldsymbol{u}u方向的方向导数是函数fff在u\boldsymbol{u}u方向的斜率
- 是函数∂∂αf(x+αu)\cfrac{\partial}{\partial{\alpha}}f(\boldsymbol{x} + \alpha \boldsymbol{u})∂α∂f(x+αu)关于α\alphaα的导数
- 当α=0\alpha=0α=0时,∂∂αf(x+αu)=uT▽xf(x)\cfrac{\partial}{\partial{\alpha}}f(\boldsymbol{x} + \alpha \boldsymbol{u}) = \boldsymbol{u}^T\boldsymbol{\triangledown_{x}}f(\boldsymbol{x})∂α∂f(x+αu)=uT▽xf(x)
- 找到使fff下降最快的方向,计算方向导数:
minu,u⊤u=1u⊤∇xf(x)=minu,u⊤u=1∥u∥2∥∇xf(x)∥2cosθ\begin{gathered} \min _{\boldsymbol{u}, \boldsymbol{u}^{\top} \boldsymbol{u}=1} \boldsymbol{u}^{\top} \nabla_{\boldsymbol{x}} f(\boldsymbol{x}) \\ =\min _{\boldsymbol{u}, \boldsymbol{u}^{\top} \boldsymbol{u}=1}\|\boldsymbol{u}\|_2\left\|\nabla_{\boldsymbol{x}} f(\boldsymbol{x})\right\|_2 \cos \theta \end{gathered} u,u⊤u=1minu⊤∇xf(x)=u,u⊤u=1min∥u∥2∥∇xf(x)∥2cosθ- 其中θ\thetaθ是u\boldsymbol{u}u与梯度的夹角
- 将∥u∥2=1\|\boldsymbol{u}\|_2=1∥u∥2=1代入,忽略与u\boldsymbol{u}u无关的项,简化得minu,u⊤u=1cosθ\min _{\boldsymbol{u}, \boldsymbol{u}^{\top} \boldsymbol{u}=1} \cos \thetaminu,u⊤u=1cosθ
- 可见在负梯度方向上移动可以最快减小fff
- 梯度下降建议更新为
- x′=x−ϵ∇xf(x)\boldsymbol{x}^{\prime}=\boldsymbol{x}-\epsilon \nabla_x f(\boldsymbol{x})x′=x−ϵ∇xf(x)
- 其中 ϵ\epsilonϵ 为学习率(learning rate)
梯度之上:Jacobian和Hessian
- Jacobian矩阵:如果有一个函数f:Rm→Rn\boldsymbol{f}:\mathbb{R}^m \rightarrow \mathbb{R}^nf:Rm→Rn,则Jacobain矩阵定义为:
- J∈Rn×mJi,j=∂∂xjf(x)i\boldsymbol{J} \in \mathbb{R}^{n \times m} \boldsymbol{J}_{i,j}=\cfrac{\partial}{\partial x_j}f(\boldsymbol{x})_iJ∈Rn×mJi,j=∂xj∂f(x)i
- 二阶导数是对函数曲率的衡量,影响基于梯度的预测值。
- Hessian矩阵:函数具有多维输入时,二阶导数也有很多,将这些导数合并成一个矩阵就是Hessian矩阵,定义为:
- H(f)(x)i,j=∂2∂xi∂xjf(x)\boldsymbol{H}(f)(\boldsymbol{x})_{i,j}=\cfrac{\partial^2}{\partial x_i \partial x_j}f(\boldsymbol{x})H(f)(x)i,j=∂xi∂xj∂2f(x)
- 在深度学习中,大部分时候Hi,j=Hj,iH_{i,j}=H_{j,i}Hi,j=Hj,i,因此大部分其是实对称矩阵,可将其分解成一组实特征值和一组特征向量的正交基
- 在特定方向d\boldsymbol{d}d上的二阶导数可以写成 dTHd\boldsymbol{d^THd}dTHd
- 当d\boldsymbol{d}d是H\boldsymbol{H}H的一个特征向量时,这个方向的二阶导数就是对应的特征值
- 对于其他的方向d\boldsymbol{d}d,方向二阶导数是所有特征值的加权平均,权重在 0 和 1 之间,且与d\boldsymbol{d}d夹角越小的特征向量的权重越大。最大特征值确定最大二阶导数,最小特征值确定最小二阶导数
- 可以通过方向二阶导数预期一个梯度下降步骤能表现的多好
- 用泰勒级数近似在点x(0)\boldsymbol{x}^{(0)}x(0)处作f(x)f(\boldsymbol{x})f(x)的近似二阶泰勒级数,梯度下降的学习率可代入并计算得:当gTHg\boldsymbol{g^THg}gTHg (g是梯度,H是Hessian)为正时,最优步长为:
- ϵ∗=gTggTHg\epsilon^*=\cfrac{\boldsymbol{g^Tg}}{g^THg}ϵ∗=gTHggTg
- 用泰勒级数近似在点x(0)\boldsymbol{x}^{(0)}x(0)处作f(x)f(\boldsymbol{x})f(x)的近似二阶泰勒级数,梯度下降的学习率可代入并计算得:当gTHg\boldsymbol{g^THg}gTHg (g是梯度,H是Hessian)为正时,最优步长为:
- 二阶导数还可以被用于确定一个临界点是否是局部极大点、局部极小点或鞍点(二阶导数测试)
- 仅使用梯度信息的优化算法被称为一阶优化算法,如梯度下降
- 使用 Hessian 矩阵的优化算法被称为二阶最优化算法,如牛顿法
- 深度学习中,限制函数满足 Lipschitz 连续或其导数Lipschitz连续可以保证优化算法的适用。Lipschitz 连续函数的变化速度以 Lipschitz常数L\mathcal{L}L为界:
- ∀x,∀y,∣f(x)−f(y)∣≤L∥x−y∥2\forall \boldsymbol{x},\forall \boldsymbol{y}, |f(\boldsymbol{x})-f(\boldsymbol{y})| \le \mathcal{L}\|\boldsymbol{x-y}\|_2∀x,∀y,∣f(x)−f(y)∣≤L∥x−y∥2
- Jacobian矩阵:如果有一个函数f:Rm→Rn\boldsymbol{f}:\mathbb{R}^m \rightarrow \mathbb{R}^nf:Rm→Rn,则Jacobain矩阵定义为:
约束优化
- 希望在x\boldsymbol{x}x的某些集合S\mathbb{S}S中找f(x)f(\boldsymbol{x})f(x)的最大值或最小值。这被称为约束优化
- 集合S\mathbb{S}S内的点x\boldsymbol{x}x被称为 可行点(feasible)
- 找到在某种意义上小的解的常见方法是强加一个范数约束
- Karush–Kuhn–Tucker(KKT)方法是针对约束优化非常通用的解决方案
梯度下降法计算线性最小二乘
- 对式 f(x)=12∥Ax−b∥22f(\boldsymbol{x})=\frac{1}{2}\|\boldsymbol{A} \boldsymbol{x}-\boldsymbol{b}\|_2^2f(x)=21∥Ax−b∥22 找到最小化的x\boldsymbol{x}x的值
- 计算梯度:
∇xf(x)=A⊤(Ax−b)=A⊤Ax−A⊤b\nabla_x f(\boldsymbol{x})=\boldsymbol{A}^{\top}(\boldsymbol{A} \boldsymbol{x}-\boldsymbol{b})=\boldsymbol{A}^{\top} \boldsymbol{A} \boldsymbol{x}-\boldsymbol{A}^{\top} \boldsymbol{b}∇xf(x)=A⊤(Ax−b)=A⊤Ax−A⊤b
使用梯度下降法:
while ∥A⊤Ax−A⊤b∥2>δdo x←x−ϵ(A⊤Ax−A⊤b)end while \begin{aligned} & \text { while }\left\|\boldsymbol{A}^{\top} \boldsymbol{A} \boldsymbol{x}-\boldsymbol{A}^{\top} \boldsymbol{b}\right\|_2>\delta \text { do } \\ & \qquad \boldsymbol{x} \leftarrow \boldsymbol{x}-\epsilon\left(\boldsymbol{A}^{\top} \boldsymbol{A} \boldsymbol{x}-\boldsymbol{A}^{\top} \boldsymbol{b}\right) \\ & \text { end while } \end{aligned} while A⊤Ax−A⊤b2>δ do x←x−ϵ(A⊤Ax−A⊤b) end while
机器学习的基本数学知识1相关推荐
- 机器学习中的数学知识(part4)--拟牛顿法
学习笔记,仅供参考,有错必究 文章目录 机器学习中的数学知识 拟牛顿法 面临的问题(局部极小/鞍点) 机器学习中的数学知识 拟牛顿法
- 机器学习中的数学知识(part3)--凸优化
学习笔记,仅供参考,有错必究 文章目录 机器学习中的数学知识 凸优化 非凸优化 机器学习中的数学知识 凸优化 下面是实际问题中常见的凸集,记住它们对理解后面的算法非常有帮助. n n
- 机器学习中的数学知识(part2)
学习笔记,仅供参考,有错必纠 参考自:<机器学习与应用>–雷明 文章目录 机器学习中的数学知识 泰勒展开 梯度下降法 牛顿法 机器学习中的数学知识 泰勒展开 梯度下降法
- 机器学习中的数学知识(part1)
学习笔记,仅供参考,有错必纠 参考自:<机器学习与应用>–雷明 文章目录 机器学习中的数学知识 偏导数与梯度 雅克比矩阵 Hessian矩阵 奇异值分解 向量与矩阵求导 机器学习中的数学知 ...
- 机器学习必备的数学知识,一次学会
面对机器学习,初学者的阻塞点往往不在于机器学习本身,而是数学.机器学习是计算机技术,但它的底层是数学. 通常,在机器学习相关的教材中,通篇都是复杂的数学公式.初学者如果数学基础不牢固,面对满篇的数学公 ...
- 【机器学习】【数学】机器学习涉及的数学知识
简单总结:机器学习涉及的数学知识有线性代数,概率论和统计学,多变量微积分,算法和复杂优化,以及其他等. 原文:https://www.ibm.com/developerworks/community/ ...
- 从入门到高阶,读懂机器学习需要哪些数学知识
本篇文章是由留德华叫兽 在知乎的优秀回答改编扩展而成的, 作者留德华叫兽有着应用数学和硕士运筹学.优化理论的背景转到德国海德堡大学读博,主要从事机器学习.计算机视觉的研究,希望自己的一些经验可以对想入 ...
- 一文读懂机器学习需要哪些数学知识
转: 作者: 留德华叫兽 系美国克莱姆森大学运筹学硕士,Ph.D. Candidate,师从整数规划大师W. Adams,后跳槽至欧盟玛丽居里博士项目,期间前往意大利IBM Cplex实习半年,巴黎综 ...
- 一些机器学习相关的数学知识
概率论 1.频率与概率的区别 2.条件概率: P ( A ∣ B ) = P ( A B ) P ( B ) P(A|B)=\frac{P(AB)}{P(B)} P(A∣B)=P(B)P(AB) P ...
最新文章
- TFS 无法签入或自动签出 解决方法 【强制撤销签出无效】
- 【思维导图】Python中常用的8种字符串操作
- 5G NR 决定CORESET0频域位置的offset取值由来
- 微软向Chromium贡献代码以优化浏览器滚动体验
- linux中iptables对防火墙的操作
- 程序员谈 JavaScript 数组 Array 的学习
- ubuntu dpkg
- python matlibplot_python matlibplot绘制3D图形
- launchMode的几种模式
- linux系统下安装python3
- 回溯算法-八皇后问题
- 一键让网页变黑白色调
- python 图像拼接_python实现图像拼接功能
- Pycharm远程调试服务器代码出错:[Errno 2] No such file or directory
- Word/WPS 利用邮件合并批量生成文档
- 金融科技、算法交易、量化金融必读书:Python金融大数据分析第2版
- 全站仪,激光跟踪仪,激光干涉仪,激光测距仪
- html如何取消背景平铺,css怎么设置图片背景不平铺?
- 怎么查看python的库的函数_如何查看python库函数
- 【深度学习】深度学习中的可解释性(1)
热门文章
- SDL系列讲解(二) 环境搭建
- Xcode基础知识与调试lldb命令
- icp光谱仪的工作原理_ICP工作原理
- Reading Note(8) ——GNN for DSE Optimization
- 《圣殿祭司的ASP.NET4.0专家技术手册》----1-1 ASP.NET平台的三分天下
- matlab求矩阵行最简形,计算矩阵行最简行的命令
- 安卓手机的屏幕规格很多。app开发者在设计User Interface的时候,要怎么处理,才能适应不同屏幕大小?...
- 配置将java转换为python环境
- netty整合websocket支持自签证书出现netty websocket ssl Received fatal alert: certificate_unknown
- python多项式求导_链表 一元多项式求导