在编写深度神经网络程序时,出现的很多问题都是由于矩阵的维度不对引起的,而且这个问题非常难查。而且python有时候还会改变矩阵的维度(例如之前我们学到的python广播化),所以我们需要经常核对矩阵的维度,使他们的维度与我们预料中的保持一致。
上面是一个五层的神经网络,输入层有2个元素,所以n[0] =2,第一层有三个元素,所以n[1] =3,所以w[1]为(3,2)其他层同理。

因此单个训练样本时各变量的维度公式

w[l] --> (n[l] , n[l-1])

b[l] --> (n[l] , 1)

z[l] --> (n[l] , 1)

a[l] --> (n[l] , 1)

da[l] --> (n[l] , 1)

dz[l] --> (n[l] , 1)

db[l] --> (n[l] , 1)

dw[l] --> (n[l] , n[l-1])

根据上面的公式,下面举例列出第一层的相关变量的维度

W[1] --> (3 , 2)

b[1] --> (3 , 1)

z[1] --> (3 , 1)

a[1]–> (3 , 1)

da[1] --> (3 , 1)

dz[1]–> (3 , 1)

db[1] --> (3 , 1)

dW[1] --> (3 , 2)

那么当多个训练样本时维度公式又是怎么样的呢?多个样本时,我们会通过向量化来提升效率,例如我们会将每个样本的特征x列向量(也就是a[0])一个一个排起来,组成一个矩阵。

下面给出m个训练样本时的维度公式

W[l] --> (n[l] , n[l-1])–> 和单个样本时一样,因为多个样本它们都共用一套W

b[l] --> (n[l], 1) --> 和单个样本时一样,因为多个样本它们都共用一套b

Z[l]–> (n[l] , m)

A[l] --> (n[l] , m)

dA[l] --> (n[l], m)

dZ[l] --> (n[l] , m)

db[l] --> (n[l] , 1) --> db也只有一套,根据公式db = np.sum(dZ) / m可知,db取的是一个平均值

dW[l]–> (n[l] , n[l-1])–> dW也只有一套,同理db

深度学习-核对矩阵维度相关推荐

  1. 深度学习与矩阵信号分解_分解谷歌翻译背后的创新深度学习

    深度学习与矩阵信号分解 What Google Translate does is nothing short of amazing. In order to engineer the ability ...

  2. 深度学习数学基础——矩阵微分篇

    https://www.toutiao.com/a6641771475994952206/ 2019-01-02 13:45:27 深度学习是一个令人兴奋的领域,具有巨大的现实世界影响力. 本文是Te ...

  3. PyTorch深度学习实践——对维度的认识

    输入输出维度 在本节的博客中将整理对于输入输出维度的相关认识,总结如下: 在之前发布的博客<PyTorch深度学习实践--反向传播>中谈到了自己对于一个模型输入的维度认识:不同的维度类似于 ...

  4. 吴恩达老师深度学习专项学习笔记

    文章目录 (一)神经网络与深度学习 一.概论 二.神经网络基础 三.浅层神经网络 四.深层神经网络 (二)改善深层神经网络 一.深度学习的实用层面 二.优化算法: 三.超参数调试 (三)机构化机器学习 ...

  5. 深度学习在推荐系统上的应用

    作者:陈仲铭,知乎 ID:ZOMI 深度学习最近大红大紫,深度学习的爆发使得人工智能进一步发展,阿里.腾讯.百度先后建立了自己的AI Labs,就连传统的厂商OPPO.VIVO都在今年开始筹备建立自己 ...

  6. 《深度学习》/《Deep Learning》——深度学习圣经的读书笔记

    学习方法 对着书看一遍,把理解的内容写成笔记 看完一章后,看着笔记和书,把内容复习一下,把需要画线的地方画好并理解 逐层深入:这本书讲解基础概念讲得不生动,但是高层次上有很多不错的高瞻远瞩的见解,所以 ...

  7. 2019年上半年收集到的人工智能深度学习方向干货文章

    2019年上半年收集到的人工智能深度学习方向干货文章 随机森林VS神经网络:哪个更好? 深度学习--感知机讲解 深度学习NN.CNN.RNN.和DNN你了解吗? 手工计算深度学习模型中的参数数量 使用 ...

  8. 手语识别_使用深度学习进行手语识别

    手语识别 TL;DR It is presented a dual-cam first-vision translation system using convolutional neural net ...

  9. 【个人总结】基于项目的AI Studio平台下Linux深度学习环境配置心得

    更新一下:现在AI Studio应该已经不能用其他深度学习框架了,用一会儿就会中断 前言 PS:本部分主要是对本周工作的总结,标题对应的内容可以跳过本部分 上周主要的工作是研究了一下项目utils文件 ...

最新文章

  1. 2012级计算机应用基础,2012年计算机应用基础
  2. 面积最大的全1子矩阵
  3. UIView的属性使用
  4. Flask设置、获取、删除cookies
  5. java中date代替_Java:为什么Date构造函数不推荐,我用什么来代替?
  6. 小伙用 12 张图讲明白了 Redis 持久化!
  7. LeetCode —— 365. 水壶问题(Python3)
  8. SAP License:SAP IDES 4.71的安装补充
  9. php if echo,多个?php if .. echo'..'; ?如何优化写法?
  10. 华为eNSP-基本配置指令
  11. cad2010打开服务器图纸未响应,CAD图纸打开未响应怎么解决
  12. CAD快捷键命令大全
  13. [解决]Windows 8 丢失 MSVCR71.dll 或 MSVCP71.dll
  14. opencv-python控制笔记本摄像头
  15. 取十位数,百位数,千位数的各位方法小姐
  16. php array assoc,PHP array_diff_assoc() 函数用法及示例
  17. java算法优化_Java学习笔记---Java简单的代码算法优化(例)
  18. ceph v15.2.13版本[octopus]分布式集群部署
  19. nodemailer如何配置公司邮箱发送邮件
  20. Android控件外边框自定义

热门文章

  1. 处理autocad 2010闪退
  2. Clojure基础语法学习笔记(一)
  3. ⑲云上场景:超级减肥王,基于OSS的高效存储实践
  4. if-else语句练习
  5. scp 自定义端口号
  6. 纯css实现手风琴效果_创建纯CSS手风琴的4种方法
  7. javax.faces.webapp.FacesServlet
  8. Python Requests实现天气预报
  9. codeforces1463B. Find The Array
  10. asp.net动态网页制作视频教程