在Andrew Ng的讲义中,他们使用LBFGS并获得一些隐藏的功能。我可以使用渐变下降而产生相同的隐藏功能吗?所有其他参数都相同,只需更改优化算法即可。
因为当我使用LBFGS时,我的自动编码器可以产生与讲义中相同的隐藏功能,但是当我使用渐变下降时,隐藏层中的功能消失了,看起来像是完全随机的。
具体而言,为了优化成本函数,我实现了1)成本函数,2)每个权重和偏差的梯度。并将它们放入scipy优化工具箱中以优化成本函数。这个设置可以给我合理的隐藏功能。
但是当我改为梯度下降时。我试图让“重量 - 重量的梯度”和“偏见 - 偏差的梯度”。但结果隐藏的功能看起来完全随机。
有人可以帮助我知道原因吗?谢谢。
答案 0 :(得分:1)
是的,您可以使用SGD,事实上,它实际上是最受欢迎的选择。 L-BFGS-B不是训练神经网络的典型方法。但是: