什么是机器学习中的正则化?
计算机/软件
1 312
4
该提问暂无详细描述
收藏
2021-01-13 05:48 更新 🍊小桔子 •  1542
共 1 个回答
高赞 时间
1

正则化是一种用于解决统计模型中过拟合问题的技术。 首先,我想解释一下这种过度拟合的问题是如何产生的。 当某人想对一个问题进行建模时,假设这个问题是根据年龄来预测某人的工资,他将首先尝试将年龄作为自变量,将工资作为因变量的线性回归模型。由于该模型过于简单,因此大多数情况下将失败。 然后,你可能会想:我的数据集中也有每个人的年龄,性别和受教育程度,可以将它们添加为解释变量。 这样,你的模型变得更加有趣和复杂,可以根据损失度量𝐿(𝑋,𝑌)来衡量其准确性,其中𝑋是设计矩阵,𝑌是观测值(也称为目标)矢量(这里是工资)。 然后,你将发现结果相当不错,但并不如你所愿。 因此,你添加了更多变量:职位,父母的职业,社会背景,孩子的数量,体重,书籍的数量,首选的颜色,最好的饭菜,最后一次度假的目的地等等。 你的模型会做得很好,但可能过度拟合,即它的预测和泛化能力可能很差:因为它对数据的依赖性太强,并且模型在拟合时可能已经学习了背景噪声,这当然是不可接受的。 那么如何解决呢? 在这里,可以使用正则化技术。 通过对权重向量𝑤(它是线性回归中学习到的参数的向量)的𝐿1(LASSO)或𝐿2(Ridge)范数的倍数进来对损失函数进行惩罚。你将得到以下方程式: 𝐿(𝑋,𝑌)+ 𝜆𝑁(𝑤) 其中,𝑁是𝐿1,𝐿2或任何其他范数 这将帮助你避免过度拟合,并同时执行某些正则化规范的特征选择(LASSO中的𝐿1可以起作用)。 最后,你可能会问:我现在拥有一切,那么如何调整正则化项𝜆呢? 一个可能的答案是使用交叉验证:划分你的训练数据,对模型进行训练以固定𝜆的值,然后在其余子集上对其进行测试,然后在改变𝜆的同时重复此过程。最后,选择使损失函数最小的最佳𝜆的值。

转载自 Mohammad Laghari 加利福尼亚大学圣地亚哥分校计算机科学硕士

收藏
2021-01-14 05:24 更新 Lisa •  1167

因此,你添加了更多变量:位置,父母的职业,社会背景……这里的位置应该是“职位”吧?

饮水思源 •  5484 2021-01-13 09:30

应该是“职位”,谢谢指出,已经更正。

Lisa •  1167 2021-01-14 05:24