本次实验使用 EX1 写过的线性回归,主要是分析理解欠拟合(高偏差 bias)和过拟合(高方差 variance)。
因为编写的代码基本在 EX1 和 EX2 都有涉及,主要记录实验过程,关于代码的详细注解可以参考:
吴恩达机器学习CS229A_EX1_线性回归_Python3 和 吴恩达机器学习CS229A_EX2_逻辑回归与正则化_Python3
数据集
训练集 12 个样本,验证集和测试集都是 21 个样本,绘图观察一下:
线性回归
首先使用线性回归拟合,没有正则化限制:
绘制学习曲线(这里横纵轴的标注忘了改了):
可以看到,仅仅使用了 6 个样本之后,训练集和验证集的 cost 就几乎不变了,增加更多的样本也无济于事,而且验证集和训练集的 cost 接近,这就是典型的欠拟合现象。
多项式回归(lamda = 0)
接着用多项式回归拟合,不加正则化限制:
这里比对了一下用正规方程法求解得到的图像,和梯度下降的结果还是非常近似的,不过这里说明取到 8 次方的多项式回归还做不到完全通过图中的 12 个点: