在图像中的特征处理:

  • 平均亮度的去除

SVD

Whiten PCA

  • 注意P i P_iPi对特征向量进行处理的意义,把特征矩阵的对角线变成1,即把每个特征的重要性相等,让每个特征相互独立

参数初始化策略

数据归一化

  1. 标准归一化
  2. 缩放归一化
  3. PCA/SVD

数据归一化对梯度的影响

  • 归一化后,可以更快的搜索到最优值点

  • 梯度变化大,学习太慢,重要性不一样,梯度方向一直在变化

  • 归一化,梯度方向一致,学习的快、准、很

  • 椭圆:向圆心路径曲折

  • 图:走直线向圆心

正则化

数据增强与早停

图像数据的增强主要是通过算法对图像进行转变,引入噪声等方法来增加数据的多样性

  • 早停:我们使用一个验证集(Validation Dataset)来测试每一次迭代的参数在验证集上是否最优。如果在验证集上的错误率不再下降,就停止迭代。

Dropout



步骤:

  1. 首先随机(临时)删掉网络中一半的隐藏神经元,输入输出神经元保持不变(图中虚线为部分临时被删除的神经元)
  2. 然后把输入x通过修改后的网络前向传播,然后把得到的损失结果通过修改的网络反向传播。一小批训练样本执行完这个过程后,在没有被删除的神经元上按照随机梯度下降法更新对应的参数(w,b)。
  3. 然后继续重复这一过程:恢复被删掉的神经元(此时被删除的神经元保持原样,而没有被删除的神经元已经有所更新)
  4. 从隐藏层神经元中随机选择一个一半大小的子集临时删除掉(备份被删除神经元的参数)。
  5. 对一小批训练样本,先前向传播然后反向传播损失并根据随机梯度下降法更新参数(w,b) (没有被删除的那一部分参数得到更新,删除的神经元参数保持被删除前的结果)。

Dropout & bagging


相同点:

  1. 都是基于模型集成的方法。Bagging和Dropout都通过构建多个模型的集合来提高性能。
  2. 都使用随机性。Bagging使用自助采样法(bootstrap)从原始数据集中有放回地进行采样,以构建多个子集用于训练不同的模型。Dropout通过在训练过程中随机地关闭一部分神经元,以使每次训练过程都能得到不同的子网络。
  3. 都可以减小模型的方差。通过组合多个模型的预测结果,Bagging和Dropout都可以减小单个模型的方差,从而提高整体模型的稳定性和泛化能力。

不同点:

  1. 应用对象不同。Bagging主要应用于传统的机器学习算法(如决策树、随机森林等),而Dropout主要应用于深度学习模型(如神经网络)。
  2. 采样方式不同。Bagging使用自助采样法,从原始数据集中有放回地采样,每个子集的大小与原始数据集相同。而Dropout是在每次训练迭代中随机关闭一部分神经元,以得到不同的子网络。
  3. 模型组合方式不同。Bagging通过对多个模型的预测结果进行平均或投票来得到最终的预测结果。而Dropout是在训练过程中对多个子网络进行平均,得到一个集成的模型。
  4. 训练过程不同。Bagging是并行地训练多个模型,每个模型独立地对子集进行训练。而Dropout是在单个模型的训练过程中随机关闭一部分神经元,以模拟多个子网络的效果。

稀疏表示

  • 64个像素块,进行压缩,有很多0就代表着稀疏表示(大白话就是一张大的图用其中的几个小的像素块加权表示)
  • 稀疏表示的意义:让神经元各司其职

  • 就是本质是lasso回归在对每个像素块进行特征选择

• 每个基向量有点像伪数据点 - “锚点”
• 稀疏性:每个数据点都是相邻锚点的稀疏组合。
• 编码方案探索数据的流形结构。

L1和L2正则

  • L1,岭回归会直接将不重要的特征压缩到0,本质上特征选择
  • L2,LASSO回归不会压缩到0,但是会压缩到很小很小

KL散度

  • 相对熵是一种标准的用来测量两个分布之间差异的方法

相对熵(KL散度)是衡量两个概率分布之间差异的一种度量方法。它是由信息论中的基本概念熵推导出来的,用于衡量两个概率分布之间的距离,也可以用于衡量一个概率分布对于另一个概率分布的“不确定性贡献”。在机器学习中,KL散度常用于衡量两个概率分布之间的差异,例如在生成模型中衡量生成的样本分布与真实数据分布之间的差异。

L1 & L2 误差分析

  • 多项式的线性回归对比

  • 注意:多项式的项数升高,容易过拟合

方差与偏差

  • 偏差-方差窘境,最二者最优即可

权重衰减

想要模型表现的更高:

  1. 增加数据

      2.权重衰减

background:

  • 平滑的拟合函数效果好,所以引入权重衰减


深层神经网络的优化和正则化是即对立又统一的关系。

一方面我们希望优化算法能找到一个全局最优解(或较好的局部最优解),另一方面我们又不希望模型优化到最优解,这可能陷入过拟合。

  • 优化和正则化的统一目标是期望风险最小化

如何提高神经网络的泛化能力

  1. L1和L2正则化
  2. Early Stop
  3. 权重衰减
  4. SGD
  5. Dropout
  6. 数据增强

权重衰减 - 为什么是在相切点?

  • 切点就是约束空间和原空间交叉的最优解

不同形状的解空间形状:

权重衰减 & L2 正则

-在每次参数更新时,引入一个衰减系数