在张量中找到使值和最大化的枢轴



假设我有一个这样的矩阵:

[[15,10,8],
[11,5,8],
[9,14,4]]

我需要写一个函数,对于每一行,返回最大值的索引,而不重复相同的列索引。

给定前面的矩阵,最佳解如下:

[[0,0],
[1,2],
[2,1]]

这是因为这些指标给出的值的和是(15+8+14 = 37),并且求和元素的指标在输出张量中不会重复。

这在损失函数中是需要的,所以我只需要在tensorflow中写出来。

感谢

这叫做分配问题。这可以作为LP(线性规划)问题来解决:

max sum((i,j), a[i,j]*x[i,j])
subject to
sum(j, x[i,j]) = 1  ∀i
sum(i, x[i,j]) = 1  ∀j
x[i,j] ∈ [0,1]

可以用任意LP求解器求解。

对于赋值问题也有专门的算法。例如:https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.optimize.linear_sum_assignment.html。

相关内容

  • 没有找到相关文章

最新更新