发布于 

深度学习系列笔记

1、梯度下降法

1.1梯度

梯度是函数增长最快的方向,梯度的模为这一方向的变化率。

对于一元函数求梯度,公式为:
$$
\frac{d y}{d x}=f^{\prime}(x)=\lim _{\Delta x \rightarrow 0} \frac{\mathrm{f}(\mathrm{x}+\Delta x)-f(x)}{\Delta x}
$$
很显然,该函数的梯度为一条切线

image-20220326213334951

而对于多维函数,比如f(x,y),此函数的梯度为一个切面

image-20220326213602608

如果再进行维度拓展,将无法进行求解,科学家通过引入偏导,求解梯度:

1.2梯度下降法思路

找到函数的梯度,在此方向取负梯度,函数下降的最快,进而找到函数的最小值,一般用于求解损失函数的最小值,优化模型。

2、Python中的广播

2.1广播案例

image-20220329214513085

当两个矩阵相加,在不符合线性代数矩阵运算时,矩阵会自动扩展结构,然后执行运算

2.2Numpy中的广播机制

广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。

如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同。

实例:

import numpy as np 
 
a = np.array([[ 0, 0, 0],
           [10,10,10],
           [20,20,20],
           [30,30,30]])
b = np.array([1,2,3])
print(a + b)

输出结果:

[[ 1  2  3]
 [11 12 13]
 [21 22 23]
 [31 32 33]]

下面的图片展示了数组 b 如何通过广播来与数组 a 兼容。

img

3、最小二乘法

3.1什么是线性回归?

比如,在二维空间中,线性回归就是要找一条直线,并且让这条直线尽可能拟合图中的数据点

image-20220330160837326 image-20220330160919509

每条红色竖线是预测数据到真实数据的差距(误差),称为欧氏距离,然后将这些误差加起来,就得到线性回归的损失函数。
$$
\sum_{i=0}^{m} (y^{(i)} - \hat{y} ^{(i)} )^{^{2} }
$$

3.2最小二乘法

见知乎专栏

在实际观测时,考虑到观测值带有偶然误差,总是作多余观测

4、最大似然估计

见知乎专栏

最大似然估计可以说是应用非常广泛的一种参数估计的方法。它的原理也很简单:利用已知的样本,找出最有可能生成该样本的参数。

4.1什么是似然函数?

4.2最大似然估计

4.3离散型随机变量的最大似然估计


$$
C_{n}^{k} = \frac{n!}{k!(n-k)!}是二项式系数,我们希望有k次成功(p)和n−k次失败(1 −p),并且,k次成功可以在n次试验的任何地方出现,而把k次成功分布在n次试验中共有C_{n}^{k}个不同的方法。
$$

4.4连续型随机变量的最大似然估计

img

img

5、Logistic回归

5.1Logistic回归

如下图所示,计算节点值z,再通过激活函数sigmoid()求出a,a为到该节点的输出,如下图。

image-20220401173054150

5.2Logistic回归再在神经网络的应用

神经网络正向传播中执行了很多次类似Logistic回归的操作,如下图所示,每个节点执行了一次Logistic回归,舍弃for循环,通过矩阵运算快速计算出z(用z[1]表示)和a(用a[1]表示)。

image-20220401174013810

计算完隐藏层节点的值后,再作为输入计算输出层的值。

image-20220401175106812

5.3推导过程

见:BiliBili讲解

image-20220330224031997

涉及到0/1的二分类问题,通过Sigmoid函数表示出1和0的发生概率,使用最大似然估计法,最后求导得出使得概率最大的参数值。

6、激活函数

在构建神经网络的时候,如何选择激活函数?此过程往往有很多的参数选择,通过测试的方法,找到一个最适合自己的激活函数,调参。

6.1Sigmoid函数

除非用在二元分类的输出层,不然绝对不要用。

image-20220401212246481

6.2tanh函数

几乎在所有场合都适用。

image-20220401212426016

6.3ReLu函数

不知道用哪个的时候,用这个

image-20220401212550526

6.4Leaky ReLu函数

image-20220401212839258

附:数学公式

求和公式

image-20211227103823765

附:数学符号

数字

  • x:标量
  • x:向量
  • X:矩阵
  • X:张量
  • I:单位矩阵
  • xi, [x]i:向量x第i个元素
  • xij, [X]ij:矩阵X第i行第j列的元素

集合论

  • X: 集合
  • Z: 整数集合
  • R: 实数集合
  • Rn: n维实数向量
  • Ra×b: 包含a行和b列的实数矩阵
  • A∪B: 集合A和B的并集
  • A∩B:集合A和B的交集
  • A∖B:集合A与集合B相减,B关于A的相对补集

函数和运算符

  • f(⋅):函数
  • log⁡(⋅):自然对数
  • exp⁡(⋅): 指数函数
  • 1X: 指示函数
  • (⋅)⊤: 向量或矩阵的转置
  • X−1: 矩阵的逆
  • ⊙: 按元素相乘
  • [⋅,⋅]:连结
  • |X|:集合的基数
  • ‖⋅‖p: :Lp 正则
  • ‖⋅‖: L2 正则
  • ⟨x,y⟩:向量x和y的点积
  • ∑: 连加
  • ∏: 连乘
  • =def:定义

微积分

  • dydx:y关于x的导数
  • ∂y∂x:y关于x的偏导数
  • ∇xy:y关于x的梯度
  • ∫abf(x)dx: f在a到b区间上关于x的定积分
  • ∫f(x)dx: f关于x的不定积分

概率与信息论

  • P(⋅):概率分布
  • z∼P: 随机变量z具有概率分布P
  • P(X∣Y):X∣Y的条件概率
  • p(x): 概率密度函数
  • Ex[f(x)]: 函数f对x的数学期望
  • X⊥Y: 随机变量X和Y是独立的
  • X⊥Y∣Z: 随机变量X和Y在给定随机变量Z的条件下是独立的
  • Var(X): 随机变量X的方差
  • σX: 随机变量X的标准差
  • Cov(X,Y): 随机变量X和Y的协方差
  • ρ(X,Y): 随机变量X和Y的相关性
  • H(X): 随机变量X的熵
  • DKL(P‖Q): P和Q的KL-散度

复杂度

  • O:大O标记