1、前言
自己总结的一些问题的答案,都是个人拙见,算是一个记录,防止自己遗忘,如果有错误,欢迎指正。
2、内容
2.1 数据处理
归一化和非归一化数据集的差别
归一化使得样本被限定在0,1之间,从而消除奇异样本导致的不良影响,提高了收敛速度和精度
归一化有两种,一种是标准化,一种是归一化
对图像归一化以后,图像转换为唯一标准模式,该标准形式图像对平移、旋转、缩放等仿射变换具有不变特性。归一化后,图像储存的信息基本没有变化,归一化并不会改变图像储存信息和对比度,但是图像在归一化后取值范围已经从 0 ~ 255 改变成 0 ~ 1,减小了仿射变换和几何变换的影响,加快梯度下降优化过程
2.2 优化函数
待更新。。。
2.3 模型优化
神经网络防止过拟合的方法有哪些?
一般来说,采用使用L1正则、L2正则、参数共享、提前终止、Dropout方法可以有效地防止过拟合。
神经网络Dropout层中为什么dropout后还需要进行rescale?
这被称为inverted dropout,当模型使用了dropout时,训练的时候只有占比为p(例如0.5)的隐藏层神经元参与训练,由于预测的时候所有隐藏神经元都参与进来,得到的结果会比训练时大1/P(2倍),为了避免出现这种情况,一般需要于是在测试时将输出结果放大p(0.5)倍保持规模不变。而利用inverted dropout,在训练时直接把dropout后的权重扩大1/p(2倍),这样结果的规模不会改变了,预测时也不用额外操作了。
L1正则化
L1正则化则是在lost function后面加上了w的一范式,即各个参数的绝对值之和。其对应的次梯度不再是线性缩放w,而是添加了一项与w同号的常数。
所以当w为正的时候,更新后的w变小,当w为负的时候,更新后的w变大。而最优值是w=0,所以L1正则化会使得w更接近与0,所以L1正则化会产生比L2正则化更稀疏的解,也就是使得部分子集的权重为0,表明相关特征可以被安全忽略。
L2正则为什么能防止过拟合?
我们都知道,L2正则化是在lost function后面加上了的w的二范式平方,根据正则化后的损失函数求导我们知道,w前面的系数是小于零的,他的效果是就是用来减小w,这就是权重衰减,用来惩罚权值矩阵使其不能取太大值,因此正则化项的存在使得权重矩阵不会取值过大,就不会出现过拟合高方差。
L1和L2正则化的差异
我们知道L1让w尽量接近0,所以L1正则会产生稀疏解,常用于特征选择上,在神经网络上一般需要额外操作(可以将L1正则化的二次近似分解成关于参数的求和),L2正则化会产生更平滑的权重。
为什么w越小可以防止overfitting?
根据奥卡姆剃刀原则,更小的权值w,从某种意义上说,表示网络的复杂度更低,对数据的拟合会更好
提前终止怎么正则
当我们训练有足够表示的特征的数据集时很容易过拟合,而提前终止则是在训练时,定期存储参数对测试集进行预测,如果模型的测试误差一直没有得到改善则停止训练,返回最佳参数。Bishop认为提前终止可以将优化过程的参数空间限制在初始参数值θ的小邻域内,事实上在二次误差的简单线性模型和简单梯度下降情况下,提前终止相当于L2正则化。
Dropout怎么正则
与L1、L2作用于目标函数不同,Dropout主要通过修改神经网络来实现。
在训练时,我们随机使一部分的隐藏层单元停止工作,保持输入输出层不变,根据反向传播更新仍在工作的单元权值,停止工作的保持原样,然后恢复停止工作的部分继续迭代,下一次迭代时继续随机停止。之所以能够防止过拟合,是因为他与bagging的思想类似。
有一个取平均的作用,相当于训练出多个神经网络,每个神经网络的结果综合起来判断,因为不同的网络会产生不一样的过拟合,取平均可能会使的拟合更加合理,这样可以使得模型泛化能力更强,不会太依赖于某些局部特征
其次也可以减少神经网络之间复杂的共适应关系。因为神经元不会在每个dropout网络出现,这样的更新不再依赖于有固定关系的隐含节点的共同作用,也就阻止了某些特征在其他征订特征下才有效果的情况。
- 持续更新中。。。