2020.10.22 今天看到深度学习的正则化问题。
正则化可以很好地解决过拟合问题。过拟合问题表现在神经网络对于训练集的准确度很高,但对于验证集、测试集的准确度相比于训练集准确度相差较大。
过拟合可以形象地理解为,神经网络对于测试集的样本学习的非常好,好的以至于学的有一些偏,会抓住一些存在于测试集中,但不广泛存在于现实数据中的特征进行判断,并且在判断中对于这个标准较为倚重,给他很大的占比。因为这个较为偏少见的特征并不一定在现实中适合作为判断标准,所以对于测试集的准确度不如训练集高。(过拟合,对训练集适合的程度过头了,以至于只能在训练集上面得到最好的准确度,也可以说失去了泛化性) 举个例子,就好像我们判断男女,一般来讲,女性的皮肤可能比男性的要白嫩些,但是如果只以皮肤的白嫩作为判断因素,那么就有较高的概率出错。
讲完了正则化主要解决的问题,我们再讲一下正则化。 正则化(regularization),可以直译为规则化,像神经网络里面增加人类给其定制的规则。 从代码角度来看,正则化的代码为损失函数与反向传播中的dw加入了一点“小尾巴”。 对于损失函数,他改善了参数范围,加入了人类的先验知识。 对于dw的反向传播,它可以减缓反向传播的速度。原来可能训练1000次过拟合了,加入正则化后,原来的一千次训练次数不变,但是训练出来的参数可能就如同原来训练800次一样,神经网络过拟合的可能性就会相对减小(次数少了,不容易在训练集这个覆盖范围较小的数据中,找到不太合适的特征作为判断标准)。 应用正则化,我们把输出的范围改变到了一个我们认为更加合适的区域,一个参数更有可能在较小迭代次数下找到最优值的区域,这样可以更好地运行我们的网络。
