Deep Learning Note: 3-2 设置目标
1. 使用单一评价标准 机器学习涉及很多可以选择的算法和需要调优的超参数,往往难以在一开始就找到最佳选择。因此,应用机器学习是一个反复迭代的过程,通过不断地调整和尝试各种选择并评估其结果,逐步找到更好的算法和参数,使得模型的性能逐步提高。在这一过程中,使用一个单一的评价指标来对模型性能进行评估,可以立即知道所进行的调整是否有效,有利于提高迭代的效率。 例如使用不同的超参数得到了两个分类器 …
Read more
learn, build, evaluate
1. 使用单一评价标准 机器学习涉及很多可以选择的算法和需要调优的超参数,往往难以在一开始就找到最佳选择。因此,应用机器学习是一个反复迭代的过程,通过不断地调整和尝试各种选择并评估其结果,逐步找到更好的算法和参数,使得模型的性能逐步提高。在这一过程中,使用一个单一的评价指标来对模型性能进行评估,可以立即知道所进行的调整是否有效,有利于提高迭代的效率。 例如使用不同的超参数得到了两个分类器 …
Read more
构建机器学习应用的一大挑战是有众多的方案和选项可以选择和调整,例如在训练过程中就有很多超参数需要调优。在调优的过程中,需要明确进行什么样的调整,可以达到什么样的目的,将各个问题独立开来,在互不影响的情况下分别进行调优,逐个击破,正交化(Orthogonalization)地解决各个问题。 例如对于监督学习系统,通常需要通过调优,确保模型: 能够在代价函数上很好地拟合训练集 能够在代价函数上…
Read more
批量标准化(Batch Normalization)是深度学习中的一个重要算法,它可以让网络更加强健,令网络对更大范围的参数都有较好的效果,使得超参数的搜索更加容易,也有助于训练更深的网络。 1. 标准化激活值 前文介绍了对输入特征进行标准化的方法,标准化有助于提高学习速度。在神经网络中,对其中各层的激活值进行标准化,也有利于提高下一层参数的学习速度,这就是批量标准化所做的。例如对第 2 …
Read more
1. 调优过程 神经网络的训练涉及众多的超参数,按照调整的优先级,可以划分如下: 第一优先:学习率 $\alpha$。 第二优先:动量梯度下降的参数 $\beta$(通常取 $0.9$),网络中隐藏单元的数量,小批量梯度下降中小批量的大小等。 第三优先:神经网络的层数、学习率衰减。 对于 Adam 优化算法中的超参数,通常会直接使用默认值($\beta_1 = 0.9$,$\beta_2 …
Read more
1. 小批量梯度下降 前文 给出的向量化计算 $m$ 个样本的梯度下降和反向传播的方法,通过将所有 $m$ 个样本水平叠加,得到: \begin{equation} X = \begin{bmatrix}x^{(1)} & x^{(2)} &…&x^{(m)} \end{bmatrix} \end{equation} 使用 $X$ 一次性计算全部样本…
Read more
1. 标准化输入 对输入数据进行标准化(Normalizing)有利于提高学习速度。 例如对于如图 1 所示的数据,其标准化过程分为两步,首先让数据减去其均值(如图 2 中左图),然后再除以方差(如图 2 中右图): 计算过程为: \begin{equation} x := \frac{x – \mu}{\sigma} \tag{1} \end{equation} 其中…
Read more
解决过拟合问题的主要方法是使用正则化(Regularization)和获取更多数据,但并不是总能获取到更多的数据,或者获取更多数据的成本过高,因此通常首选使用正则化。 1. 逻辑回归的正则化 首先以逻辑回归为例,说明正则化的过程。逻辑回归的代价函数为: \begin{equation} J(w, b) = \frac{1}{m} \sum_{i=1}^m L(\hat{y}^{(i)}, …
Read more
1. 训练集、开发集、测试集 在训练模型时,通常会将整个用于训练的数据分成三部分:训练集(Train Set),保留的交叉验证集(Hold-out Cross Validation Set)或称为开发集(Development Set / Dev Set),和测试集(Test Set)。通常的工作流程是: 选择算法/超参数等条件。 使用训练集对模型进行训练。 使用开发集对训练得到的模型进行评估…
Read more
前面以一个简单的 2 层神经网络为例,介绍了前向传播和反向传播的计算过程。下面扩展到 L 层神经网络的情况。 以图 1 所示的网络为例,记网络的层数为 $L$,此时 $L = 4$。使用 $n^{[l]}$ 表示第 $l$ 层中节点的个数,记输入层为第 0 层,输入有三个特征,故 $n^{[0]} = n_x = 3$;第一个隐藏层有 5 个节点,故 $n^{[1]} = 5$,以此类推,…
Read more
前面在进行逻辑回归的梯度下降时,将各个参数都初始化为 0,但在神经网络中不能这样做。 例如对于如图 1 所示的网络: 如果将 $W$ 初始化为 0,即: \begin{equation} W^{[1]} = \begin{bmatrix}0 & 0 \\ 0 & 0 \end{bmatrix} W^{[2]} = \begin{bmatrix}0 &am…
Read more