我刚刚了解了将正则化作为控制过度拟合的一种方法,并且我想将其结合到我放在一起的反向传播和多层感知器(MLP)的简单实现中。
目前,为了避免过度拟合,我对验证集进行交叉验证,并保持到目前为止得分最高的网络。这可以正常工作,但是添加正则化将使我受益,因为正确选择正则化算法和参数将使我的网络更系统地收敛于非过拟合模型。
对于更新项(来自Coursera ML课程),我具有的公式表示为批量更新,例如,对于每个权重,在从误差传播中总结了整个训练集的所有适用增量之后lambda * current_weight
,还要添加的调整项批处理结束时减去delta,其中lambda
是正则化参数。
我的反向传播实施使用每个项目的权重更新。我担心我不能仅仅复制批处理方法,尽管从直觉上看它看起来不错。每个项目的较小正则项是否也有效?
例如lambda * current_weight / N
,其中N是训练集的大小-乍一看,这看起来很合理。我在这个问题上找不到任何东西,我想知道那是因为正则化不能对每个项目进行更新,甚至不能使用其他名称或更改的公式。