机器学习-过拟合问题
小白入门记录网课笔记并整理,欢迎交流
什么是过拟合
欠拟合:与数据规律偏差较大
拟合:与数据规律契合。如果这个模型在训练集以外的例子(从未见过的新样本)上也能表现良好,这被称之为泛化。
过拟合:拟合了数据集,但是拟合的太好了。对从未见过的新样本上表现不是很好,即泛化能力不好。另一种术语:算法具有高方差。
这里感觉是应该拟合大部分数据的规律,而不是追求把训练集每一个数据都准确分类,如果训练集中有数据偏差,那么这个训练出来的模型对新的样本预测能力是不佳的(相比于拟合)

左:欠拟合,中:just right 拟合,右:过拟合
解决过拟合
-
获取更多的训练数据(但可能有时候无法获取)
-
选择更有效的特征训练(但是这样可能会损失某些有效信息)
-
正则化(鼓励学习算法缩小参数的值,而不一定要求参数精确地设置为0),让你保留所有特征,但是防止特征产生过大的影响

带正则化的成本函数
正则化是我们用的比较多的方式,这里详细介绍一下解决过拟合的第三种方法-正则化
大部分情况下,我们不知道哪些特征更重要,哪些特征不重要。
因此,正则化通常实现方式是惩罚所有特征,或者更准确来说,减小所有的wj参数。

第1,2项,都除2m,按同样的比例进行缩放。再求解会容易一点。
一般不去惩罚b,因为是否这样做几乎没什么区别,这里主要对wj进行惩罚
选择也是一个很重要的事:
如果过小,那么正则项基本没用,那模型还是过拟合
如果过大,其他项很小趋近于0,f(x)趋近于b,一条水平直线,欠拟合。

应用
正则化线性回归

在成本函数J(w,b)中加入正则项,然后进行梯度下降(带入公式)

我们尝试带入一些值进去,比如学习率=0.01,
=1,样本数m=50,得到
为一个接近于1但是稍小于1的数,比如0.9998。那么原本wj,现在迭代0.9998wj加上后面的普通项
,就是对wj进行惩罚的过程。
正则化逻辑回归
逻辑与正则化线性回归相同,在成本函数后面加上正则项。只是逻辑回归的损失函数与线性回归不一样。

在带入梯度下降公式整理之后,会发现也是类似,对wj进行惩罚。
更多推荐
所有评论(0)