zoukankan      html  css  js  c++  java
  • DLNg改善深层NN:第一周DL的实用层面

    1.为什么正则化可以减少过拟合?

     //答:可以让模型参数变小,减小模型的方差。

    在损失函数中加入正则项,在正则化时,如果参数lamda设置得足够大,那么就相当于权重系数W接近于0 ,就会减少很多隐藏单元的影响,降低模型的复杂度,将模型从过拟合到欠拟合,当然,其中有一个lamda是使模型处于最优中间状态的。

    在这个例子中,当lamda增大时,W变小,所以随之Z变小,当激活函数使用Tanh时,若Z小,那么在接近0的区间内,模型就相当于是一个线性函数,模型简化。

     2.Dropout(随机失活)正则化

    对于一个过拟合的神经网络,可以设置一个dropoutRate来随机失活神经单元,使其变得更加简单。

    反向dropout,参数keep_prob是保留一个神经单元的概率,d3是一个布尔数组,和a3对应乘之后,False就会变为0。这样就达到了随即舍弃神经单元。

     

    并且对a3还要/keep_prob这样才可以保证期望值不变。确实是这样。可以用一个简单的例子来试验一下。

    对不同的训练样本,清除的隐藏单元也不同,通过相同训练集多次传递数据,每次训练的梯度不同,随即对不同的隐藏单元置0。

    //每一次iteration(训一个batch_size)都会有不同的隐藏单元被dropout。

    在测试时,并不需要设置dropout,可以发现设置和不设置最终得到的是一样的,因为它有记忆keep_prob的功能。

    3.理解dropout

    直觉:在使用dropout时会让神经网络变得更简单,能够缩小参数。

    在不同的神经网络层可以有不同的dropout率,对于比较可能过拟合的层使用更小的keep_prob,若=1,则就是保留全部单元。

    可以在输入层使用dropout,来减少其特征,但是通常不这么做。

  • 相关阅读:
    postgresql批量插入copy_from()的使用
    Fabric SSH链接时关于找不到主机的问题
    Python多线程获取返回值
    网页正文提取,降噪的实现(readability/Document)
    HTML标签参考手册
    javascript获取当前日期和时间
    2017易观OLAP算法大赛
    Apache DolphinScheduler 诞生记
    Apache DolphinScheduler(海豚调度)
    开源分布式工作流任务调度系统Easy Scheduler Release 1.0.2发布
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/10592903.html
Copyright © 2011-2022 走看看