标准化/归一化的作用和方法?
作用:在机器学习领域中,不同评价指标(特征指标)往往具有不同的量纲和量纲单位,变化区间处于不同的数量级,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。归一化后加快了梯度下降求最优解的速度。
方法:(1)最大最小标准化(Min-Max Normalization)。使结果值映射到[0 ,1]之间。(2)Z-score标准化方法。 数据处理后符合标准正态分布,即均值为0,标准差为1。
正则化的原理和作用是什么?
在原来的损失函数的基础上,加上了一些模型复杂度惩罚项。作用是防止过拟合,进而增强泛化能力。
什么是L1(稀疏规则算子 Lasso regularization)正则化 ?
L1正则化(Lasso Regularization):在原来的损失函数基础上加上权重参数的绝对值的和。
什么是L2正则化(岭回归 Ridge Regression 或者 权重衰减 Weight Decay)正则化 ?
L2正则化(Ridge Regression):在原来的损失函数基础上加上权重参数的平方和。
L1 vs L2
解空间形状视角理解:
加入L1范数得到的解,是某个菱形和某条原函数等高线的切点。几乎对于很多原函数等高曲线,和某个菱形相交的时候及其容易相交在坐标轴,也就是说最终的结果,解的某些维度及其容易是0,所以加上L1范数容易得到稀疏解(0比较多)。
加入L2范数得到的解,是原曲线和圆形的切点作为最终解。与L1范数比,我们这样求的L2范数不容易交在坐标轴上,但是仍然比较靠近坐标轴,所以L2范数能让解比较小(靠近0),但是比较平滑(不等于0)。
L2正则为什么可以防止过拟合?
从直观角度来考虑。过拟合可以理解为模型的复杂度过高。对于线性回归问题,也就是w参数较大。对于一个线性模型:y=wx+b。如果w = 0,则y恒等于b,此时模型几乎没有拟合能力(欠拟合)。通过增加一个关于w的惩罚项,将学习向w=0的方向进行引导,以此来克服过拟合。
什么是Dropout?
在前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征。
Dropout训练和测试时的差别是什么?
因为我们训练的时候会随机的丢弃一些神经元,但是预测的时候就没办法随机丢弃了。如果丢弃一些神经元,这会带来结果不稳定的问题,也就是给定一个测试数据,有时候输出a有时候输出b,结果不稳定,这是实际系统不能接受的,用户可能认为模型预测不准。那么一种”补偿“的方案就是每个神经元的权重都乘以一个p,这样在“总体上”使得测试数据和训练数据是大致一样的。比如一个神经元的输出是x,那么在训练的时候它有p的概率参与训练,(1-p)的概率丢弃,那么它输出的期望是px+(1-p)0=px。因此测试的时候把这个神经元的权重乘以p可以得到同样的期望。
Transformer模型中Dropout主要用在哪里?
在每个子层的输出上使用Dropout,然后将其添加到下一子层的输入并进行归一化。