当前位置:网站首页>吴恩达老师机器学习课程笔记 07 正则化
吴恩达老师机器学习课程笔记 07 正则化
2022-07-29 11:48:00 【3077491278】
7 正则化
7.1 过拟合的问题
过拟合的含义
欠拟合是指拟合算法具有高偏差,数据拟合效果很差。
过拟合是指拟合算法具有高方差,能拟合所有数据,但函数变量太多,没有足够的数据来约束,从而无法泛化到新的样本中。
如果有非常多的特征,而只有非常少的训练数据,通过学习得到的模型可能能够非常好地适应训练集(代
价函数可能几乎为 0),但是可能会不能推广到新的数据。
解决过拟合的方法
- 减少特征的数量:可以手工选择保留更为重要的特征,或者用之后要讲的模型选择算法自动选择需要保留的特征。但这种方法的缺点是在舍弃一些特征的同时也舍弃掉了一些信息。
- 正则化:保留所有的特征,但是减少参数的大小。
- 通过绘制假设函数的图像,根据曲线是否扭曲来选择合适的多项式的次数。但是大多数时候,研究的问题都是有很多特征的,则无法可视化,从而导致这种方法失效。
总结
过拟合是指拟合算法具有高方差,能拟合所有数据,但泛化能力差。
一般可以用减少特征的数量或正则化来解决过拟合的问题。
7.2 代价函数
正则化
正是假设函数中多项式的次数过高导致了过拟合的产生,因此如果让这些高次项的系数接近于0的话,相等于假设函数仍然是次数较低的函数、更加平滑,则可以解决过拟合的问题。
假如有非常多的特征,预先并不知道其中哪些特征是高次项,因此需要修改代价函数对所有的特征进行惩罚。具体的修改方法为在原本代价函数的基础上加一个正则化项 J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 n θ j 2 ] J(\theta)=\frac{1}{2 m}\left[\sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{j=1}^{n} \theta_{j}^{2}\right] J(θ)=2m1[∑i=1m(hθ(x(i))−y(i))2+λ∑j=1nθj2]。需要注意的是没有对 θ 0 \theta_0 θ0进行惩罚,这是约定俗成的,但是否有这一项在实际中对结果影响不大。
λ ∑ j = 1 n θ j 2 \lambda \sum_{j=1}^{n} \theta_{j}^{2} λ∑j=1nθj2是正则化项, λ \lambda λ是正则化参数,用于在拟合训练集和保持参数尽可能小(从而避免出现过拟合)的两个目标之间进行权衡。
并且让代价函数最优化的软件来选择这些惩罚的程度。这样的结果是得到了一个较为简单的 能防止过拟合问题的假设。
正则化参数的讨论
如果 λ \lambda λ过大,为了使得代价函数尽可能小,所有的 θ i \theta_i θi(不包括 θ 0 \theta_0 θ0)都会趋于0,最终得到的是一条平行于 x x x轴的直线,就造成了欠拟合。
所以对于正则化,需要取一个合理的 λ \lambda λ的值,这样才能更好的应用正则化。
总结
正则化项能使得参数尽可能小,从而解决过拟合的问题。
7.3 正则化线性回归
正则化线性回归的梯度下降法
正则化线性回归的代价函数为 J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 n θ j 2 ] J(\theta)=\frac{1}{2 m}\left[\sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{j=1}^{n} \theta_{j}^{2}\right] J(θ)=2m1[∑i=1m(hθ(x(i))−y(i))2+λ∑j=1nθj2]。
进行梯度下降的过程为 θ 0 : = θ 0 − a 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x 0 ( i ) θ j : = θ j − a [ 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) + λ m θ j ] \begin{aligned} \theta_{0}: &=\theta_{0}-a \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{0}^{(i)} \\ \theta_{j} &:=\theta_{j}-a\left[\frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{j}^{(i)}+\frac{\lambda}{m} \theta_{j}\right] \end{aligned} θ0:θj=θ0−am1i=1∑m(hθ(x(i))−y(i))x0(i):=θj−a[m1i=1∑m(hθ(x(i))−y(i))xj(i)+mλθj]
对第二个式子进行一些变换可得 θ j : = θ j ( 1 − a λ m ) − a 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) \theta_{j}:=\theta_{j}\left(1-a \frac{\lambda}{m}\right)-a \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{j}^{(i)} θj:=θj(1−amλ)−am1∑i=1m(hθ(x(i))−y(i))xj(i),其中 1 − a λ m 1-a \frac{\lambda}{m} 1−amλ是一个比1略小的值。也就是说,正则化线性回归的梯度下降算法的变化在于,每次都在原有算法更新规则的基础上令 θ \theta θ值减少了一个额外的值。
正则化线性回归的正规方程法
一般线性回归模型的正规方程法的求解方法为 θ = ( X T X ) − 1 X T y \theta=\left(X^{T} X\right)^{-1} X^{T} y θ=(XTX)−1XTy 。
正则化线性回归模型的正规方程法的求解方法为 θ = ( X T X + λ [ 0 1 1 ⋱ 1 ] ) − 1 X T y \theta=\left(X^{T} X+\lambda\left[\begin{array}{lllll}0 & & & & \\ & 1 & & & \\ & & 1 & & \\ & & & \ddots & \\ & & & & 1\end{array}\right]\right)^{-1} X^{T} y θ=⎝⎛XTX+λ⎣⎡011⋱1⎦⎤⎠⎞−1XTy。
总结
本节将梯度下降法和正规方程法推广到了正则化线性回归中。
7.4 正则化的逻辑回归模型
类似正则化线性回归模型的处理方式,对于逻辑回归,也给代价函数增加一个正则化的表达式,得到代价函数 J ( θ ) = 1 m ∑ i = 1 m [ − y ( i ) log ( h θ ( x ( i ) ) ) − ( 1 − y ( i ) ) log ( 1 − h θ ( x ( i ) ) ) ] + λ 2 m ∑ j = 1 n θ j 2 J(\theta)=\frac{1}{m} \sum_{i=1}^{m}\left[-y^{(i)} \log \left(h_{\theta}\left(x^{(i)}\right)\right)-\left(1-y^{(i)}\right) \log \left(1-h_{\theta}\left(x^{(i)}\right)\right)\right]+\frac{\lambda}{2 m} \sum_{j=1}^{n} \theta_{j}^{2} J(θ)=m1∑i=1m[−y(i)log(hθ(x(i)))−(1−y(i))log(1−hθ(x(i)))]+2mλ∑j=1nθj2。
得到梯度下降法的过程为:
θ 0 : = θ 0 − a 1 m ∑ i = 1 m ( ( h θ ( x ( i ) ) − y ( i ) ) x 0 ( i ) ) \theta_{0}:=\theta_{0}-a \frac{1}{m} \sum_{i=1}^{m}\left(\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{0}^{(i)}\right) θ0:=θ0−am1∑i=1m((hθ(x(i))−y(i))x0(i))
θ j : = θ j − a [ 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) + λ m θ j ] \theta_{j}:=\theta_{j}-a\left[\frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{j}^{(i)}+\frac{\lambda}{m} \theta_{j}\right] θj:=θj−a[m1∑i=1m(hθ(x(i))−y(i))xj(i)+mλθj]
总结
本节将梯度下降法和正规方程法推广到了正则化逻辑回归中。
边栏推荐
- Basic. Blocking
- socket+websocket
- 面试官培训课件(非常实用的企业内训课件)
- 2022年企业直播行业发展洞察
- QML(一):自定义圆角按钮的处理
- "Knowledge Collection" article to understand mysql index!!(recommended collection)
- 2.3 Insertion sort
- Based on the flask to write a small shopping mall project
- DAY 27 丨 daily SQL clock 】 【 every visit to the number of transactions "difficulty difficult - released in advance"
- 2.2 Selection sort
猜你喜欢

