【吴恩达机器学习笔记】10-正则化解决过拟合问题



过拟合是机器学习中一个常见的问题,它发生在模型在训练数据上表现得很好,但在未见过的测试数据上表现不佳时。
这通常是因为模型过于复杂,捕捉到了训练数据中的噪声和细节,而没有学习到数据的一般模式。

过拟合的定义

过拟合是指模型在训练数据上能够获得比其他假设更好的拟合,但在训练数据外的数据集上却不能很好地拟合数据的现象。这通常发生在模型复杂度过高时,模型可能具有过多的参数,以至于可以记住训练数据的每一个细节,包括噪声和异常值。

过拟合的原因

过拟合的主要原因包括:

  1. 模型复杂度过高:模型参数过多,容易导致模型过度拟合训练数据中的噪声。
  2. 训练数据量较小:数据量不足以支持复杂数学公式,容易导致模型过拟合。
  3. 数据噪声较大:模型可能学习到数据中的噪声,而非真实的数据分布。

如何识别过拟合

过拟合可以通过观察模型在训练集和验证集(或测试集)上的性能差异来识别。如果模型在训练集上表现很好,但在验证集上表现较差,可能就存在过拟合问题。此外,训练误差和测试误差之间的差距很大也是一个明显的标志。

解决过拟合的方法

解决过拟合的方法包括但不限于:

  1. 增加训练数据量:通过增加训练数据量,可以减小模型对噪声的敏感度,提升模型的泛化能力。
  2. 降低模型复杂度:选择更简单的模型,减少模型参数的数量,避免模型过度拟合训练数据。
  3. 使用正则化方法:通过L1正则化、L2正则化等方法,限制模型参数的大小,防止模型过拟合。
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  4. 早停法(Early Stopping):在训练过程中,当验证集的损失不再显著下降时,提前停止训练,避免模型过拟合。
  5. 数据增强:通过对训练数据进行旋转、翻转、缩放等操作,增加数据的多样性,提升模型的泛化能力。

这句话的意思是,在机器学习中,正则化是一种技术,它的作用是减少模型复杂度,防止过拟合。具体来说,正则化通过在损失函数中添加一个额外的项(通常是参数值的平方和),来惩罚那些参数值过大的模型。这样做的结果是,学习算法在训练过程中会倾向于选择较小的参数值,从而使得模型更加简洁,泛化能力更强。简而言之,正则化鼓励学习算法在训练时让参数值保持在一个较小的范围内,以提高模型的泛化性能。

正则化的实现:正则化所有特征(因为不知道哪个特征更重要)

引入正则化参数:λ/2m(λ>0)
若λ=0则过拟合,曲线过于弯曲;λ=∞则f(x)=b,呈现一条直线了

PS. 一些工程师也会对b也正则化,但是没什么区别。

正则化之后,代价函数J变为:

代价函数构成:

  1. 方差均值项:用于拟合数据

  2. 正则化项:用于减小wj以免过拟合
    **λ的选择:过小则导致过拟合,过大则导致模型不准确

                                  均方误差成本:              正则化项:
    

正则化线性回归:
还是和之前一样,代价函数J分别对w和b进行求导:


正则化实际是在每一次迭代中所作的是把w乘一个略小于一(eg:0.9998)的数,这会使Wj的价值略微缩水

正则化logistic回归:
也是类似的:

posted on   Mayuri-Hua  阅读(110)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示