《Python神经网络》3——神经网络矩阵乘法

2018-12-19  本文已影响23人  布口袋_天晴了

按照以下图示,最终的神经网络调参,以最简单的3层神经网络为例,公式如下:

\omicron _{k}=\frac{1}{1+e^{-\sum_{j=1}^3(w_{i,k}\cdot \frac{1}{1+e^{-\sum\nolimits_{i=1}^3(w_{i,j}\cdot x_{i}  ) } }  ) }}          怎么求这个函数的最优解?

如果不试图耍聪明,那么我们可以只是简单地尝试随机组合权重,直到找到好的权重组合。

当陷入一个困难的问题而焦头烂额时,这不算是一个疯狂的想法。这种方法一般称为暴力方法。

暴力方法的不好之处:

假设每个权重在-1和+1之间有1000种可能的值。那么对于3层、每层3个节点的神经网络,可以得到18个权重,因此有18000种可能性需要测试。如果一个相对经典的神经网络,每层有500个节点,那么需要测试5亿种权重的可能性。如果每组组合需要花费1秒钟计算,那么对于一个训练样本,就需要花费16年更新权重!对于1000种训练样本,要花费16000年!       这就是暴力方法不切实际之处。

数学家多年来也未解决这个难题,直到20世纪60年代到70年代,这个难题才有了切实可行的求解办法。

如何解决这样一个明显的难题呢?——我们必须做的第一件事是,拥抱悲观主义。

1 2 3 4 5 6 7 8
上一篇下一篇

猜你喜欢

热点阅读