机器学习的基本数学知识1

机器学习的基本数学知识(自用)

线性代数

  • 标量、向量、矩阵和张量
    • 标量:一个单独的数
    • 向量:一列数
    • 矩阵:二维数组
    • 张量:维数超过二维的数组
    • 转置:矩阵的行列互换
  • 矩阵与向量相乘
  • 单位矩阵和逆矩阵
    • 单位矩阵:主对角线元素都是1
    • 逆矩阵: A − 1 A = I \boldsymbol{A}^{-1}\boldsymbol{A}=\boldsymbol{I} A1A=I
  • 线性相关与生成子空间
    • A \boldsymbol{A} A的列向量看作是从原点出发的向量,则 A x = ∑ i x i A : , i \boldsymbol{A}\boldsymbol{x}=\sum_ix_i\boldsymbol{A}_{:,i} Ax=ixiA:,i(称为线性组合),一组向量的线性组合所能及的点的集合就是这组向量的生成子空间
    • 线性相关:向量组某向量能用组内其他向量线性表示
    • 线性无关:向量组的每个向量都是组内其他向量无法线性组合表示的
    • 列向量线性相关的方阵被称为是 奇异的
  • 范数
    • 范数是满足下列性质的函数:
      • f ( x ) = 0 ⇒ x = 0 f(\boldsymbol{x})=0 \Rightarrow \boldsymbol{x = 0} f(x)=0x=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)
    • L p L^p Lp范数:
      • ∣ ∣ x ∣ ∣ p = ( ∑ i ∣ x i ∣ p ) 1 p p ∈ R , p ≥ 1 ||\boldsymbol{x}||_p=\left(\sum_i|x_i|^p\right)^{\frac{1}{p}}\quad p \in \mathbb{R},p \ge 1 ∣∣xp=(ixip)p1pR,p1
    • L 0 L^0 L0范数:向量中非零元素的个数
    • L ∞ L^\infty L范数:向量中最大幅值元素的绝对值
      • ∣ ∣ x ∣ ∣ ∞ = max i ∣ x i ∣ ||\boldsymbol{x}||_\infty=\text{max}_i|x_i| ∣∣x=maxixi
    • 矩阵的F范数:
      • ∣ ∣ A F ∣ ∣ = ∑ i , j A i , j 2 ||\boldsymbol{A}_F||=\sqrt{\sum_{i,j}A^2_{i,j}} ∣∣AF∣∣=i,jAi,j2
    • 两个向量的点积用范数表示:
      • x T y = ∣ ∣ x ∣ ∣ 2 ∣ ∣ y ∣ ∣ 2 cos θ \boldsymbol{x}^T\boldsymbol{y}=||\boldsymbol{x}||_2||\boldsymbol{y}||_2\text{cos}\theta xTy=∣∣x2∣∣y2cosθ
  • 特殊类型的矩阵和向量
    • 对角矩阵:只有主对角线上含有非零元素
    • 对称矩阵:转置和自己相等的矩阵
    • 单位向量:具有单位范数的向量
    • 正交: x T y = 0 \boldsymbol{x}^T\boldsymbol{y}=0 xTy=0
    • 标准正交:不但正交,且范数都为1
    • 正交矩阵:行向量和列向量是分别标准正交的方阵
      • A − 1 = A T \boldsymbol{A}^{-1}=\boldsymbol{A}^T A1=AT
  • 特征分解
    • 将矩阵分解成一组特征向量和特征值
      • A v = λ v \boldsymbol{Av}=\lambda\boldsymbol{v} Av=λv
        • 特征向量:与A相乘后相当于对该向量进行缩放的非零向量 v \boldsymbol{v} v
        • 特征值:标量 λ \lambda λ
    • 矩阵 A \boldsymbol{A} A n n n个线性无关的特征向量 { 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 = V diag ( λ ) V − 1 \boldsymbol{A}=\boldsymbol{V}\text{diag}(\boldsymbol{\lambda})\boldsymbol{V}^{-1} A=Vdiag(λ)V1
    • 所有特征值都是非负数的矩阵被称为半正定
      • 保证 ∀ x , x T A x ≥ 0 \forall \boldsymbol{x}, \boldsymbol{x}^T\boldsymbol{Ax} \ge 0 x,xTAx0
    • 所有特征值都是正数的矩阵被称为正定
      • 除保证大于等于0,还保证 ∀ x , x T A x = 0 ⇒ x = 0 \forall \boldsymbol{x}, \boldsymbol{x}^T\boldsymbol{Ax} = 0 \Rightarrow \boldsymbol{x} = \boldsymbol{0} x,xTAx=0x=0
    • 所有特征值都是非正数的矩阵称为半负定
  • 奇异值分解
    • 将矩阵(扩展到非方阵)分解为奇异向量和奇异值
      • A = U D V T \boldsymbol{A}=\boldsymbol{UDV}^T A=UDVT
      • A \boldsymbol{A} A是一个 m × n m \times n m×n的矩阵, U \boldsymbol{U} U是一个 m × m m \times m m×m的矩阵, V \boldsymbol{V} V是一个 n × n n \times n n×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 + = V D + U T \boldsymbol{A}^+=\boldsymbol{V}\boldsymbol{D}^+\boldsymbol{U}^T A+=VD+UT
      • U ,  D  和  V \boldsymbol{U\text{, }D\text{ 和 }V} UD  V是矩阵 A \boldsymbol{A} A 奇异值分解得到的矩阵
      • D + \boldsymbol{D}^+ D+ D \boldsymbol{D} D的非零元素取倒数后转置得到的
  • 迹运算
    • 返回的是对角元素的和
      • Tr ( A ) = ∑ i A i , i \text{Tr}(\boldsymbol{A}) = \sum_i \boldsymbol{A}_{i,i} Tr(A)=iAi,i
    • 用迹描述F范数
      • ∣ ∣ A F ∣ ∣ = Tr ( A A T ) ||\boldsymbol{A}_F||=\sqrt{\text{Tr}(\boldsymbol{AA}^T)} ∣∣AF∣∣=Tr(AAT)
    • 迹运算在转置下是不变的
      • Tr ( A ) = Tr ( A T ) \text{Tr}(\boldsymbol{A}) = \text{Tr}(\boldsymbol{A}^T) Tr(A)=Tr(AT)
    • 多个矩阵相乘得到的方阵的迹
      • Tr ( A B C ) = Tr ( C A B ) = Tr ( B C A ) \text{Tr}(\boldsymbol{ABC}) = \text{Tr}(\boldsymbol{CAB}) = \text{Tr}(\boldsymbol{BCA}) Tr(ABC)=Tr(CAB)=Tr(BCA)
    • 矩阵相乘后形状变了,迹运算的结果依然不变
      • Tr ( A B ) = Tr ( B A ) A ∈ R m × n ,  B ∈ R n × 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)ARm×nBRn×m
    • 标量的迹是它自己
  • 行列式 det ( A ) \text{det}(\boldsymbol{A}) det(A)
    • 等于矩阵特征值的乘积
    • 衡量矩阵参与矩阵乘法后空间扩大缩小了多少
      • 如果是0,说明空间沿某一维完全收缩了,失去了所有体积
      • 如果是1,说明转换保持空间体积不变

