aihot  2017-12-10 13:17:33  机器学习 |   查看评论   

      赶紧上图:

线性分类器

      加了负权重后,看上去终于不那么像台阶了,这时候2层神经网络的非线性能力开始显现出来了。下面把权重交给随机大帝:

  1. fc = FC(2, 100)
  2. fc2 = FC(100, 1)

  3. Z1 = np.array([fc.forward(d) for d in data])
  4. Z2 = np.array([fc2.forward(d) for d in Z1])
  5. Z2 = Z2.reshape((100,100))
  6. draw3D(X, Y, Z2,(75,80))

       上图:

非线性能力

      这时候的非线性已经非常明显了,我们不妨继续加几层看看DNN的厉害:

  1. fc = FC(2, 10)
  2. fc2 = FC(10, 20)
  3. fc3 = FC(20, 40)
  4. fc4 = FC(40, 80)
  5. fc5 = FC(80, 1)

  6. Z1 = np.array([fc.forward(d) for d in data])
  7. Z2 = np.array([fc2.forward(d) for d in Z1])
  8. Z3 = np.array([fc3.forward(d) for d in Z2])
  9. Z4 = np.array([fc4.forward(d) for d in Z3])
  10. Z5 = np.array([fc5.forward(d) for d in Z4])
  11. Z5 = Z5.reshape((100,100))
  12. draw3D(X, Y, Z5,(75,80))

       这个图看上去又复杂了许多……

 

 

DNN

 

 

      从上面的实验中可以看出,层数越高,非线性的“能力”确实越强,脑洞开得也越大。

      知道了他的厉害,下回我们将详细聊下它的求解方法——反向传播(Back Propagation)。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自神经网络-全连接层(1)

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]