numpy建立简单前馈神经网络

numpy实现最简单的前馈神经网络——神经网络架构篇

  • 基础知识

    梯度(高等数学)、矩阵运算(线性代数)、numpy(ndarray)、python基础语法

  • 目录

    1. 神经网络架构

    2. 神经网络建立

      先用比较简单的正向传播建立好框架,再用反向传播改变算法

    3. 实例:学习mnist手写数字数据集

神经网络架构

  • 矩阵
  • 拟合
  • 梯度

矩阵运算

我们可以把矩阵看作一个特殊的函数,它的作用是将长度为n的向量(如下图 A \bold{A} A)转化为长度为m的向量(如下图 Z \bold{Z} Z)。

将输入看作一个包含n个元素的向量,就可以通过多次矩阵运算转化为长度为m的输出了。

虽然此时输入矩阵( A \bold{A} A)在变换矩阵( W \bold{W} W)的右侧,但是这是可以改变的,在mnist学习实例中我就会将 A \bold{A} A放在 W \bold{W} W左侧(当然此时mn会发生一些变化)。
( w 11 w 12 ⋯ w 1 n w 21 w 22 ⋯ w 2 n ⋮ ⋮ ⋱ ⋮ w m 1 w m 2 ⋯ w m n ) ⋅ [ a 1 a 2 ⋮ a n ] + ( b 1 b 2 ⋮ b m ) = [ z 1 z 2 ⋮ z m ] \begin{pmatrix} w_{11} & w_{12} & \cdots & w_{1n} \\ w_{21} & w_{22} & \cdots & w_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ w_{m1} & w_{m2} & \cdots & w_{mn} \\ \end{pmatrix} \cdot \begin{bmatrix} a_{1} \\ a_{2} \\ \vdots \\ a_{n} \\ \end{bmatrix} + \begin{pmatrix} b_{1} \\ b_{2} \\ \vdots \\ b_{m} \\ \end{pmatrix} = \begin{bmatrix} z_{1} \\ z_{2} \\ \vdots \\ z_{m} \\ \end{bmatrix} w11w21wm1w12w22wm2w1nw2nwmna1a2an

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值