得到神经网络的损失函数和下降梯度之后,再用优化函数fmincg找到最佳的参数。
作业五
题目解析:水坝放水量与水位变化之间关系,水位变化的历史记录为x,放水量为y。交叉验证数据Xval, yval。理论内容是关于偏差、方差以及学习曲线为代表的诊断法,为改善机器学习算法的决策提供依据;此处分为两个部分。 第一部分:拟合直线回归
只有两个参数,主要完成损失函数和下降梯度计算函数,最后用优化函数求出最佳参数,但是从拟合结果看不理想。此处不用λ,因为仅有两个参数,不存在过拟合的可能。
第二部分:偏差与方法的平衡
一般而言高偏差意味着欠拟合,高方差意味着过拟合,Error = Bias + Variance。Error反映的是整个模型的准确度,Bias反映的是模型期望与真实目标的差距,即模型本身的精准度,Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。
利用学习曲线评价模型,推进模型的构建。通过不断加大训练数据,在不同的数据量时得到的参数模型,计算该参数模型的训练误差和交叉验证误差,观察其随着数据量增大是否有变化,从结果来看,在参数数量很少情况下,模型误差随着数据量的增大并无明显改善。
多项式回归
首先要把特征向量x拓展,polyFeatures.m需要将线性回归进行扩展,引入高次项,具体做法是将原本是向量的X扩展成行数不变,列数为多项式最高次的矩阵,此处选择了最高8次项。
其次,以防数据经过高次项的计算加大计算量,要进行数据归一化,用函数featureNormalize.m,
接下来,不断调整λ的值,通过学习曲线和回归拟合结果来观察过拟合与欠拟合的现象。
最后,通过函数validationCurve.m来选择最适合的λ