7.1 过拟合问题(The problem of overfitting)

变量个数不同的情况下,拟合的程度不同。过度拟合问题将会在变量过多的时候出现。过拟合的时候代价函数值会非常接近0甚至为0。
第三张图是过拟合状态,这个曲线千方百计地拟合训练集,导致他无法泛化到新样本中。
提问:为什么这三条曲线拟合程度不一样?
:与高阶特征有关。特征的次越高,拟合程度越高。
吴恩达机器学习笔记(七)
吴恩达机器学习笔记(七)

泛化:一个假设模型应用到新样本的能力

每一个变量看上去都与房价有关,但是当特征变量过多而训练数据过少时,就会出现过拟合问题。
提问:数理统计和机器学习的差别?
数理统计是对数据进行统计分析,获得这些数据的性质(方差等)。只要得到足够多的统计数据,将来加入新的数据不会对已有数据的性质产生很大的影响;机器学习在已有数据上学习到的模型,将其用在新有数据,检测这个模型的好坏。
吴恩达机器学习笔记(七)

解决过拟合的办法

  • 减少特征变量的数量
    • 人工挑选
    • 模型选择算法(Model selection algorithm)
  • 正则化
    也许每个特征变量都或多或少对预测产生影响,我们可以通过正则化来减少量级或参数θj\theta_j的大小,而保留每个变量。
    吴恩达机器学习笔记(七)

7.2 代价函数(Cost function)

当最小化代价函数时,需要使θ3θ4\theta_3 和 \theta_4尽量接近0,因为他们的系数都特别大,会使得整个函数变得很大。既然θ3θ4\theta_3 和 \theta_4接近与0,那么这个函数相当于二次函数,是一个更好的假设模型。
这里并没有直接去除变量x3x4x^3 和 x^4,而是弱化这两个特征对拟合模型的影响。
吴恩达机器学习笔记(七)

正则化
对参数加入惩罚项使得参数接近0,我们会得到一个更简单的假设模型。对参数加入惩罚项就是去简化假设模型,参数值越小,我们得到的函数就会越平滑和越简单,就越不会出现过拟合问题。
当特征变量非常多的时候,我们不知道缩小哪些参数,所以需要改变代价函数。新加入的项是从θ1\theta_1开始求和,习惯上不对θ0\theta_0惩罚。
提问:新加入的θj\theta_j为什么是平方项?可不可以直接写成θ\theta或者加绝对值?
:为了求导方便,同时由于是平方项,使θj\theta_j下降的速度加快。可以,加绝对值会导致参数的稀疏性,可以带来很多好的性质。稀疏性能够对特征进行选择。
提问:应不应该对θ0\theta_0进行惩罚?
:不应该。θ0\theta_0在这里只是一个偏置量,对其进行约束没有作用。
吴恩达机器学习笔记(七)

正则化的第一个目标:与目标函数的第一项有关,就是我们想更好地拟合训练集;第二个目标:与目标函数的第二项(正则化项)有关,保持参数尽量地小。
λ\lambda是正则化参数,用来控制两个不同目标之间的平衡关系。
吴恩达机器学习笔记(七)

如果正则化参数λ\lambda被设得太大的话,会导致θj\theta_j都接近于0,这样相当于把假设函数的全部项忽略掉了,只剩下θ0\theta_0, 也就是预测结果直接与θ0\theta_0相关,变成了一条直线,成了欠拟合的情况。
提问:为了简化模型,为什么λ\lambda需要大一些?
λ\lambda值越大,惩罚力度越大,最终会导致θj\theta_j都要尽量地小,从而使模型变简单。
吴恩达机器学习笔记(七)

为什么需要正则化:(个人理解)当假设模型过拟合时,需要对某些参数θj\theta_j进行缩小,从而简化模型。越复杂的模型对训练集拟合地越好。正则化是什么:选择需要惩罚的θj\theta_j

7.3 线性回归的正则化(Regularized linear regression)

1αλm1 - \alpha\frac{\lambda}{m}略小于1,因为α\alpha非常小,而m非常大。可以把他想成0.99那样的数。
可以这样理解,当我们进行正则化线性回归时,每次迭代都将θj\theta_j乘以一个比1略小的数,然后像之前的梯度函数一样减去第二项。
λ\lambda值越大时,对参数的惩罚力度越大,使得参数更快地变小。
吴恩达机器学习笔记(七)

梯度下降是拟合线性回归模型的算法之一,第二种算法是用正规方程来解决。
设计一个矩阵X,每一行都代表一个单独的训练样本;建立一个向量y,向量y是一个m维向量,它包含了训练集里的所有标签,所以X是一个m x (n+1)维的矩阵。
为了让代价函数J最小,需要加一个λ\lambda项来使用正则化。λ\lambda后面(L)的矩阵是(n+1) x (n+1)维,这个矩阵的正对角线上除了θ0\theta_0,其他参数θj\theta_j都是1

n是特征数量

吴恩达机器学习笔记(七)
吴恩达机器学习笔记(七)

如果样本总数m小于特征数量n,那么XTXX^TX的矩阵是不可逆的(奇异矩阵)。正则化考虑到了这个问题,只要正则化参数λ\lambda是严格大于0的,我们就可以确信XTXX^TX加上λ\lambda乘上后面那个矩阵,一定不是奇异矩阵。所以正则化还可以解决矩阵不可逆的问题
吴恩达机器学习笔记(七)

7.4 逻辑回归的正则化(Regularized logistic regression)

本节中主要讲如何改进梯度下降算法和另一种高级优化算法,使他们应用到正则化逻辑回归中。
为了对逻辑回归代价函数正则化,需要在原代价函数后面增加一项(下图的中括号标错地方了)。添加的项是为了惩罚θj\theta_j,防止他们过大。
正则化之后的函数为
J(θ)=1mi=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))]+λ2mj=1nθj2J(\theta)=-\frac{1}{m}\sum_{i=1}^m[y^{(i)}\log(h_\theta(x^{(i)})) + (1-y^{(i)})\log(1-h_\theta(x^{(i)}))] + \frac{\lambda}{2m}\sum_{j=1}^n\theta^2_j
吴恩达机器学习笔记(七)

对梯度下降函数进行正则化:需要注意的是,这里的梯度下降函数看似与线性回归的一致,但他们的假设函数不同。因为没有对θ0\theta_0正则化,所以在梯度下降中,θ0\theta_0和其他的θj\theta_j迭代不一样。
吴恩达机器学习笔记(七)

为什么对梯度下降函数正则化后,新添加的项的求和没有了?:因为是对每个θ\theta求偏导,其他的θ\theta项没有了。

相关文章: