吴恩达深度学习 —— 4.7 参数 vs. 超参数

想要你的深度神经网络起很好的效果,你还需要规划好你的参数以及超参数,那么什么是超参数呢?我们看一下模型里的参数 W W W b b b,在学习算法中还有其它参数,需要输入到学习算法中,比如学习率 α \alpha α,因为我们需要设置 α \alpha α来决定你的参数如何进化,或者还有梯度下降法循环的次数,在你的算法中也许也有其它想要设置的参数,比如隐层数L,或是隐层单元数,还可以选择激活函数,在隐层中用修正线性单元还是tanh,或者是sigmoid函数。

算法中的这些数字都需要你来设置,这些数字实际上控制了最后参数 W W W b b b的值,所以它们被称作超参数。因为这些超参数,比如 α \alpha α是学习率,循环的次数,隐层的数量等都是能够控制 W W W b b b的,所以这些东西称为超参数。因为这些超参数某种程度上决定了最终得到的 W W W b b b。实际上深度学习有很多不同的超参数,之后也会过一下其它的超参数,比如momentum,再比如mini batch的大小,几种不同的正则化参数等等。

正因为深度学习有这么多的超参数,和机器学习时代的早期相比,我会保持一致,把学习率 α \alpha α称为一个超参数而不是参数。可能在早期的机器学习中,还没有那么多超参数,很多人以前都很随便,以前就把 α \alpha α作为参数,但是技术上讲 α \alpha α是一个控制实际参数的参数,秉承前后一致的原则,我们应该把 α \alpha α这类参数、循环的次数等称为超参数。所以当你自己着手训练自己的深度神经网络时,你会发现超参数的选择有很多可能性,所以你得尝试不同的值。

今天的深度学习应用领域还是很经验性的过程,通常你有个想法,比如你可能大致知道,一个最好的学习率值,可能说 α \alpha α等于0.01最好,然后实际试一下,训练一下看看效果如何,然后基于尝试的结果你会发现你觉得学习率的设定再提高到0.05会比较好。如果你不确定什么值是最好的,可以先试试一个学习率 α \alpha α,再看看损失函数J的值有没有下降,然后可以试试大一些的值,然后发现损失函数的值增加并发散了,然后试一下其它的数,看结果是否下降的很快,或者收敛到在更高的位置,可以尝试不同的 α \alpha α并观察损失函数的变化。

超参数有很多,当开始开发新应用时,预先很难确切知道超参数的最优值应该是什么。所以通常你必须尝试很多不同的值,并走这个循环,试试各种参数,实现模型并观察是否成功,然后再迭代。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值