numpy建立简单前馈神经网络

本文介绍了如何使用numpy构建最简单的前馈神经网络,包括神经网络架构、矩阵运算、拟合过程和梯度下降法。讨论了线性回归在深度学习中的应用,激活函数的作用,以及平均损失最小化的梯度下降法。最后提到了反向传播和链式法则在求偏导数中的应用。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值