吴恩达深度学习: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