文件名称:矩阵归一化的 Sinkhorn-Knopp 算法:对矩阵进行归一化,使得行和列的总和都是统一的-matlab开发
文件大小:3KB
文件格式:ZIP
更新时间:2024-06-21 02:07:58
matlab
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
【文件预览】:
sinkhornKnopp.zip