主成分分析(Principal Components Analysis, PCA)

  • 假设在 R n \mathbb{R}^n Rn空间中有 m m m个点 { x ( 1 ) , . . . , x ( n ) } \{\boldsymbol{x^{(1)}, ..., x^{(n)}}\} {x(1),...,x(n)}, 用低维表示编码这些点, 即对每个点 x ( i ) ∈ R n \boldsymbol{x}^{(i)} \in \mathbb{R}^n x(i)Rn, 会有一个对应的编码向量 c ( i ) ∈ R l \boldsymbol{c}^{(i)} \in \mathbb{R}^l c(i)Rl , 其中 l < n l < n l<n;
  • 找到一个编码函数 f f f 使得 f ( x ) = c f(\boldsymbol{x})=\boldsymbol{c} f(x)=c,也希望找到一个解码函数 g g g 使得 x ≈ g ( f ( x ) ) \boldsymbol{x} \approx g\left( f(\boldsymbol{x}) \right) xg(f(x));
  • 为了简化解码器,使用矩阵乘法将编码映射回 R n \mathbb{R}^n Rn ,即 g ( c ) = D c g(\boldsymbol{c}) = \boldsymbol{Dc} g(c)=Dc,其中 D ∈ R n × l \boldsymbol{D} \in \mathbb{R}^{n \times l} DRn×l 是定义解码的矩阵,其限制列向量具有单位范数且彼此正交;
  • 计算最优编码 c ∗ \boldsymbol{c}^* c, 可将问题化为最小化原始输入向量与重构向量之间的距离, 使用 L 2 L^2 L2范数描述问题:
    c ∗ = arg ⁡ min ⁡ c ∥ x − g ( c ) ∥ 2 \boldsymbol{c}^*=\arg \min _c\|\boldsymbol{x}-g(\boldsymbol{c})\|_2 c=argcminxg(c)2
  • 使用 L 2 L^2 L2范数的平方代替,并化简得到:
    c ∗ = arg ⁡ min ⁡ c − 2 x T D c + c T c \boldsymbol{c}^*=\arg \min _c -2\boldsymbol{x}^T\boldsymbol{Dc}+\boldsymbol{c}^T\boldsymbol{c} c=argcmin2xTDc+cTc
  • 通过向量微积分求解得:
    c = D T x \boldsymbol{c}=\boldsymbol{D}^T\boldsymbol{x} c=DTx
  • 即编码函数为:
    f ( x ) = D T x f(\boldsymbol{x})=\boldsymbol{D}^T\boldsymbol{x} f(x)=DTx
  • 重构操作为:
    r ( x ) = g ( f ( x ) ) = D D T x r(\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 ∗ = arg ⁡ min ⁡ c ∑ i , j ( x j ( i ) − r ( x ( i ) ) j ) 2  subject to  D D T = I l \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}_l D=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 ) = c g(x, y)=c g(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 xf=λxg;yf=λyg;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)+λ[cg(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 xF=0;yF=0;λF=0
  • 推导过程:
    • D \boldsymbol{D} D中基向量为 { u 1 , u 2 , . . . , u l } \{\boldsymbol{u}_1, \boldsymbol{u}_2, ..., \boldsymbol{u}_l\} {u1,u2,...,ul} (从 n 维降到 l 维)
    • 数据点 x i \boldsymbol{x}_i xi在该基底上的投影为 x i T ⋅ u j \boldsymbol{x}_i^T \cdot \boldsymbol{u}_j xiTuj
    • 所有数据在该基底上的投影的方差为(m为样本数量)
      • J j = 1 m ∑ i = 1 m ( x i T u j − x c e n t e r T u j ) 2 \boldsymbol{J}_j=\frac{1}{m} \sum _{i=1} ^m (x_i^Tu_j - x_{center}^Tu_j)^2 Jj=m1i=1m(xiTujxcenterTuj)2
    • 在运算之前对数据x进行0均值初始化,即 x c e n t e r = 0 x_{center}=0 xcenter=0,从而有
      J j = 1 m ∑ i = 1 m ( x i T u j ) 2 = 1 m ∑ i = 1 m ( u j T x i ⋅ x i T u j ) = u j T ⋅ 1 m ∑ i = 1 m ( x i x i T ) ⋅ u j = u j T ⋅ 1 m ( [ x 1 ⋯ x m ] ⋅ [ x 1 ⋯ x m ] ) ⋅ u j = = 1 m u j T X X T u j = u j T S u j u . t .   u j T u j \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=1m(xiTuj)2=m1i=1m(ujTxixiTuj)=ujTm1i=1m(xixiT)uj=ujTm1([x1xm] x1xm )uj==m1ujTXXTuj=ujTSuju.t. ujTuj
    • 构造函数
      F ( u j ) = u j T S u j + λ j ( 1 − u j T u j ) F(u_j) = u_j^T \boldsymbol{S} u_j + \lambda_j(1-u_j^T u_j) F(uj)=ujTSuj+λj(1ujTuj)
    • 求解 ∂ F ∂ u j = 0 \frac{\partial F}{\partial u_j}=0 ujF=0,得:
      2 S ⋅ u j − 2 λ j ⋅ u j = 0 ⇒ S u j = λ j u j 2\boldsymbol{S} \cdot u_j - 2\lambda_j \cdot u_j = 0 \Rightarrow \boldsymbol{S} u_j = \lambda_j u_j 2Suj2λjuj=0Suj=λjuj
    • u j u_j uj λ j \lambda_j λj分别为 S \boldsymbol{S} S矩阵的特征向量、特征值时, J j \boldsymbol{J}_j Jj有极值,上述结果回代得
      u j T S u j = u j T λ j u j = λ j u_j^T \boldsymbol{S} u_j = u_j^T \lambda_j u_j = \lambda _j ujTSuj=ujTλjuj=λj
    • 所以对于任意满足条件的正交基,对应的数据在上面投影后的方差值为 S \boldsymbol{S} S矩阵的特征向量,从而
      J m a x = ∑ j = 1 k λ j ,   λ 从大到小排序 \boldsymbol{J}_{max}=\sum^k_{j=1}\lambda_j, \text{ $\lambda$从大到小排序} Jmax=j=1kλj, λ从大到小排序
    • 所以投影正交基为
      • S \boldsymbol{S} S的特征向量中的前k个最大特征值对应的特征向量
    • S \boldsymbol{S} S进行特征分解
      D = D   o f   s v d ( S ) = D   o f   s v d ( 1 m X X T ) \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)
    • 因此
      X n e w l × m = [ u 1 T u 2 T ⋮ u l T ] l × n ⋅ X n × 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= u1Tu2TulT l×nXn×m
  • PCA使用过程
    1. 初始化 X \boldsymbol{X} X,使得所有样本之间的特征值均值为0,同时应用feature scaling,缩放到 − 0.5 ∼ 0.5 -0.5 \sim 0.5 0.50.5
    2. 计算 X \boldsymbol{X} X的协方差矩阵 S \boldsymbol{S} S
    3. S \boldsymbol{S} S进行SVD分解, U \boldsymbol{U} U即我们要求的新坐标系集合, D \boldsymbol{D} D为特征值集合(计算时特征值都会大于0,且结果会从小到大排列)
    4. 按照特征值从大到小排序,要降低为 l l l维,那么取前 l l l个特征值对应的特征向量,就是新的 l l l个坐标轴
    5. 把X映射到新的坐标系中,完整降维操作

概率论

  • 样本空间随机实验 全部可能的结果组成的集合
  • 随机变量:定义在样本空间上的实值函数
    • 通常用无格式与手写体字母区分随机变量与随机变量的取值。例如x表示随机变量本身, x 1 , x 2 x_1, x_2 x1,x2表示具体的取值
    • 随机变量是对可能的状态的描述,必须要有对应的概率分布来指定每个状态(即随机变量取值)的可能性
  • 概率分布:描述随机变量每个状态的可能性大小
    • 概率质量函数:离散型随机变量的概率分布
      • 概率质量函数 P P P需满足条件:
        1. P P P的定义域是x所有可能状态的集合
        2. ∀ x ∈ x , 0 ≤ P ( x ) ≤ 1 \forall x \in \text{x}, 0\le P(x) \le 1 xx,0P(x)1
        3. ∑ i = 1 ∞ P ( x i ) = 1 \sum_{i=1}^{\infty}P(x_i)=1 i=1P(xi)=1
      • 概率质量函数本身就反映了变量x取某值的概率
    • 概率密度函数:连续型随机变量的概率分布
      • 概率密度函数 P P P需满足条件:
        1. P P P的定义域是x所有可能状态的集合
        2. ∀ x ∈ x , P ( x ) ≥ 0 \forall x \in \text{x}, P(x) \ge 0 xx,P(x)0
        3. ∫ i = 1 ∞ P ( x i ) = 1 \int_{i=1}^{\infty}P(x_i)=1 i=1P(xi)=1
      • 需对概率密度函数求积分来获得变量取值在某范围的概率
    • 累积分布函数:对任意给定实数 x x x,随机变量x小于等于 x x x的概率
      • F ( x ) = P ( x ≤ x ) F(x) = P(\text{x} \le x) F(x)=P(xx)
  • 联合概率分布:多个随机变量的概率分布
  • 边缘概率:已知其联合概率分布的一组变量的子集的概率分布
    • 例如已知离散随机变量x和y及其联合概率分布 P ( x,y ) P(\text{x,y}) P(x,y),求 P ( x ) P(\text{x}) P(x)
      • P ( x = x ) = ∑ y P ( 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 ) d y P(\text{x}=x)=\int P(x, y)dy P(x=x)=P(x,y)dy
  • 条件概率:某个事件在其他给定事件发生时出现的概率
    • 给定 x = x \text{x}=x x=x ,则 y = y \text{y}=y y=y 发生的条件概率记为 P ( y = y ∣ x = x ) P(\text{y}=y | \text{x}=x) P(y=yx=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=yx=x)=P(x=x)P(y=y,x=x)
      • P ( x = x ) > 0 P(\text{x}=x)>0 P(x=x)>0
    • 条件概率的链式法则:任何多维随机变量的联合概率分布,都可以分解成只有一个变量的条件概率相乘的形式
      • P ( x ( 1 ) , . . . , x ( n ) ) = P ( x ( 1 ) ) ∏ i = 2 n P ( 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(i1))
  • 独立性和条件独立性:随机变量间互相不对对方的概率产生影响
    • ∀ 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) xx,yy,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) xx,yy,zz,P(x=x,y=yz=z)=P(x=xz=z)P(y=yz=z)
  • 期望、方差和协方差
    • 期望:“加权平均”;函数 f ( x ) f(x) f(x)关于某分布 P ( x ) P(\text{x}) P(x)的期望:
      • 离散: E x ∼ P [ f ( x ) ] = ∑ x P ( x ) f ( x ) \mathbb{E}_{x \sim P}[f(x)] = \sum_xP(x)f(x) ExP[f(x)]=xP(x)f(x)
      • 连续: E x ∼ P [ f ( x ) ] = ∫ P ( x ) f ( x ) d x \mathbb{E}_{x \sim P}[f(x)] = \int P(x)f(x)dx ExP[f(x)]=P(x)f(x)dx
      • 期望是线性的,即: E x [ α f ( x ) + β g ( x ) ] = α E x [ f ( x ) ] + β E x [ 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)]
    • 方差:“随机变量的差异程度”:
      • V a r ( 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]
      • 标准差:方差的平方根
    • 协方差:两变量之间的相关性强度
      • C o v ( 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)])]
      • 协方差的绝对值很大:变量值变化很大,且同时距各自的均值很远
      • 协方差是正的:两个变量趋势相同
      • 协方差是负的:两个变量趋势相反
      • 为零:两变量相互独立
  • 矩与矩母函数
    • E [ X k ] E\left[X^k\right] E[Xk]存在, k = 1 , 2 , . . . k=1,2,... k=1,2,...,则称其为 X X X k k k原点矩
      • E [ X k ] = ∑ x : p ( x ) > 0 x k p ( 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{[XE(X)]k}存在, k = 2 , 3 , . . . k=2,3,... k=2,3,...,则称其为 X X X k k k中心矩
    • E [ X k Y l ] E\left[X^kY^l\right] E[XkYl]存在, k , l = 1 , 2 , . . . k,l=1,2,... k,l=1,2,...,称之为 X 、 Y X、Y XY k + l k+l k+l混合原点矩
    • E { [ X − E ( X ) ] k [ Y − E ( Y ) ] l } E\{\left[X-E(X)\right]^k\left[Y-E(Y)\right]^l\} E{[XE(X)]k[YE(Y)]l}存在, k = 2 , 3 , . . . k=2,3,... k=2,3,...,则称其为 X 、 Y X、Y XY k + l k+l k+l混合中心矩
  • 常用概率分布
    • Bernoulli分布:单个二值随机变量的分布
      • ϕ ∈ [ 0 , 1 ] \phi \in [0,1] ϕ[0,1] ϕ \phi ϕ给出了随机变量x等于1的概率
        • P ( x = 1 ) = ϕ P(\text{x}=1)=\phi P(x=1)=ϕ
        • P ( x = 0 ) = 1 − ϕ P(\text{x}=0)=1-\phi P(x=0)=1ϕ
        • P ( x = x ) = ϕ x ( 1 − ϕ ) 1 − x P(\text{x}=x)=\phi ^x (1-\phi)^{1-x} P(x=x)=ϕx(1ϕ)1x
        • E x [ x ] = ϕ \mathbb E _\text{x}[\text{x}]=\phi Ex[x]=ϕ
        • Var ( x ) = ϕ ( 1 − ϕ ) \text{Var}(\text{x})=\phi (1-\phi) Var(x)=ϕ(1ϕ)
    • Multinoulli分布:具有 k 个不同状态的单个离散型随机变量上的分布
      • Multinoulli分布由向量$\boldsymbol{p} \in [0,1]^{k−1} 参数化,其中每个分量 参数化,其中每个分量 参数化,其中每个分量p_i 表示第 表示第 表示第i$个状态的概率
    • 高斯分布(正态分布)
      N ( x ; μ , σ 2 ) = 1 2 π σ 2 exp ( − 1 2 σ 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πσ21 exp(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 − λ λ k k ! P(X=k)=\cfrac{\mathrm{e}^{-\lambda} \lambda^k}{k !} P(X=k)=k!eλλk
      • 单位时间、单位长度、单位面积、单位体积中发生某一事件的次数常可以用泊松分布刻画
      • λ \lambda λ是单位时间(或单位面积)内随机事件的平均发生率
    • 指数分布
      • P ( x ; λ ) = λ 1 x ≥ 0 exp ( − λ x ) P(x;\lambda) = \lambda\boldsymbol{1}_{x \ge 0}\text{exp}(-\lambda x) P(x;λ)=λ1x0exp(λx)
    • Laplace分布
      • Laplace ( x ; μ , γ ) = 1 2 γ 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 ) = 1 m ∑ i = 1 m δ ( x − x ( i ) ) \hat{p}(\boldsymbol{x})=\frac{1}{m}\sum_{i=1}^m\delta(\boldsymbol{x}-\boldsymbol{x^{(i)}}) p^(x)=m1i=1mδ(xx(i))
    • 分布的混合
      • 通过组合一些简单的概率分布来定义新的概率分布
  • 常用函数的有用性质
    • logistic sigmoid函数
      • σ ( x ) = 1 1 + 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) )的“平滑”形式
  • 贝叶斯规则
    • 已知 P ( y ∣ x ) P(y|x) P(yx),要计算 P ( x ∣ y ) P(x|y) P(xy),若知道 P ( x ) P(x) P(x),则可使用贝叶斯规则
      • P ( x ∣ y ) = P ( x ) P ( y ∣ x ) P ( y ) = P ( x ) P ( y ∣ x ) ∑ x P ( 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(xy)=P(y)P(x)P(yx)=xP(yx)P(x)P(x)P(yx)

信息论

使用信息论的一些关键思想来描述概率分布或者量化概率分布之间的相似性。

  • 自信息:定义一个事件 x = x \text{x}=x x=x的自信息为:
    • I ( x ) = − log P ( x ) I(x)=-\text{log}P(x) I(x)=logP(x)
      • 底数为e,则单位为奈特;底数为2,则单位为比特
    • 自信息只处理单个的输出
  • 香农熵:对整个概率分布中的不确定性总量进行量化
    • H ( x ) = E x ∼ P [ I ( x ) ] = − E x ∼ P [ log P ( x ) ] H(\text{x})=\mathbb{E}_{\text{x} \sim P}[I(x)]=-\mathbb{E}_{\text{x} \sim P}[\text{log}P(x)] H(x)=ExP[I(x)]=ExP[logP(x)]
    • “熵”:越“混乱”越大——越不确定越大
  • KL散度:衡量对同一随机变量x的两个单独概率分布 P ( x ) P(x) P(x) Q ( x ) Q(x) Q(x)的差异
    • D K L ( P ∣ ∣ Q ) = E x ∼ P [ log P ( x ) − log Q ( x ) ] D_{KL}(P||Q)=\mathbb{E}_{\text{x} \sim P}[\text{log}P(x)-\text{log}Q(x)] DKL(P∣∣Q)=ExP[logP(x)logQ(x)]
    • 分布几乎处处相同时KL散度为0
    • 通常 D K L ( P ∣ ∣ Q ) ≠ D K L ( Q ∣ ∣ P ) D_{KL}(P||Q) \ne D_{KL}(Q||P) DKL(P∣∣Q)=DKL(Q∣∣P)
  • 交叉熵
    • H ( P , Q ) = H ( P ) + D K L ( P ∣ ∣ Q ) H(P, Q)=H(P)+D_{KL}(P||Q) H(P,Q)=H(P)+DKL(P∣∣Q)
    • H ( P , Q ) = − E x ∼ P log Q ( x ) H(P, Q)=-\mathbb{E}_{\text{x} \sim P} \text{log}Q(x) H(P,Q)=ExPlogQ(x)

数值计算

  • 上溢和下溢

    • 数值分析概念,运算时考虑其影响即可。一般调库时不需要考虑。
  • 病态条件

    • 数值分析概念,考虑函数 f ( x ) = A − 1 x f(\boldsymbol{x})=\boldsymbol{A}^{-1}\boldsymbol{x} f(x)=A1x,当 A ∈ R n × n A \in \mathbb{R}^{n \times n} ARn×n具有分解特征值时,条件数为 max ⁡ i , j ∣ λ i λ j ∣ \max _{i,j} \left | \cfrac{\lambda_i}{\lambda_j} \right | maxi,j λjλi ,越大,矩阵求逆对误差越敏感。
  • 基于梯度的优化方法

    • 把要最小化或最大化的函数称为目标函数
    • 要对其进行最小化时,称为
      • 代价函数cost function
      • 损失函数loss function
      • 误差函数error function
    • 导数
    • 梯度下降
    • 局部最小,局部最大,全局最小,全局最大
    • 偏导数
    • 梯度
      • 记为 ▽ x f ( x ) \boldsymbol{\triangledown_{x}}f(\boldsymbol{x}) xf(x)
      • 多维情况下,临界点是梯度中所有元素都为0的点
    • u \boldsymbol{u} u方向的方向导数是函数 f f f 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 ) = u T ▽ x f ( x ) \cfrac{\partial}{\partial{\alpha}}f(\boldsymbol{x} + \alpha \boldsymbol{u}) = \boldsymbol{u}^T\boldsymbol{\triangledown_{x}}f(\boldsymbol{x}) αf(x+αu)=uTxf(x)
      • 找到使 f f f下降最快的方向,计算方向导数:
        min ⁡ u , u ⊤ u = 1 u ⊤ ∇ x f ( x ) = min ⁡ u , u ⊤ u = 1 ∥ u ∥ 2 ∥ ∇ x f ( x ) ∥ 2 cos ⁡ θ \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,uu=1minuxf(x)=u,uu=1minu2xf(x)2cosθ
        • 其中 θ \theta θ u \boldsymbol{u} u与梯度的夹角
        • ∥ u ∥ 2 = 1 \|\boldsymbol{u}\|_2=1 u2=1代入,忽略与 u \boldsymbol{u} u无关的项,简化得 min ⁡ u , u ⊤ u = 1 cos ⁡ θ \min _{\boldsymbol{u}, \boldsymbol{u}^{\top} \boldsymbol{u}=1} \cos \theta minu,uu=1cosθ
        • 可见在负梯度方向上移动可以最快减小 f f f
      • 梯度下降建议更新为
        • x ′ = x − ϵ ∇ x f ( x ) \boldsymbol{x}^{\prime}=\boldsymbol{x}-\epsilon \nabla_x f(\boldsymbol{x}) x=xϵxf(x)
        • 其中 ϵ \epsilon ϵ学习率(learning rate)
  • 梯度之上:Jacobian和Hessian

    • Jacobian矩阵:如果有一个函数 f : R m → R n \boldsymbol{f}:\mathbb{R}^m \rightarrow \mathbb{R}^n f:RmRn,则Jacobain矩阵定义为:
      • J ∈ R n × m J i , j = ∂ ∂ x j f ( x ) i \boldsymbol{J} \in \mathbb{R}^{n \times m} \boldsymbol{J}_{i,j}=\cfrac{\partial}{\partial x_j}f(\boldsymbol{x})_i JRn×mJi,j=xjf(x)i
    • 二阶导数是对函数曲率的衡量,影响基于梯度的预测值。
    • Hessian矩阵:函数具有多维输入时,二阶导数也有很多,将这些导数合并成一个矩阵就是Hessian矩阵,定义为:
      • H ( f ) ( x ) i , j = ∂ 2 ∂ x i ∂ x j f ( 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=xixj2f(x)
      • 在深度学习中,大部分时候 H i , j = H j , i H_{i,j}=H_{j,i} Hi,j=Hj,i,因此大部分其是实对称矩阵,可将其分解成一组实特征值和一组特征向量的正交基
      • 在特定方向 d \boldsymbol{d} d上的二阶导数可以写成 d T H d \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)的近似二阶泰勒级数,梯度下降的学习率可代入并计算得:当 g T H g \boldsymbol{g^THg} gTHg (g是梯度,H是Hessian)为正时,最优步长为:
          • ϵ ∗ = g T g g T H g \epsilon^*=\cfrac{\boldsymbol{g^Tg}}{g^THg} ϵ=gTHggTg
      • 二阶导数还可以被用于确定一个临界点是否是局部极大点、局部极小点或鞍点(二阶导数测试
    • 仅使用梯度信息的优化算法被称为一阶优化算法,如梯度下降
    • 使用 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)Lxy2
  • 约束优化

    • 希望在 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 ) = 1 2 ∥ A x − b ∥ 2 2 f(\boldsymbol{x})=\frac{1}{2}\|\boldsymbol{A} \boldsymbol{x}-\boldsymbol{b}\|_2^2 f(x)=21Axb22 找到最小化的 x \boldsymbol{x} x的值
  • 计算梯度:
    ∇ x f ( x ) = A ⊤ ( A x − b ) = A ⊤ A x − 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(Axb)=AAxAb
    使用梯度下降法:
     while  ∥ A ⊤ A x − A ⊤ b ∥ 2 > δ  do  x ← x − ϵ ( A ⊤ A x − 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  AAxAb 2>δ do xxϵ(AAxAb) end while 

你可能感兴趣的:(机器学习,人工智能,深度学习)