为什么L1和L2正则化不能提高我的训练/验证准确性?

时间:2018-10-23 22:50:50

标签: machine-learning neural-network training-data pattern-recognition regularized

我正在使用Julia中的自动微分,SGD,固定学习率,动量项,逻辑函数,norm2(以及平方和交叉熵)成本函数(三种不同的模拟)来训练多层感知器。

我的训练准确度大约为87–97%,我的验证准确度不超过60%->验证成本函数开始降低得很好,但是经过几次迭代后变得更糟,我认为我正适合这个问题。但是,当验证集达到最佳准确度时(跌倒和过度适应之前->说60%),训练准确度约为80%。

我尝试添加L1,并在另一个模拟L2正则化中,我的训练/验证准确性为0%(我为惩罚参数lambda尝试了0.01、0.1、1.0和5.0)。成本函数在相同值附近以较小的值波动,这意味着,我得到了一条直线成本(如图所示。是训练误差函数与带有L2且没有正则化技术的迭代)。我将其用于三个不同的成本函数,结果是相同的,非常糟糕。可能是什么?谢谢!!!

0 个答案:

没有答案