第03周:吴恩达 Andrew Ng 机器学习

学习目标:

  • 完成过拟合问题与神经网络的理论学习
  • 整理笔记
  • 完成编程作业并整理

学习内容:

7 过拟合问题

7.1 什么是过拟合

过拟合问题出现在变量过多的时候,这时训练出的假设函数能很好地拟合训练集,所以此时的代价函数也可能非常接近于0,或恰好等于0,但得到的图像很有可能千方百计地拟合训练集,但无法泛化新的样本,也就无法预测新样本的价格。

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

欠拟合:不能很好的拟合样本数据的函数(具有高偏差的假设模型)

解决过拟合的两个办法:

  • 尽量减少选取变量的数量

          人工检查变量清单,并决定重要变量和应该保留的特征变量

  • 正则化(Regularization)

         保留所有的特征变量,但减少量级或参数\theta_j的大小

7.2 过拟合的代价函数

7.2.1 以高阶房价预测函数为例

第03周:吴恩达 Andrew Ng 机器学习_第1张图片

这是一个过拟合的模型,其预测函数为\theta_0+\theta_1x+\theta_2x^2+\theta_3x^3+\theta_4x^4 

要最小化其代价函数\underset{\theta}{min}\frac{1}{2m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2,要在函数中加入惩罚项,使得参数\theta_3\theta_4都非常小。所以给此代价函数后面加上两项(1000为任意大的数)变为:

\underset{\theta}{min}\frac{1}{2m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2+1000\theta_2^2+1000\theta_4^2

 假如要最小化这个代价函数,则要使修改后的函数尽可能小,就是使\theta_3\theta_4尽可能小(接近于0),近似直接去掉了后两项,还是等价于是二次函数。

  • 正则化思想:简化假设模型(使参数值较小)

7.2.2 正则化后的代价函数

J(\theta)=\frac{1}{2m}[\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2+\lambda\sum_{j=1}^n\theta_j^2]

  • 加入的最后一项\lambda\sum_{j=1}^n\theta_j^2为正则化项,从1~n求和,只对\theta_1\theta_n正则化,不包含0,一般情况下不对\theta_0惩罚。
  • \lambda称为正则化参数,它用来控制两个不同目标之间的取舍(平衡),更好地去拟合训练集的目标,并且将参数控制得更小得目标,从而保持假设模型得相对简单,避免出现过拟合的情况
  • 若 λ 设置的过大,即对\theta_1,\theta_2,\theta_3,\theta_4...的惩罚程度过大,导致\theta_1,\theta_2,\theta_3,\theta_4...都接近于0,最后假设模型只剩一个θ0,出现欠拟合情况。 \theta_1

7.3 线性回归的正则化

  • 正则化线性回归的优化目标

J(\theta)=\frac{1}{2m}[\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2+\lambda\sum_{j=1}^n\theta_j^2]

\underset{\theta}{min}J(\theta)

7.3.1 梯度下降

由于正则化的参数是从\theta_1~\theta_n,不包含\theta_0,所以将\theta_0单拎出来

第03周:吴恩达 Andrew Ng 机器学习_第2张图片

修改\theta_j的式子:

 

 其中1-\alpha \frac{\lambda}{m}是比1略小一点的数(可以想象为0.99之类的数),这样\theta_j与一个比1略小的数相乘会使\theta_j变得小一点,效果相当于梯度下降

7.3.2 正规方程的正则化

 假设样本数量小于特征的数量

假设此处的X^TX不可逆

正则化就可以解决X^TX不可逆的问题,只要正则化参数大于0即可:

第03周:吴恩达 Andrew Ng 机器学习_第3张图片

7.4  逻辑回归的正则化

逻辑回归也会出现过拟合的问题

第03周:吴恩达 Andrew Ng 机器学习_第4张图片

 逻辑回归的代价函数:

J(\theta)=-[\frac{1}{m}\sum_{i=1}^my^{(i)}logh_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(i)}))]

将其正则化需在后面加上一项,这一项的作用是乘法\theta_1,\theta_2...\theta_n,防止他们过大,保持参数较小,避免过拟合现象。

J(\theta)=-[\frac{1}{m}\sum_{i=1}^my^{(i)}logh_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(i)}))]+\frac{\lambda}{2m}\sum_{j=1}^n\theta_j^2

  • 正则化逻辑回归的梯度下降算法

第03周:吴恩达 Andrew Ng 机器学习_第5张图片

  • 在更高级的优化算法中使用正则化

第03周:吴恩达 Andrew Ng 机器学习_第6张图片



学习产出:

  • 过拟合问题学习并整理笔记

你可能感兴趣的:(机器学习,人工智能,深度学习)