过拟合与正则化

过拟合:

什么叫做过拟合(Overfitting),过拟合通常发生在模型复杂度过高或训练数据量过小的情况下。当模型过于复杂时,它可以对训练数据中的噪声或异常值产生过度敏感,而忽略了真正的模式和趋势。当训练数据量较小时,模型可能会过于依赖于这些有限的样本,而无法很好地捕捉到整体数据集的特征。它虽然是非常符合我们给予机器的所有练习集,但它并不是一个完全正确的。

这幅图上,第一个函数是因为,它偏离训练集太远而并不是最准确的,第二个是比较准确的一个,而最后一个则是完美的经过了所有的训练集但它是错误的,很明显这条函数一定是经过(0,0)的,而它并没有经过,我们成这种为过拟合,正所谓是拟合了但过头了。 过拟合在这里也可以叫做高拟合(High Variance),过拟合只是高方差的一种。

同理,我们的逻辑回归也会遇到这个问题。

解决过拟合:

第一种方法就是用更多的数据,去得到我们最适合的答案。但是有时候数据并没有这么多,这个方法的使用范围比较小。

第二种方法叫做特征选择(feature selection),它的优点就是通过你选择对于预测值最相关的值,这样子做我们就可以得到一个最合适的值,既不过拟合也不会不准确。但是缺点就是我们会扔掉许多其他的属性。

第三种方法就是我们的正则化(Regularization),简单来说,比如我们得到了一个多项式的函数用来拟合我们的预测函数f=23x^{}+432x^{2}+16x^{3}+256x^{4}+876,我们只需要把我们的x^{4}中的x设置为0,这种方法很温和的减少了我们的特征并不是直接把他们设置为0。所以简而言之,正则化就是保存我们的特征,只是减小他们起到的作用。

正则化的成本函数:

我们在正则化的方法中,由于我们现在并不知道什么特征是有用的,什么特征是没用的,我们最好的方法就是我们把所有的特征都变成我们的比较小的数字,这样函数就不会过拟合,所以我们的成本函数需要一些改进。

J(\vec{w},b)=\frac{1}{2m}\sum_{i=1}^{m}(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)})^{2}+\frac{\lambda }{2m}\sum_{j=1}^{n}w_{j}^{2}

在这个改进的式子里,我们需要把我们的wj也要一个一个加起来,因为我们刚刚知道了我们要让我们的w的值保持比较小的一个状态,这里我们会有一个新的系数\lambda它的作用和我们的学习率非常相似,它们都需要我们去取得一个比较合适的值,在这里有人会把b也加起来,但其实b加不加效果差不多。所以我们一般在这个式子里并不加b这个属性值。

在这个式子里我们就要去选择一个合适的\lambda而它的作用就和我们的两部分,方差和过拟合部分相关,看他们的权重,从而找到一个平衡点。当我们取\lambda为0,那我们的正则化的部分就会为0,这就不会起到解决我们的过拟合的问题,但当我们的\lambda取的值太大的值,就会让我们的w_{j}的值太小,也并不适合,这是两个很极端的情况,所以我们要选择一个合适的\lambda

正则化线性回归(regularized linear regression):

这时由于我们的成本函数发生了变化,这时我们的梯度下降也发生了变化。

这里也只有在第一个对于w的偏导数里发生了一些变化,我们再把我们的偏导数代进去。

  

这里可以稍微解释一下,为什么我们得到的w值会比较小。

w_{j}=w_{j}-\alpha [\frac{1}{m}\sum_{i=1}^{m}[(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)})x_{j}^{(i)}]+\frac{\lambda }{m}w_{j}]

w_{j}=w_{j}(1-\alpha \frac{\lambda }{m})-\alpha [\frac{1}{m}\sum_{i=1}^{m}[(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)})x_{j}^{(i)}],

一般来说,我们的\alpha是0.01左右,\lambda是一个小数,大约1到10左右,而我们的m是我们的x的数量, \alpha \frac{\lambda }{m}的值大约在0.002左右,我们的wj会较小。

而下面这个是我们得到我们偏导数的过程。 

正则化逻辑回归(regularized logical regression):

也是类似于我们的线性回归,在我们原来的函数后面加上我们的wj。

  

同样的,在我们的梯度下降中也是差不多的式子:

到这里我们的回归算法和分类算法就告一段落了,接下来我们将进入深度学习算法。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值