我对本书中的代码做了详尽的注释,放到了我的github,star我哦(✪ω✪)
Q:凸函数与凹函数
原文:线性回归模型的MSE成本函数恰好是个凸函数
更多记忆方法参考知乎。
Q:代码
原文
m = 100
X = 6 * np.random.rand(m, 1) - 3
y = 0.5 * X**2 + X + 2 + np.random.randn(m, 1)
需要注意这里一句是np.random.rand():生成均匀分布的伪随机数,介于(0,1)之间;
另一句是np.random.randn(),生成正态分布的伪随机数。
Q:偏差/方差权衡
当训练集和测试集的误差收敛但却很高时,为高偏差。
左上角的偏差很高,训练集和验证集的准确率都很低,很可能是欠拟合。
我们可以增加模型参数,比如,构建更多的特征,减小正则项。
此时通过增加数据量是不起作用的。
当训练集和测试集的误差之间有大的差距时,为高方差。
当训练集的准确率比其他独立数据集上的测试结果的准确率要高时,一般都是过拟合。
右上角方差很高,训练集和验证集的准确率相差太多,应该是过拟合。
我们可以增大训练集,降低模型复杂度,增大正则项,或者通过特征选择减少特征数。
理想情况是是找到偏差和方差都很小的情况,即收敛且误差较小;偏差和方差相互影响,为此需要找到偏差与方差之间的权衡,故称之偏差/方差权衡。
转自Alice熹爱学习
注意这里的学习曲线和书中的学习曲线的区别,此处纵坐标是准确率,绘出的图线一般训练集在上,测试集在下,且曲线越高模型预测越好;书中的图形纵坐标是RMSE,性质与此处相反。