觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 正则化(regularization) 如果你的神经网络出现了过拟合(训练集与验证集得到的结果方差较大),最先想到的方法就是正则化(regularization).另一个解决高方差的方法就是准备更多的数据,这也是非常可靠的方法. 正则化的原理 正则化公式简析 L1范数:向量各个元素绝对值之和 L2范数:向量各个元素的平方求和然后求平方根 Lp范数:向量各个元素绝对值的p次方求和然后求1/p次方 L∞范数:向量各个元素求绝对值,最大那…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.1 训练/开发/测试集 对于一个数据集而言,可以将一个数据集分为三个部分,一部分作为训练集,一部分作为简单交叉验证集(dev)有时候也成为验证集,最后一部分作为测试集(test).接下来我们开始对训练集执行训练算法,通过验证集或简单交叉验证集选择最好的模型.经过验证我们选择最终的模型,然后就可以在测试集上进行评估了.在机器学习的小数据量时代常见的做法是将所有数据三七分,就是人们常说的70%训练集集,30%测试集,如果设置有验证集,我们可…
1.超参数调试: (1)超参数寻找策略: 对于所有超参数遍历求最优参数不可取,因为超参数的个数可能很多,可选的数据过于庞大. 由于最优参数周围的参数也可能比较好,所以可取的方法是:在一定的尺度范围内随机取值,先寻找一个较好的参数,再在该参数所在的区域更精细的寻找最优参数. (2)选择合适的超参数范围: 假设 n[l] 可选取值 50~100:在整个范围内随机均匀取值 选取神经网络层数 #layers,L的可选取值为 2~4:在整个范围内随机均匀取值 学习速率 α 的可选取值 0.0001~1:在…
1.为什么正则化可以减少过拟合? //答:可以让模型参数变小,减小模型的方差. 在损失函数中加入正则项,在正则化时,如果参数lamda设置得足够大,那么就相当于权重系数W接近于0 ,就会减少很多隐藏单元的影响,降低模型的复杂度,将模型从过拟合到欠拟合,当然,其中有一个lamda是使模型处于最优中间状态的. 在这个例子中,当lamda增大时,W变小,所以随之Z变小,当激活函数使用Tanh时,若Z小,那么在接近0的区间内,模型就相当于是一个线性函数,模型简化. 2.Dropout(随机失活)正则化…
1.mini-batch梯度下降 在前面学习向量化时,知道了可以将训练样本横向堆叠,形成一个输入矩阵和对应的输出矩阵: 当数据量不是太大时,这样做当然会充分利用向量化的优点,一次训练中就可以将所有训练样本涵盖,速度也会较快.但当数据量急剧增大,达到百万甚至更大的数量级时,组成的矩阵将极其庞大,直接对这么大的的数据作梯度下降,可想而知速度是快不起来的.故这里将训练样本分割成较小的训练子集,子集就叫mini-batch.例如:训练样本数量m=500万,设置mini-batch=1000,则可以将训练…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10 梯度消失和梯度爆炸 当训练神经网络,尤其是深度神经网络时,经常会出现的问题是梯度消失或者梯度爆炸,也就是说当你训练深度网络时,导数或坡度有时会变得非常大,或非常小,甚至以指数方式变小.这加大了训练的难度. 假设你正在训练一个很深的神经网络,并且将其权重命名为"W[1],W[2],W[3],W[4]......W[L]" 为了简化说明,我们选择激活函数为g(z)=z(线性激活函数),b[l]=0(即忽略偏置对神经网络的影响…
目录 一. 改善过拟合问题 Bias/Variance 正则化Regularization 1. L2 regularization 2. Dropout正则化 其他方法 1. 数据变形 2. Early stopping 二. 特征缩放 1. 归一化 2. 标准化 三. 初始化参数 梯度消失.梯度爆炸 四. 梯度检验 在神经网络实施梯度检验的实用技巧和注意事项 五. 优化算法 1. mini-Batch梯度下降法 2. 动量梯度下降法 指数加权平均 指数平均加权的偏差修正 动量梯度下降法公式…
1. 应用机器学习是高度依赖迭代尝试的,不要指望一蹴而就,必须不断调参数看结果,根据结果再继续调参数. 2. 数据集分成训练集(training set).验证集(validation/development set).测试集(test set). 对于传统的机器学习算法,数据量(比如100.1000.10000),常用的分法是70%训练集/30%测试集.60%训练集/20%验证集/20%测试集. 对于大数据(比如100万),可能分法是98%训练集/1%验证集/1%测试集.99.5%训练集/0.…
笔记:Andrew Ng's Deeping Learning视频 参考:https://xienaoban.github.io/posts/41302.html 参考:https://blog.csdn.net/u012328159/article/details/80210363 1. 训练集.验证集.测试集(Train, Dev, Test Sets) 当数据量小的时候, 70% 训练, 30% 测试:或 60% 训练.20% 验证.20%测试. 训练集( training set):用来…
这一周的主体是调参. 1. 超参数:No. 1最重要,No. 2其次,No. 3其次次. No. 1学习率α:最重要的参数.在log取值空间随机采样.例如取值范围是[0.001, 1],r = -4*np.random.rand(), α = 10r. No. 2 Momentum β:0.9是个不错的选择.在1-β的log取值空间随机采样.例如取值范围[0.9, 0.999],则1-β的取值空间[0.001, 0.1]. No. 2 各个隐含层的神经元数量:可以在线性取值空间随机采样. No.…