transport opsignal × signal × matrix → scalarimport fullseye as fs; fs.ledger.sinkhorn_divergence(a, b, cost, cost_aa=None, cost_bb=None, reg=0.05, **kw) (実装を直接呼ぶなら import colortransport; colortransport.sinkhorn_divergence(a, b, cost, cost_aa=None, cost_bb=None, reg=0.05, **kw)、台帳から引くなら opscolortransport.get("sinkhorn_divergence"))偏りを打ち消した Sinkhorn 距離(Genevay, Peyré & Cuturi, AISTATS 2018)。
S(a,b) - (S(a,a) + S(b,b)) / 2。:func:sinkhorn_distance は正則化のぶん
系統的に上振れし、自分自身との「距離」が 0 にならない(実測 reg=0.2 で
0.05 超)。同じ偏りを自分自身との距離から引くと相殺され、自分自身との値が
0 に戻る ―― TRIZ でいう釣り合い(反作用で打ち消す)そのもの。
cost_aa / cost_bb は a 同士・b 同士の費用行列。1 点集合を
自分自身と比べる意味なので、省略すると cost が正方のときだけ
それを流用する(非正方で省略したら例外 ―― 適当な行列で埋めると、
引き算する量が別物になり、打ち消したつもりで別の偏りが載る)。
py -3.11 examples/color_transport.pyscalar を入力に取れる)—
transport)wasserstein_1d · transport_plan_1d · sinkhorn · sinkhorn_distance
Provenance: colortransport.py — COLORTRANSPORT operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.