机器学习 – 为什么需要在机器学习问题中使用正则化?

前端之家收集整理的这篇文章主要介绍了机器学习 – 为什么需要在机器学习问题中使用正则化?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这似乎是一个愚蠢的问题,但我无法得出一个合理的答案.

据说正则化可以帮助我们获得复杂的简单模型,以避免过度拟合.但对于线性分类问题:

f(x) = Wx

模型的复杂性有些明确:它是线性的,而不是二次的或更复杂的.那么为什么我们仍然需要对参数进行正则化?为什么在这种情况下我们更喜欢较小的重量?

随着您增加要训练模型的样本数量或降低模型的复杂性,对模型进行规范化的需求将越来越少.然而,在没有(或具有非常小的正则化效应)的情况下训练模型所需的示例的数量随着参数的数量以及可能的一些其他因素在模型中继承而呈指数增加.

由于在大多数机器学习问题中,我们没有所需数量的训练样本或模型复杂性很大,我们必须使用正则化以避免或减少过度拟合的可能性.直观地,正则化的工作方式是它向argminΣL(期望的,预测函数(Wx))引入惩罚项,其中L是损失函数,其计算模型的预测偏离期望目标的程度.因此,新的损失函数变为argminΣL(期望的,预测函数(Wx))λ* reg(w)其中reg是正则化的类型(例如,平方L2),并且λ是控制正则化效应的系数.然后,自然地,在最小化成本函数的同时,权重向量被限制为具有小的平方长度(例如,平方L2范数)并且朝向零收缩.这是因为权重向量的平方长度越大,损失越大.因此,权重向量还需要在优化运行时补偿降低模型的损失.

现在想象一下,如果删除正则化项(lambda = 0).然后模型参数可以自由地获得任何值,因此无论您有线性还是非线性模型,权重向量的平方长度都可以增长.这增加了模型复杂性的另一个维度(除了参数的数量),并且优化过程可以找到可以与训练数据点精确匹配的权重向量.但是,当暴露于看不见的(验证或测试)数据集时,模型将无法很好地概括,因为它过度拟合了训练数据.

原文链接:https://www.f2er.com/regex/356796.html

猜你在找的正则表达式相关文章