zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python3入门机器学习经典算法与应用 第3章 更多相关操作

2023-09-27 14:25:49 时间

目录

numpy比较结果的逻辑组合

简单的 Numpy Broadcasting

Broadcasting的基本原则


numpy比较结果的逻辑组合

简单的 Numpy Broadcasting

Broadcasting(广播) 解决的是不同形状的矩阵(或者向量)之间的运算问题。

在代数运算中,不同形状的矩阵(或者向量)之间无法进行基本运算,但是在Numpy中,只要满足一般规则,这个运算的允许的。

Broadcasting的基本原则

整体而言,两个不同形状的矩阵(或者向量)进行基本运算,看两个矩阵(或者向量)的最后一个维度数。如果最后一个维度数是一致的,则“小矩阵”经过复制扩展,和“大矩阵”进行基本运算。

比如:

A.shape = (2 x 3)  ->  A.shape = (2 x 3)
b.shape = (3)      ->  b.shape = (1 x 3)  ->  扩展为 (2 x 3)

特例是,如果小矩阵是 1*1 的,也就是只是一个数字,那么肯定可以通过复制扩展这一个数字,和大矩阵同维度,进而和大矩阵进行基本运算。

A.shape = (2 x 3)  ->  A.shape = (2 x 3)
b.shape = (1)      ->  扩展为 (2 x 3)

但是,在以下例子中,b 无法 broadcasting 后和 A 进行运算

A.shape = (2 x 3)
b.shape = (1 x 2)