我在b站学ML(八)

过拟合问题及解决方法

从线性回归中房价的例子可以很容易理解欠拟合和过拟合的问题

我在b站学ML(八)

过度拟合的问题将会在变量较多的时候发生,这种时候训练的方程总能很好的拟合训练数据,所以代价函数很可能非常接近于0,但是这样的曲线它千方百计的拟合于训练数据,把一些样本自带的属性认作是整个系统所具有的属性,这将导致它无法泛化到新的数据样本中,以至于无法做出正确的预测。(泛化指的是一个假设模型能够应用到新样本的能力)

同样的在逻辑回归模型中也会有此类问题:

我在b站学ML(八)

解决方法:

一、尽量减少选取变量的数量

1、人工检查变量的条目并以此决定哪些变量更为重要,然后决定保留哪些特征变量,哪些应该舍弃

2、模型选择算法,自动选择采用和舍弃哪些特征变量

(存在的问题是舍弃一部分特征变量意味着舍弃了问题中的一些信息)

二、正则化

1、正则化中我们将保留所有的特征变量,但是减少数量级或参数数值的大小我在b站学ML(八)

2、当我们具有很多特征变量,并且每个都会对y的值产生一定影响时,正则化效果会很好

(通过正则化达到控制特征影响力的效果,增强泛化能力)

多项式回归中房价的例子我在b站学ML(八),通过对我在b站学ML(八)惩罚使它们的值接近0,来降低高次项对最终结果的影响力。更一般的我们对我在b站学ML(八)都做惩罚,使得函数更加光滑。并没有减少特征的数量,但是减少了某些特征的影响力。在代价函数中加入正则化项得到新的代价函数:

我在b站学ML(八)

我在b站学ML(八)称为正则化项,我在b站学ML(八)称为正则化参数,其目的是控制在两个不同的目标中的一个平衡关系。第一个目标是我在b站学ML(八),就是我们想要训练使假设更好的拟合训练数据,使之能更好的适应训练集,第二个目标是我在b站学ML(八),希望保持参数值较小。如图对比使用与不使用正则化的效果

我在b站学ML(八)

但是当我在b站学ML(八)被设定的非常大时,将会以极大的力度惩罚我在b站学ML(八)……,这将会使这些参数都非常接近0,在假设函数中这些参数所在的项就相当于被去掉了,只剩下常数项我在b站学ML(八),类似于拟合了一条水平直线,对于数据来说这就是一个欠拟合。

正则化线性回归的梯度下降算法(这里对我在b站学ML(八)求偏导没搞懂见https://blog.****.net/After__today/article/details/81267788)

我在b站学ML(八)

我在b站学ML(八)

我在b站学ML(八)

回归之前的学习,不使用正则化时,我在b站学ML(八)时,代价函数最小(见https://mp.****.net/postedit/81352891)

那么使用了正则化之后呢

我在b站学ML(八)

正则化逻辑回归算法

修改代价函数:

我在b站学ML(八)

将梯度下降算法应用进来

我在b站学ML(八)