gpt4 book ai didi

numpy - Numpy 文档中提到的 "sum product"是什么意思?

转载 作者:行者123 更新时间:2023-12-04 11:24:19 24 4
gpt4 key购买 nike

在 NumPy v1.15 引用指南中,documentation for numpy.dot使用“总和产品”的概念。

即,我们阅读以下内容:

  • If a is an N-D array and b is a 1-D array, it is a sum product over the last axis of a and b.
  • If a is an N-D array and b is an M-D array (where M>=2), it is a sum product over the last axis of a and the second-to-last axis of b:
    dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])


这个“总和产品”概念的定义是什么?
(例如,在维基百科上找不到这样的定义。)

最佳答案

https://en.wikipedia.org/wiki/Matrix_multiplication

That is, the entry c[i,j] of the product is obtained by multiplying 
term-by-term the entries of the ith row of A and the jth column of B,
and summing these m products. In other words, c[i,j] is the dot product
of the ith row of A and the jth column of B.

https://en.wikipedia.org/wiki/Dot_product
Algebraically, the dot product is the sum of the products of the 
corresponding entries of the two sequences of numbers.

在早期的数学课上,你是否学会了矩阵乘积,方法是用一根手指划过 A 的行。和向下 B 的列, 乘以成对的数字并将它们相加?那个 Action 是我对如何使用该产品的直觉的一部分。

对于 1d 第二个参数的情况, np.dotnp.matmul产生相同的东西,但对 Action 的描述不同:
  • a是一个 N 维数组和 b是一个一维数组,它是一个总和积a的最后一个轴和 b .
  • 如果第二个参数是一维的,它会被提升为矩阵
    在其维度上附加一个 1。矩阵乘法后
    附加的 1 被删除。

    在 [103]: np.dot([[1,2],[3,4]], [1,2])
    出[103]:数组([ 5, 11])
    在 [104] 中: np.matmul([[1,2],[3,4]], [1,2])
    输出[104]:数组([ 5, 11])

  • 将维度附加到 B , 做:
    In [105]: np.matmul([[1,2],[3,4]], [[1],[2]])
    Out[105]:
    array([[ 5],
    [11]])

    最后一个是 (2,2) 与 (2,1) => (2,1)

    有时在 einsum 中表达 Action 更清楚条款:
    In [107]: np.einsum('ij,j->i', [[1,2],[3,4]], [1,2])
    Out[107]: array([ 5, 11])
    j ,两个数组的最后一个轴是“求和”的轴。

    关于numpy - Numpy 文档中提到的 "sum product"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52764331/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com