过拟合:
什么叫做过拟合(Overfitting),过拟合通常发生在模型复杂度过高或训练数据量过小的情况下。当模型过于复杂时,它可以对训练数据中的噪声或异常值产生过度敏感,而忽略了真正的模式和趋势。当训练数据量较小时,模型可能会过于依赖于这些有限的样本,而无法很好地捕捉到整体数据集的特征。它虽然是非常符合我们给予机器的所有练习集,但它并不是一个完全正确的。
这幅图上,第一个函数是因为,它偏离训练集太远而并不是最准确的,第二个是比较准确的一个,而最后一个则是完美的经过了所有的训练集但它是错误的,很明显这条函数一定是经过(0,0)的,而它并没有经过,我们成这种为过拟合,正所谓是拟合了但过头了。 过拟合在这里也可以叫做高拟合(High Variance),过拟合只是高方差的一种。
同理,我们的逻辑回归也会遇到这个问题。
解决过拟合:
第一种方法就是用更多的数据,去得到我们最适合的答案。但是有时候数据并没有这么多,这个方法的使用范围比较小。
第二种方法叫做特征选择(feature selection),它的优点就是通过你选择对于预测值最相关的值,这样子做我们就可以得到一个最合适的值,既不过拟合也不会不准确。但是缺点就是我们会扔掉许多其他的属性。
第三种方法就是我们的正则化(Regularization),简单来说,比如我们得到了一个多项式的函数用来拟合我们的预测函数,我们只需要把我们的
中的x设置为0,这种方法很温和的减少了我们的特征并不是直接把他们设置为0。所以简而言之,正则化就是保存我们的特征,只是减小他们起到的作用。
正则化的成本函数:
我们在正则化的方法中,由于我们现在并不知道什么特征是有用的,什么特征是没用的,我们最好的方法就是我们把所有的特征都变成我们的比较小的数字,这样函数就不会过拟合,所以我们的成本函数需要一些改进。
在这个改进的式子里,我们需要把我们的wj也要一个一个加起来,因为我们刚刚知道了我们要让我们的w的值保持比较小的一个状态,这里我们会有一个新的系数它的作用和我们的学习率非常相似,它们都需要我们去取得一个比较合适的值,在这里有人会把b也加起来,但其实b加不加效果差不多。所以我们一般在这个式子里并不加b这个属性值。
在这个式子里我们就要去选择一个合适的而它的作用就和我们的两部分,方差和过拟合部分相关,看他们的权重,从而找到一个平衡点。当我们取
为0,那我们的正则化的部分就会为0,这就不会起到解决我们的过拟合的问题,但当我们的
取的值太大的值,就会让我们的
的值太小,也并不适合,这是两个很极端的情况,所以我们要选择一个合适的
。
正则化线性回归(regularized linear regression):
这时由于我们的成本函数发生了变化,这时我们的梯度下降也发生了变化。
这里也只有在第一个对于w的偏导数里发生了一些变化,我们再把我们的偏导数代进去。
这里可以稍微解释一下,为什么我们得到的w值会比较小。
,
,
一般来说,我们的是0.01左右,
是一个小数,大约1到10左右,而我们的m是我们的x的数量,
的值大约在0.002左右,我们的wj会较小。
而下面这个是我们得到我们偏导数的过程。
正则化逻辑回归(regularized logical regression):
也是类似于我们的线性回归,在我们原来的函数后面加上我们的wj。
同样的,在我们的梯度下降中也是差不多的式子: