CS231n学习笔记:numpy中向量的计算

numpy中向量的计算

基本语法和函数不再赘述。numpy中比较一个比较常见的问题是向量广播问题。numpy中将向量通通表示并且记录成行向量的形式。包括对一个多维矩阵进行切割操作,得到的只有一行或者一列的形式也会转换为自动转换为行向量。推荐不要随便将行向量reshape为列向量保存,因为向量通常既做行向量运算又做列向量运算,来回转换的话会很麻烦。在计算的时候临时reshape更不容易出错。向量在计算中主要包括两方面:
1.向量与向量的计算
2.向量与矩阵的计算

1.向量与向量的计算

对于向量计算,即使将向量转置它仍然是一个行向量,除非特别定义一个N维度的列向量(.reshape(N,1)),否则对于向量的加法不会出现广播的情况,向量的乘法dot会将一个行向量转为一个列向量之后再计算,*会将各对应元素直接相乘

2.向量与矩阵的计算

对于一个矩阵和向量进行运算,默认向量为行向量,只能在列上进行广播。向量和矩阵计算的一种方法是使用repeat函数将向量复制,再使用reshape转化成一个矩阵,这样没有使用广播的方式,优点是直观明了。另外这种写法也可以防止有时候写错了代码,出现某种错误的广播计算的情况。另一种方法是使用广播原理,需要在列上进行广播则可以直接计算,需要在行方向上进行广播可以使用reshape之后再进行计算。两种方法本质上都是将向量复制叠加成为了矩阵参与运算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值