吴恩达深度学习:2.15python中的广播

Posted 大数据开发程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了吴恩达深度学习:2.15python中的广播相关的知识,希望对你有一定的参考价值。

1.Broadcasting example

  (1)下面矩阵描述了来自四种不同的100克碳水化合物,蛋白质和脂肪的卡路里数量

  

  比如说100g苹果所含的热量有56克来自碳水化合物,相比之下来自蛋白质和脂肪的卡路里数就很少了。相反,100g的牛肉,有104卡路里来自蛋白质,135克来自脂肪,没有卡路里来自碳水化合物。现在我们来计算一下四种食物中,有多少卡路里的百分比来自碳水化合物、蛋白质和脂肪。比如apple这一列,100g苹果有56+1.2+1.8=59卡路里,然后苹果中来自碳水化合物的卡路里百分比是56/59=94.9%,所苹果中的而大部分热量来自碳水化合物;相比之下,牛肉中的卡路里都是来自蛋白质和脂肪了。

  (2)接下来看看计算是怎么运行的,我们有3x4的矩阵,除以一个1x4的矩阵,那么怎么能够让一个3x4的矩阵来除以一个1x4的矩阵呢?接下来看看更多的广播的例子,如果取一个4x1的向量,让她和一个数字相加,numpy会自动将数字展开,变成一个1x4的向量,就像这样:

  这种广播对列向量和行向量一样有用。比如有一个2x3的矩阵,让它加上一个1x3的矩阵,numpy会赋值后面矩阵m次,将其变为mxn矩阵,而不是一个1x3的矩阵,比如下面的这个矩阵,numpy会复制两次,将其变为下面的这种形式:

 

  所以2x3的矩阵会让与他们相加,就会变为下面的这种形式:

(3)最后一个例子,无论有没有mxn的矩阵,都可以让其加上一个mx1的向量,或者1xm的矩阵,然后进行复制,

 

以上是关于吴恩达深度学习:2.15python中的广播的主要内容,如果未能解决你的问题,请参考以下文章

《吴恩达深度学习笔记》01.神经网络和深度学习 W2.神经网络基础

Coursera--Deep Learning--吴恩达 深度学习笔记 2017.12.10

吴恩达《深度学习》第四门课卷积神经网络:实例探究

吴恩达-深度学习-课程笔记-3: Python和向量化( Week 2 )

吴恩达深度学习:2.11向量化

吴恩达深度学习笔记