很容易在两个矩阵之间进行乘积,即:
A = np.random.randn(100, 64)
B = np.random.randn(64, 100)
G = np.dot(A, B)
是否有类似的方法在矢量之间进行成对分钟的总和?
效率低下的方法是:
# For each row, col vector i,j in A and B respectively
for i in range(A.shape[0]):
for j in range(B.shape[1]):
G[i, j] = np.minimum(A[i], B[:,j]).sum()
所以我正在寻找类似的东西:
G = np.dot(A, B, operation=np.minimum)
目标是避免循环缓慢并利用numpy的BLAS实现。
一个主要用例是直方图内核的交集。这个伟大的博客文章中描述了一个例子: http://blog.datadive.net/histogram-intersection-for-change-detection/