• 学习相关


    数据运用:注意对数据先进行random_shuffle(如果数据有一定顺序,下述划分会导致数据范围不全面)
    1)数据7:3划分
    train err/ test err

    2)数据6:2:2划分
    train err/ validation err/ test err
    跑NN是降低train err, 可以理解为获得某个固定的超参数下, NN的model中的最优参数
    对于不同的超参数(一些常数, 权值初始化, model选择等), 比较跑NN后的validation err, 能够找到好的超参数
    由于这个超参数表明了它对validation set好, 但是不表明对其他数据也好, 比如超参数试多了, 可能连着training set和validation set一起overfit了
    所以最后还要再测test err看下模型在unseen data上的表现
    test err不能轻易使用, 比如不能说我看到validation err比较小了, 觉得开心, 就跑去test一下, 发现好像不行, 然后又重新调超参数, 这样test就沦为validation了

    注意当使用regularization时,使用带(lambdasum heta^2)(J)训练,但使用不带的去计算三种err
    实现时不用写俩函数,传参时lambda设成0就好

    算法调整

    目前理解bias / variance
    bias是train err比较大, variance是train err和test err的差距比较大
    bias就比如用直线去拟合一条比较复杂的曲线,连train err都比较大
    variance就比如用非常高次的多项式去拟合并不那么复杂的曲线,能把train err弄得比较小,但波动大,而增加数据可以使假设逐步向曲线靠近,类比泰勒展开每增加一阶导数曲线的变化

    此外learning curve中
    train err增test err减,逼近较快,之后gap较小,train err较大,为high bias + low variance
    train err增test err减,逼近较慢,之后gap较大,train err较小,为low bias + high variance

    1)high bias
    +features(additional or polynomial)
    +hidden layer
    -lambda(lambda过大变成直线)

    2)high variance
    +training set
    +lambda(lambda过小)
    -features

    绘图法

    J-Iter
    train err, test err-training set size (learning curve,每次训练一个training set前缀,测完整的test set)
    err-parameter

    评测指标

    对于01分类问题,以诊断癌症为例(1为癌症)
    precision(P):预测为1的人中有多少真实为1(可以理解为预测准确度)
    recall(R):真实为1的人中有多少被预测为1(可以理解为预测灵敏度)
    F: (2frac {PR}{P+R}) F越大越好(这种公式即并联电阻的总电阻,使P,R都不会太低)

  • 相关阅读:
    forever守护nodejs
    sql server自动备份
    mongodb数据库自动备份 windows
    mongodb中的objectId和字符串id之间的转换
    mongodb中内嵌数组的增删改查
    nodejs momentjs操作时间(24小时制)
    nodejs 获取某一时间的前一天 后一天
    FastDFS 文件上传成功,访问404
    Ubuntu16.04系统下FastDFS+Nginx安装配置
    ubuntu16.04安装python3.7
  • 原文地址:https://www.cnblogs.com/acha/p/11061633.html
Copyright © 2020-2023  润新知