吴恩达机器学习笔记(七)

7.1 过拟合问题(The problem of overfitting)

变量个数不同的情况下,拟合的程度不同。过度拟合问题将会在变量过多的时候出现。过拟合的时候代价函数值会非常接近0甚至为0。
第三张图是过拟合状态,这个曲线千方百计地拟合训练集,导致他无法泛化到新样本中。
提问:为什么这三条曲线拟合程度不一样?
:与高阶特征有关。特征的次越高,拟合程度越高。
在这里插入图片描述
在这里插入图片描述

泛化:一个假设模型应用到新样本的能力

每一个变量看上去都与房价有关,但是当特征变量过多而训练数据过少时,就会出现过拟合问题。
提问:数理统计和机器学习的差别?
数理统计是对数据进行统计分析,获得这些数据的性质(方差等)。只要得到足够多的统计数据,将来加入新的数据不会对已有数据的性质产生很大的影响;机器学习在已有数据上学习到的模型,将其用在新有数据,检测这个模型的好坏。
在这里插入图片描述

解决过拟合的办法

  • 减少特征变量的数量
    • 人工挑选
    • 模型选择算法(Model selection algorithm)
  • 正则化
    也许每个特征变量都或多或少对预测产生影响,我们可以通过正则化来减少量级或参数 θ j \theta_j θj的大小,而保留每个变量。
    在这里插入图片描述

7.2 代价函数(Cost function)

当最小化代价函数时,需要使 θ 3 和 θ 4 \theta_3 和 \theta_4 θ3θ4尽量接近0,因为他们的系数都特别大,会使得整个函数变得很大。既然 θ 3 和 θ 4 \theta_3 和 \theta_4 θ3θ4接近与0,那么这个函数相当于二次函数,是一个更好的假设模型。
这里并没有直接去除变量 x 3 和 x 4 x^3 和 x^4 x3x4,而是弱化这两个特征对拟合模型的影响。
在这里插入图片描述

正则化
对参数加入惩罚项使得参数接近0,我们会得到一个更简单的假设模型。对参数加入惩罚项就是去简化假设模型,参数值越小,我们得到的函数就会越平滑和越简单,就越不会出现过拟合问题。
当特征变量非常多的时候,我们不知道缩小哪些参数,所以需要改变代价函数。新加入的项是从 θ 1 \theta_1 θ1开始求和,习惯上不对 θ 0 \theta_0 θ0惩罚。
提问:新加入的 θ j \theta_j θj为什么是平方项?可不可以直接写成 θ \theta θ或者加绝对值?
:为了求导方便,同时由于是平方项,使 θ j \theta_j θj下降的速度加快。可以,加绝对值会导致参数的稀疏性,可以带来很多好的性质。稀疏性能够对特征进行选择。
提问:应不应该对 θ 0 \theta_0 θ0进行惩罚?
:不应该。 θ 0 \theta_0 θ0在这里只是一个偏置量,对其进行约束没有作用。
在这里插入图片描述

正则化的第一个目标:与目标函数的第一项有关,就是我们想更好地拟合训练集;第二个目标:与目标函数的第二项(正则化项)有关,保持参数尽量地小。
λ \lambda λ是正则化参数,用来控制两个不同目标之间的平衡关系。
在这里插入图片描述

如果正则化参数 λ \lambda λ被设得太大的话,会导致 θ j \theta_j θj都接近于0,这样相当于把假设函数的全部项忽略掉了,只剩下 θ 0 \theta_0 θ0, 也就是预测结果直接与 θ 0 \theta_0 θ0相关,变成了一条直线,成了欠拟合的情况。
提问:为了简化模型,为什么 λ \lambda λ需要大一些?
λ \lambda λ值越大,惩罚力度越大,最终会导致 θ j \theta_j θj都要尽量地小,从而使模型变简单。
在这里插入图片描述

为什么需要正则化:(个人理解)当假设模型过拟合时,需要对某些参数 θ j \theta_j θj进行缩小,从而简化模型。越复杂的模型对训练集拟合地越好。正则化是什么:选择需要惩罚的 θ j \theta_j θj

7.3 线性回归的正则化(Regularized linear regression)

1 − α λ m 1 - \alpha\frac{\lambda}{m} 1αmλ略小于1,因为 α \alpha α非常小,而m非常大。可以把他想成0.99那样的数。
可以这样理解,当我们进行正则化线性回归时,每次迭代都将 θ j \theta_j θj乘以一个比1略小的数,然后像之前的梯度函数一样减去第二项。
λ \lambda λ值越大时,对参数的惩罚力度越大,使得参数更快地变小。
在这里插入图片描述

梯度下降是拟合线性回归模型的算法之一,第二种算法是用正规方程来解决。
设计一个矩阵X,每一行都代表一个单独的训练样本;建立一个向量y,向量y是一个m维向量,它包含了训练集里的所有标签,所以X是一个m x (n+1)维的矩阵。
为了让代价函数J最小,需要加一个 λ \lambda λ项来使用正则化。 λ \lambda λ后面(L)的矩阵是(n+1) x (n+1)维,这个矩阵的正对角线上除了 θ 0 \theta_0 θ0,其他参数 θ j \theta_j θj都是1

n是特征数量

在这里插入图片描述
在这里插入图片描述

如果样本总数m小于特征数量n,那么 X T X X^TX XTX的矩阵是不可逆的(奇异矩阵)。正则化考虑到了这个问题,只要正则化参数 λ \lambda λ是严格大于0的,我们就可以确信 X T X X^TX XTX加上 λ \lambda λ乘上后面那个矩阵,一定不是奇异矩阵。所以正则化还可以解决矩阵不可逆的问题
在这里插入图片描述

7.4 逻辑回归的正则化(Regularized logistic regression)

本节中主要讲如何改进梯度下降算法和另一种高级优化算法,使他们应用到正则化逻辑回归中。
为了对逻辑回归代价函数正则化,需要在原代价函数后面增加一项(下图的中括号标错地方了)。添加的项是为了惩罚 θ j \theta_j θj,防止他们过大。
正则化之后的函数为
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[y^{(i)}\log(h_\theta(x^{(i)})) + (1-y^{(i)})\log(1-h_\theta(x^{(i)}))] + \frac{\lambda}{2m}\sum_{j=1}^n\theta^2_j J(θ)=m1i=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))]+2mλj=1nθj2
在这里插入图片描述

对梯度下降函数进行正则化:需要注意的是,这里的梯度下降函数看似与线性回归的一致,但他们的假设函数不同。因为没有对 θ 0 \theta_0 θ0正则化,所以在梯度下降中, θ 0 \theta_0 θ0和其他的 θ j \theta_j θj迭代不一样。
在这里插入图片描述

为什么对梯度下降函数正则化后,新添加的项的求和没有了?:因为是对每个 θ \theta θ求偏导,其他的 θ \theta θ项没有了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值