带学《机器学习实用指南》Hands-On Machine Lea

作者: 弓長知行 | 来源:发表于2018-11-03 11:35 被阅读0次

    我对本书中的代码做了详尽的注释,放到了我的github,star我哦(✪ω✪)

    Q:凸函数与凹函数
    原文:线性回归模型的MSE成本函数恰好是个凸函数
    凸函数 convex function 凹函数 concave function 可以按以下方法来记忆凸函数和凹函数,凸函数曲线上方的图形是往下凸的,所以称之为凸函数;凹函数上方图形是往下凹的,所以称之为凹函数。只要记得和中文里的凹凸是相反的就可以了。
    更多记忆方法参考知乎
    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:偏差/方差权衡
    https://blog.csdn.net/ChenVast/article/details/79257387

    当训练集和测试集的误差收敛但却很高时,为高偏差。
    左上角的偏差很高,训练集和验证集的准确率都很低,很可能是欠拟合。
    我们可以增加模型参数,比如,构建更多的特征,减小正则项。
    此时通过增加数据量是不起作用的。

    当训练集和测试集的误差之间有大的差距时,为高方差。
    当训练集的准确率比其他独立数据集上的测试结果的准确率要高时,一般都是过拟合。
    右上角方差很高,训练集和验证集的准确率相差太多,应该是过拟合。
    我们可以增大训练集,降低模型复杂度,增大正则项,或者通过特征选择减少特征数。

    理想情况是是找到偏差和方差都很小的情况,即收敛且误差较小;偏差和方差相互影响,为此需要找到偏差与方差之间的权衡,故称之偏差/方差权衡。
    转自Alice熹爱学习
    注意这里的学习曲线和书中的学习曲线的区别,此处纵坐标是准确率,绘出的图线一般训练集在上,测试集在下,且曲线越高模型预测越好;书中的图形纵坐标是RMSE,性质与此处相反。

    相关文章

      网友评论

        本文标题:带学《机器学习实用指南》Hands-On Machine Lea

        本文链接:https://www.haomeiwen.com/subject/snlkxqtx.html