2014-10-17 78 views
3

任何人都可以给出一个在pybrain中实现正则化技术的示例代码? 我试图防止在我的数据过度拟合,目前正在寻找像早期停止等方法来这样做。 谢谢!如何在pybrain中实现正则化

回答

0

有一个重量衰减变量,它是在pybrain L2正则化。除此之外,我会实施早期停止作为体重衰减期的组合。

下面是你如何指定重量衰减。

trainer = RPropMinusTrainer(net, dataset=trndata, verbose=True, weightdecay=0.01) 
0

以下是不是 L1/L2正则化。但它可以用来防止过早配合。

trainer文档,

trainUntilConvergence(数据集=无,maxEpochs =无,冗长=无, continueEpochs = 10,validationProportion = 0.25)

列车数据集上,直到它的模块收敛。

返回模块的参数给出了最小验证 错误。

如果未给出数据集,则使用初始化练马师 期间传递的数据集。 validationProportion是用于验证数据集的 数据集的比率。

如果给出了maxEpochs,那么最多可以训练许多时代。每次 验证错误达到​​最小值,请尝试continueEpochs时代以找到更好的 。

如果您使用的是默认参数,则您已经启用了75:25的分割作为训练vs验证数据集。验证数据集用于预先停止。

0

正则化意味着改变成本函数。 PyBrain中的用户选择会影响成本函数 - 例如,通过选择图层是线性还是S形 - 但成本函数本身看起来并不直接暴露。

然而,elsewhere on StackOverflow,有人声称L2规范化是可以通过weightdecay参数。 (L2范数将每个坐标中差异的平方相加,而L1范数将它们的正绝对差相加。)

相关问题