上传者: 38685600
|
上传时间: 2021-11-22 14:45:56
|
文件大小: 3KB
|
文件类型: -
Sinkhorn-Knopp 算法采用矩阵 A 并找到对角矩阵 D 和 E,如果 M = DAE,则 M 的每一列和每一行的总和为 1。 该方法实际上是交替地对矩阵的行和列进行归一化。 这个函数是一种高效的实现,它在迭代完成之前实际上不执行归一化,并且不使用 A 的转置。
A 必须是非负数。 如果 A 中有零,则算法可能不会收敛,具体取决于它们的分布。 如果需要,可以设置最大迭代次数和/或容错。
行和列总和为 1 的矩阵称为“双重随机”。 此类矩阵具有多种应用,包括网页排名。
参考:
Philip A. Knight (2008) Sinkhorn–Knopp 算法:收敛和应用。 SIAM 矩阵分析和应用杂志 30(1), 261-275。 doi:10.1137/060659624