• 跟我学算法-吴恩达老师(误差分析, 正确标注, 开发集和测试集的划分, 数据不匹配,迁移学习, 多任务学习, 端到端学习)


    1. 误差分析

    通过分析错误的标记,来判断主要是哪个原因引起了错误,这是猫的分类,观察被分错图片的原因,总结需要优化的条件

    image    Dog    Great cat   blurry    comment  

    1

    2

    3

    4

    5

    6

     
    2. 进行正确标注

    当前错误率为10%, 进行误差分析后,由于0.6%的错误标记引起的,这种就不需要重新标记,因为错误标记引起的错误较小
    当前错误率为2%, 进行误差分析后,由于0.6的错误是标记错误引起的,这种就需要进行重新标记, 因为错误标记引起的错误占比较大
     
    3.开发集和测试集的划分
     
    从网上下载的数据有200000,实际需要预测的数据是10000
    将实际预测的数据分出5000加入到网上下载的数据中,此时的训练集为205000
    开发集的数据为2500, 测试集的数据为2500
     
    4.数据不匹配
     
    当我们在进行数据分离时,可以采用4种分法
    train, training-dev, dev, test
     
    因为train-dev与train来源于同一个数据分布,只是train-dev数据没有经过训练,
     
    train error  :1%
    train-dev error : 9% 
    dev -error 10% 
    上述情况说明,数据的方差过大,出现了过拟合的情况
     
    train error :1%
    train-dev error : 1.5%
    dev-error 10% 
    说明开发集的数据与训练集的数据存在不匹配的情况
     
    human error 1%
    training error 10%
    training -dev error 11% 
    dev error 20 % 
    说明出现了较大的可避免偏差, 以及数据不匹配的情况
     
    当数据出现不匹配的情况时,需要观察开发集和训练集的差异,观察两个数据分布有什么不同
     
     
    5 迁移学习
     
    下载的算法改变其最后一层的分布,使得输出的维度发生改变, 也可以去掉最后一层,再多添加几层
     
    6 多任务学习
     
    比如一张图有多个标签
    y(i) = [0 1 1 0]
    loss = np.reduce_mean(np.reduce_sum(-y*logy_pred - (1-y)*log(1-y_pred)))
     
    7. 端到端学习
    指的是输入的数据(x, y) 直接输出结果
    一般在数据量比较大,和网络结果较为复杂的情况下使用
     
     
     
     
  • 相关阅读:
    EUI库
    EUI库
    EUI库
    EUI库
    EUI库
    EUI库
    EUI库
    EUI库
    EUI库
    EUI库
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/9737210.html
Copyright © 2020-2023  润新知