zoukankan      html  css  js  c++  java
  • 学习相关

    数据运用:注意对数据先进行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都不会太低)

  • 相关阅读:
    git/github轻松上传本地项目
    ubuntu下python+flask+mysql完整开发环境配置
    木马另类删除文件的方法
    OpenCV资源
    实现bmp文件到png文件转换
    通过进程ID获得该进程主窗口的句柄
    有趣的Lua表
    让程序在win7下运行时弹出"以管理员身份运行"
    LuaStudio源码分析2资源文件
    LuaCURL
  • 原文地址:https://www.cnblogs.com/acha/p/11061633.html
Copyright © 2011-2022 走看看