sinkhorn_divergence — COLORTRANSPORT transport op

データ種: signal × signal × matrixscalar

呼び出し: 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_bba 同士・b` 同士の費用行列。1 点集合を

自分自身と比べる意味なので、**省略すると `cost` が正方のときだけ**

それを流用する(非正方で省略したら例外 ―― 適当な行列で埋めると、

引き算する量が別物になり、打ち消したつもりで別の偏りが載る)。

背景知識ガイド(この op の手前にある物理・規約)

colorimetry — 測色と分光の知識 — 色は「分光 × 光源 × 観測者」でしか決まらない

参考(サンプルデータ・文献)

• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。

• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。

• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。

実行できる例(この op を実際に呼ぶ検証済みサンプル)

color_transportpy -3.11 examples/color_transport.py

型が繋がる次の op(scalar を入力に取れる)

同カテゴリ(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.