Summer vacation training week1

LED透明屏和LED玻璃显示屏区别

2.3插入排序

网络层和传输层限制

Self collection online computer wallpaper PHP source code v2.0 adaptive end

【Unity3D】场景切换、退出全屏、退出游戏

What is kubernetes custom resource definition (CRD)?

考完PMP后有什么益处

Out-of-the-box problem-solving thinking, putting a "rearview mirror" on the unconscious life

2.1 Bubble sort (mercifully Sorting)
随机推荐
【Unity3D】场景切换、退出全屏、退出游戏
【每日SQL打卡】DAY 21丨报告系统状态的连续日期【难度困难】
It is recommended to collect a thousand ways to write sql row to column!!
面试官培训课件(非常实用的企业内训课件)
AI全流程开发难题破解之钥
Great golang Road
Kubernetes基本概念
2.3 Insertion sort
通过递归的方式实现树形结构
如何对SQuAD1.1数据集进行预处理「详解版」
365天挑战LeetCode1000题——Day 043 有效的正方形 数学
文件上传漏洞
【每日SQL打卡】DAY 25丨不同性别每日分数总计【难度中等】
WPF 实现平移控件
Learning with Recoverable Forgetting readings
使用anyio替代asyncio
ECCV 2022 | ssp: a new idea of small sample tasks with self-supporting matching
公司出了一款新产品,要不要招代理商?
DAY 20 daily SQL clock 】 【 丨 query results of quality and than simple difficult 】 【
学习周刊-总第64期-一个v2ex风格的开源论坛程序