机器学习中的正则化:如何避免过度拟合?
已发表: 2020-02-17机器学习涉及让计算机在没有明确指令的情况下执行特定任务。 因此,系统被编程为自动从经验中学习和改进。 数据科学家通常在机器学习中使用正则化来在训练过程中调整他们的模型。 让我们详细了解这个概念。
目录
正则化避免过拟合
机器学习中的正则化可以避免过度拟合训练模型。 当您的模型捕获训练数据集中的任意数据时,就会发生过度拟合。 此类不具有数据属性的数据点会使您的模型“嘈杂”。 这种噪音可能会使您的模型更加灵活,但它可能会带来低准确性的挑战。
考虑一个有 10 名学生的教室,其中女孩和男孩的数量相等。 年考全班成绩70分,女学生平均分60分,男学生平均分80分。根据这些过去的成绩,我们要预测学生未来的成绩。 可以通过以下方式进行预测:
- Under Fit:全班得分 70 分
- 最佳拟合:这可能是一个简单的模型,预测女孩的分数为 60,男孩的分数为 80(与上次相同)
- Over Fit:这个模型可能使用一个不相关的属性,比如卷号,来预测学生的分数与去年完全相同
正则化是一种回归形式,它通过添加另一个惩罚项来调整误差函数。 这个附加项使系数不会取极值,从而平衡过度波动的函数。
任何机器学习专家都会努力使他们的模型准确无误。 而实现这一目标的关键在于掌握偏差和方差之间的权衡。 请继续阅读以清楚了解这意味着什么。
平衡偏差和方差
通过找到一种能够实现正确的“偏差-方差”平衡的方法,可以最大限度地减少预期的测试误差。 换句话说,您选择的统计学习方法应该通过同时实现低方差和低偏差来优化模型。 具有高方差的模型会过度拟合,而高偏差会导致模型欠拟合。

交叉验证提供了另一种避免过度拟合的方法。 它检查您的模型是否从数据集中提取正确的模式,并估计测试集上的错误。 所以,这个方法基本上验证了你的模型的稳定性。 此外,它决定了最适合您的特定模型的参数。
增加模型的可解释性
目标不仅是使训练集的误差为零,而且还要从测试数据集中预测正确的目标值。 因此,我们需要一个“调整”功能来降低此过程的复杂性。
解释机器学习中的正则化
正则化是一种约束回归的形式,它通过将系数估计缩小到零来工作。 通过这种方式,它限制了模型从噪声中学习的能力。
让我们看看这个线性回归方程:
Y= β0+β1X1+β2X2+…..+βpXp
这里,β 表示由 (X) 表示的不同预测变量的系数估计值。 Y 是学习关系。
由于这个函数本身可能会遇到错误,我们将添加一个错误函数来正则化学习的估计。 我们希望在这种情况下最小化错误,以便我们也可以将其称为损失函数。 下面是这个损失函数或残差平方和 (RSS) 的样子:
因此,数据科学家使用正则化来调整预测函数。 正则化技术也称为收缩方法或权重衰减。 让我们详细了解其中的一些。
岭正则化
在岭回归中,损失函数被修改为对应于 β 的平方和的收缩量。 λ 的值决定了模型将受到多少惩罚。

岭回归中的系数估计称为 L2 范数。 当您的数据中的自变量高度相关时,这种正则化技术将助您一臂之力。
套索正则化
在 Lasso 技术中,等于 β(β 的模)的绝对值之和的惩罚被添加到误差函数中。 它进一步与控制惩罚强度的参数 λ 相乘。 这种方法只惩罚高系数。
Lasso 产生的系数估计值称为 L1 范数。 当存在具有大量特征的少量观测值时,此方法特别有用。
为了简化上述方法,考虑一个常数 s,它存在于每个 λ 值。 现在,在 L2 正则化中,我们求解系数平方和小于或等于 s 的方程。 而在 L1 正则化中,系数模的总和应小于或等于 s。
阅读:机器学习与神经网络
上述两种方法都力求确保回归模型不消耗不必要的属性。 因此,岭回归和 Lasso 也称为约束函数。
RSS 和约束函数的预测器
借助前面的解释,岭回归和 Lasso 的损失函数 (RSS) 可以由β1² + β2² ≤ s 和 |β1|给出。 + |β2| ≤ s,分别。 β1² + β2² ≤ s将形成一个圆,并且 RSS 将是其内所有点的最小值。 至于 Lasso 函数,RSS 将是位于|β1|给出的菱形内的所有点的最低值。 + |β2| ≤ 秒。
岭回归缩小了最不重要的预测变量的系数估计值,但不会消除它们。 因此,由于非零估计,最终模型可能包含所有预测变量。 另一方面,Lasso 可以强制某些系数恰好为零,尤其是当 λ 很大时。

阅读:用于机器学习的 Python 库
正则化如何达到平衡
标准最小二乘模型存在一些差异。 正则化技术减少了模型的方差,而不会显着增加其平方偏差。 调整参数 λ 的值在不消除数据的关键属性的情况下协调这种平衡。 当 λ 的值为零时,惩罚无效,这是普通最小二乘回归的情况。
方差仅随着 λ 值的上升而下降。 但这只会发生到某一点,之后偏差可能会开始上升。 因此,选择这个收缩因子的值是正则化中最关键的步骤之一。
结论
在本文中,我们了解了机器学习中的正则化及其优势,并探索了岭回归和套索等方法。 最后,我们了解了正则化技术如何帮助提高回归模型的准确性。 如果您刚刚开始正规化,这些资源将阐明您的基础知识并鼓励您迈出第一步!
如果您有兴趣了解有关机器学习的更多信息,请查看 IIIT-B 和 upGrad 的机器学习和人工智能 PG 文凭,该文凭专为工作专业人士设计,提供 450 多个小时的严格培训、30 多个案例研究和作业、IIIT- B 校友身份、5 个以上实用的实践顶点项目和顶级公司的工作协助。
学习机器学习后你的工作选择是什么?
机器学习是技术领域最新和最有前途的职业道路之一。 随着机器学习的不断进步和扩展,它为渴望在该技术领域开创事业的个人开辟了新的工作机会。 想要成为机器学习工程师的学生和专业人士可以期待获得奖励和激动人心的学习体验,当然,他们也希望在薪酬高的顶级组织中找到工作。 从数据科学家和机器学习工程师到计算语言学家和以人为本的机器学习设计师等等,你可以根据自己的技能和经验担任许多有趣的工作角色。
机器学习工程师一年能拿到多少薪水?
在印度,初级机器学习工程师的平均年薪约为 6 到 82 万印度卢比。 但对于具有中级工作经验的专业人士,薪酬平均在 13 至 150 万印度卢比左右,甚至更高。 现在,机器学习工程师的平均年收入将取决于多种因素,例如相关工作经验、技能、整体工作经验、证书,甚至地点等。 高级机器学习专业人员每年可以赚取约 1 千万印度卢比。
机器学习所需的技能是什么?
如果您渴望在机器学习领域建立成功的职业生涯,那么对特定主题有基本的了解和一定程度的舒适是有益的。 首先,您需要了解概率和统计数据。 创建机器学习模型和预测结果需要统计和概率知识。 接下来,您应该熟悉 Python 和 R 等广泛用于机器学习的编程语言。 学习机器学习也需要一些用于数据分析的数据建模知识和强大的软件设计技能。