• 如何防止过拟合


    防止过拟合

    可以通过

    1 增加augmentation(flip  imgaug)

    2     增加pooling(因为没有参数)

    3 增加l2正则化

    lr正则化,就是l2范数,所以增加了l2范数loss会变成这样

    loss = L + lmda/2 * ||w||

    l2范数就是1**2+2**2+3**2+.....**2

    即所有数的平方和

    求导就是w1=w1+alpha*(dw1-  lmda / 2 * 2 * w1  )

    这样的好处就是让每一个节点尽量低,相当于起到删除节点的作用

    4 设置droupout

    1 想必不用多说了吧,就是通过增加数据

    2pooling可以增加泛化效果,有一种说法是因为pooling没有参数,之所以会导致过拟合不泛化就是因为卷基层很多参数,所以多使用pooling会减少拟合

    4droupout是设置一个值keep-prob,来确定每一个layer保留的节点,归根结底就是删除节点,

    比如保留0.5的点,也就是保留50%,所以每个层要保留一半的点,但是这个是随机的,每次和每次不一样,第一次可能保留上面一半的点,下次可能保留下面一半的点,保留上面的时候,就是上面进行forward,下面不动,并且bp也是上面的;而第二次可能forward的是下面那一半的节点,所以会导致下面的bp,上面的保持不变,

    这样的好处:

    1,可以保留更少的节点,然后避免过拟合

    2,由于是随机删除,所以不会对某一个节点特别倚重,而对某个节点基本上不用

    卷积的时候同理,

    因为卷积核的参数是in* kernel * kernel *out

    因为in ,out这两个参数是肯定不变的,所以肯定也是在kernel里面保留或者删除

  • 相关阅读:
    canvas小球动画
    JS闭包
    视图&&事务&&索引&&触发器&&流程控制
    多表关系和查询
    表操作和mysql支持的数据类型
    models模型层进阶
    模型层之聚合查询&&分组查询&&查询&&Q查询&&事务&&查询优化
    models模型层环境配置和表查询
    模型层之orm介绍
    views视图层
  • 原文地址:https://www.cnblogs.com/lllcccddd/p/10560787.html
Copyright © 2020-2023  润新知