7.1 过拟合问题(The problem of overfitting)
变量个数不同的情况下,拟合的程度不同。过度拟合问题将会在变量过多的时候出现。过拟合的时候代价函数值会非常接近0甚至为0。
第三张图是过拟合状态,这个曲线千方百计地拟合训练集,导致他无法泛化到新样本中。
提问:为什么这三条曲线拟合程度不一样?
答:与高阶特征有关。特征的次越高,拟合程度越高。
泛化:一个假设模型应用到新样本的能力
每一个变量看上去都与房价有关,但是当特征变量过多而训练数据过少时,就会出现过拟合问题。
提问:数理统计和机器学习的差别?
数理统计是对数据进行统计分析,获得这些数据的性质(方差等)。只要得到足够多的统计数据,将来加入新的数据不会对已有数据的性质产生很大的影响;机器学习在已有数据上学习到的模型,将其用在新有数据,检测这个模型的好坏。
解决过拟合的办法:
- 减少特征变量的数量
- 人工挑选
- 模型选择算法(Model selection algorithm)
- 正则化
也许每个特征变量都或多或少对预测产生影响,我们可以通过正则化来减少量级或参数的大小,而保留每个变量。
7.2 代价函数(Cost function)
当最小化代价函数时,需要使尽量接近0,因为他们的系数都特别大,会使得整个函数变得很大。既然接近与0,那么这个函数相当于二次函数,是一个更好的假设模型。
这里并没有直接去除变量,而是弱化这两个特征对拟合模型的影响。
正则化
对参数加入惩罚项使得参数接近0,我们会得到一个更简单的假设模型。对参数加入惩罚项就是去简化假设模型,参数值越小,我们得到的函数就会越平滑和越简单,就越不会出现过拟合问题。
当特征变量非常多的时候,我们不知道缩小哪些参数,所以需要改变代价函数。新加入的项是从开始求和,习惯上不对惩罚。
提问:新加入的为什么是平方项?可不可以直接写成或者加绝对值?
答:为了求导方便,同时由于是平方项,使下降的速度加快。可以,加绝对值会导致参数的稀疏性,可以带来很多好的性质。稀疏性能够对特征进行选择。
提问:应不应该对进行惩罚?
答:不应该。在这里只是一个偏置量,对其进行约束没有作用。
正则化的第一个目标:与目标函数的第一项有关,就是我们想更好地拟合训练集;第二个目标:与目标函数的第二项(正则化项)有关,保持参数尽量地小。
是正则化参数,用来控制两个不同目标之间的平衡关系。
如果正则化参数被设得太大的话,会导致都接近于0,这样相当于把假设函数的全部项忽略掉了,只剩下, 也就是预测结果直接与相关,变成了一条直线,成了欠拟合的情况。
提问:为了简化模型,为什么需要大一些?
答:值越大,惩罚力度越大,最终会导致都要尽量地小,从而使模型变简单。
为什么需要正则化:(个人理解)当假设模型过拟合时,需要对某些参数进行缩小,从而简化模型。越复杂的模型对训练集拟合地越好。正则化是什么:选择需要惩罚的
7.3 线性回归的正则化(Regularized linear regression)
略小于1,因为非常小,而m非常大。可以把他想成0.99那样的数。
可以这样理解,当我们进行正则化线性回归时,每次迭代都将乘以一个比1略小的数,然后像之前的梯度函数一样减去第二项。
当值越大时,对参数的惩罚力度越大,使得参数更快地变小。
梯度下降是拟合线性回归模型的算法之一,第二种算法是用正规方程来解决。
设计一个矩阵X,每一行都代表一个单独的训练样本;建立一个向量y,向量y是一个m维向量,它包含了训练集里的所有标签,所以X是一个m x (n+1)维的矩阵。
为了让代价函数J最小,需要加一个项来使用正则化。后面(L)的矩阵是(n+1) x (n+1)维,这个矩阵的正对角线上除了,其他参数都是1
n是特征数量
如果样本总数m小于特征数量n,那么的矩阵是不可逆的(奇异矩阵)。正则化考虑到了这个问题,只要正则化参数是严格大于0的,我们就可以确信加上乘上后面那个矩阵,一定不是奇异矩阵。所以正则化还可以解决矩阵不可逆的问题。
7.4 逻辑回归的正则化(Regularized logistic regression)
本节中主要讲如何改进梯度下降算法和另一种高级优化算法,使他们应用到正则化逻辑回归中。
为了对逻辑回归代价函数正则化,需要在原代价函数后面增加一项(下图的中括号标错地方了)。添加的项是为了惩罚,防止他们过大。
正则化之后的函数为:
对梯度下降函数进行正则化:需要注意的是,这里的梯度下降函数看似与线性回归的一致,但他们的假设函数不同。因为没有对正则化,所以在梯度下降中,和其他的迭代不一样。
为什么对梯度下降函数正则化后,新添加的项的求和没有了?:因为是对每个求偏导,其他的项没有了。