欠拟合
模型拟合程度不高,数据距离拟合曲线较远,或指模型没有很好地捕捉到数据特征,不能够很好地拟合数据
过拟合(“算法具有高方差”)
对于一个问题,有许多变量,这些变量都与该问题似乎相关,但训练集的规模相对很小,常常会导致过拟合问题
拟合一个高阶多项式,这个假设函数能拟合几乎所有数据,但无法泛化到新的样本中(函数太庞杂,没有足够的数据去约束)
泛化:一个假设模型应用到新样本的能力
过拟合
较好的拟合
解决
1.尽量减少选取变量的数量:
1)人工检查取舍
2)模型选择算法(自动选择哪些取哪些舍)
2.正则化:保留所有变量但减少参数的量级
正则化原理
在代价函数中加入惩罚项:
其中是惩罚项,前面的系数是一个大数,如1000。如此,在优化的过程中会尽可能地变小,趋向于0。相当于去掉了一些参数,使“曲线”更平滑
不惩罚是约定俗成,在实践中惩不惩罚差别不大。对于其他参数都施加惩罚,因为不知道哪些应该被缩小
控制了两个不同目标之间的取舍(均衡):
1)更好地拟合训练集
2)保持参数尽可能小(模型尽可能简单)
显然,越大惩罚越大,越接近目标2、远离目标1
例如,当其非常大时,得到的假设函数近似为:
加入正则化的梯度下降
(j!=0)
由上式可见,的更新变成了先乘以一个比1略小的数(0.99之类的数),再进行与引入正则化之前一样的更新操作
加入正则化的正规方程
其中后面的矩阵是一个(n+1)*(n+1)维对角阵(第1行第1列为0)
在之前提到过不可逆的问题。在这里,只要严格大于0,则可以确定其不是奇异矩阵。
因此,使用正则化还可以解决不可逆的问题
网友评论