【吴恩达机器学习笔记】六、过拟合及正则化

简介: 【吴恩达机器学习笔记】六、过拟合及正则化

六、过拟合及正则化


1. 过拟合问题

在开始介绍这节课内容之前,我们先来看一个线性回归的例子。



af17cfd5af244d1f93fe263e9e7ef9d7.png

左图我们发现,所用的假设函数是一条直线,所以无法很好拟合数据,这我们称之为欠拟合(高偏差),中图即是最理想的拟合曲线,而右图的曲线就显得十分扭曲,但它经过了所有的数据点,可我们最后还是不能用它去预测新的数据,这我们称之为过拟合(高方差),当然除了线性回归问题,逻辑回归同样可能会出现过拟合的现象。



bc434fdaa8c44228abe03fd9b52be2c4.png

过拟合(Overfitting)


bf7b65391a7240d1b38264db63d53f41.png


这种问题,通常会出现在过量变量但数据过少的情况,J(θ)的值会接近于0,但却无法去预测新样本。


想要解决过拟合问题有下面两种方法:


减少变量的数量


可以人工的去选择一些可以删除的变量。

也可以用之后要讲到的算法模型,去自动筛选变量。

缺点:这种方法,可能会导致一些有用变量的丢失,失去了一些有效信息。


正则化(Regularization)


保留所有变量,但是减小量级(magnitude)或者参数θj的大小。

优点:这种方法可以很好地确保那些对y的预测有帮助的变量不会丢失。


2. 正则化

正则化(Regularization)


通过减小对结果没什么用的θ值使其值接近于零,从而弱化其对结果的影响,简化函数。


线性回归的正则化

其正则化的代价函数如下:


b026541d22934a229baba12b7125db33.png


在代价函数中表示正则化的是上图的公式中带λ的式子,因为不知道哪个参数会对结果产生影响,所以就交给模型去判断该减小哪个θ值,所以选择都进行减小。其中λ是用来平衡正则化式子与其左边优化式子的关系,而将θ平方是为了防止正负号影响结果。但是如果λ值过大的话,可能会使所有参数都趋于0,那得出的曲线就接近于一条曲线了。


梯度下降


在线性回归中使用正则化时,如果用梯度算法,则其中对J(θ)求θ偏导的式子也会有一点改变,实际上就在θj公式后面加一个(λ/m)θj小式子。


166f630111ca428cb351c550b7a1a3ad.png


我们通过将含θj的项合并,可以得到1-α(λ/m),而这个式子其实之比1小一点点,可能是0.99,这样将0.99×θj每次 就只会缩小θj一点点,后面的式子都跟之前所示一样。


正规方程


在正规方程中用正则化,只需在原来的公式中加上一个λ×一个矩阵即可。

908ff2fb9e5c41a2b2ebf5215f3fb995.png



用正则化有一个好处就是可以解决一些矩阵不可逆的问题,因为前面我们讲到,如果样本数量比特征数量还要大时(XTX)-1是不可逆的,但是如果用正则化的话,只要保证λ大于0,就可以保证其中逆矩阵的式子一定可逆。

040aef24b6e146d58c561206b8784345.png



逻辑回归的正则化

其正则化的代价函数如下:

e489dbc7d8af4537ae7113a8770f4f5f.png



其实与线性回归的正则化代价函数的相似之处,都在原有函数后加上一个正则化公式。


梯度下降


713a5eff25644f75b4f2359c61aa167b.png

式子与线性回归的梯度下降很相似,表面上没什么区别,但还是那个原因,两者的假设函数不同。


高级优化函数



22e3c8bc3b9d473dbd8984f170e1bb85.png

这里还是类似,同样是在公式后面加上了一个正则化的式子。


目录
相关文章
|
3月前
|
机器学习/深度学习 算法
【机器学习】过拟合和欠拟合怎么判断,如何解决?(面试回答)
本文介绍了如何通过观察训练误差和验证误差来判断模型是否出现过拟合或欠拟合,并提供了相应的解决方案,包括增加数据、调整模型复杂度、使用正则化技术等。
261 1
|
15天前
|
机器学习/深度学习 算法 Python
深度解析机器学习中过拟合与欠拟合现象:理解模型偏差背后的原因及其解决方案,附带Python示例代码助你轻松掌握平衡技巧
【10月更文挑战第10天】机器学习模型旨在从数据中学习规律并预测新数据。训练过程中常遇过拟合和欠拟合问题。过拟合指模型在训练集上表现优异但泛化能力差,欠拟合则指模型未能充分学习数据规律,两者均影响模型效果。解决方法包括正则化、增加训练数据和特征选择等。示例代码展示了如何使用Python和Scikit-learn进行线性回归建模,并观察不同情况下的表现。
136 3
|
17天前
|
机器学习/深度学习 计算机视觉 Python
模型预测笔记(三):通过交叉验证网格搜索机器学习的最优参数
本文介绍了网格搜索(Grid Search)在机器学习中用于优化模型超参数的方法,包括定义超参数范围、创建参数网格、选择评估指标、构建模型和交叉验证策略、执行网格搜索、选择最佳超参数组合,并使用这些参数重新训练模型。文中还讨论了GridSearchCV的参数和不同机器学习问题适用的评分指标。最后提供了使用决策树分类器进行网格搜索的Python代码示例。
31 1
|
25天前
|
机器学习/深度学习 算法 数据挖掘
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
|
25天前
|
机器学习/深度学习 算法 API
【机器学习】正则化,欠拟合与过拟合(详细代码与图片演示!助你迅速拿下!!!)
【机器学习】正则化,欠拟合与过拟合(详细代码与图片演示!助你迅速拿下!!!)
|
3月前
|
机器学习/深度学习
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 吴恩达:机器学习的六个核心算法!
吴恩达教授在《The Batch》周报中介绍了机器学习领域的六个基础算法:线性回归、逻辑回归、梯度下降、神经网络、决策树和k均值聚类。这些算法是现代AI的基石,涵盖了从简单的统计建模到复杂的深度学习。线性回归用于连续变量预测,逻辑回归用于二分类,梯度下降用于优化模型参数,神经网络处理非线性关系,决策树提供直观的分类规则,而k均值聚类则用于无监督学习中的数据分组。这些算法各有优缺点,广泛应用于经济学、金融、医学、市场营销等多个领域。通过不断学习和实践,我们可以更好地掌握这些工具,发掘智能的乐趣。
110 1
算法金 | 吴恩达:机器学习的六个核心算法!
|
5月前
|
机器学习/深度学习 算法 BI
机器学习笔记(一) 感知机算法 之 原理篇
机器学习笔记(一) 感知机算法 之 原理篇
|
5月前
|
机器学习/深度学习 人工智能 算法
【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化
【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化
59 3
|
4月前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的正则化技术
在机器学习领域,正则化技术是防止过拟合的关键手段之一。本文将深入探讨L1与L2正则化方法的理论基础、实际应用及其对模型性能的影响。通过对比分析与案例研究,本文旨在为读者提供一套系统的正则化应用框架,帮助构建更加健壮和可靠的机器学习模型。

热门文章

最新文章