#Week8 Advice for applying ML & ML System Design

Posted EI Madrigal

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#Week8 Advice for applying ML & ML System Design相关的知识,希望对你有一定的参考价值。

一、Evaluating a Learning Algorithm

训练后测试时如果发现模型表现很差,可以有很多种方法去更改:

  1. 用更多的训练样本;
  2. 减少/增加特征数目;
  3. 尝试多项式特征;
  4. 增大/减小正则化参数(lambda)
    那么该怎么去选择采用哪种方式呢?
    一般将70%的数据作为训练集,30%的数据作为测试集。
    先用训练集最小化(J_{train}(Theta)),得到一组参数值(Theta)
    然后计算测试集误差(J_{test}(Theta))
    对于线性回归
    技术图片
    对于逻辑回归
    技术图片
    测试集的平均误差(分类错误的比率):
    技术图片
    假设要选择用几次多项式(d)去作为假设函数,那么做法就是不断尝试(d),选择一个在测试集上损失最小的(d),以此作为模型泛化能力的衡量。但是这样是有问题的,因为(d)相当于是被测试集训练的,再用测试集去测试,很不公平。所以一般将数据集分为3部分:60%训练集、20%交叉验证集、20%测试集:
    技术图片

    二、Bias vs. Variance

    看图:
    技术图片
    技术图片
    正则化和Bias/Variance的关系:
    技术图片
    训练集大小与Bias/Variance的关系:
    技术图片
    技术图片
    ## 三、Error Analysis
    Andrew推荐的流程:
    技术图片
    ## 四、Handling Skewed Data
    如果数据集中正负类的数据规模差距过大,只用误差衡量模型是不可靠的,此时需要查准率和召回率两个指标。
    技术图片
    如何权衡这两个指标,一般使用(F1)得分:
    [F_1=2frac{PR}{P+R}]

以上是关于#Week8 Advice for applying ML & ML System Design的主要内容,如果未能解决你的问题,请参考以下文章

Advice for students of machine learning

Advice for students of machine learning--转

Advice for Rust library writers about Error

Advice for Middleware Vendors JNI中间件厂商开发建议

机器学习- 吴恩达Andrew Ng 编程作业技巧 for Week6 Advice for Applying Machine Learning

Coursera机器学习-第六周-Advice for Applying Machine Learning