順序を保って輸送されるということを意味している。連続分布の場合もこの応用として考えられる。$$を満たす範囲である。$$とあらわすことができる。場合は次の公式を使って積分できる。混合ガウス分布の場合はさらに対応が必要である。累積密度関数の逆関数の微分が累積密度関数の微分の逆数であることを利用すると、自動微分に対応できる。実はこの値を苦労して求める必要はありません。表現することなく微分形だけを書き下しています。離散分布と連続分布のアライメント。距離を次の通り定義する。有限個の方向ベクトルをランダムにサンプリングすることで近似できる。近似値を計算グラフで表現することができる。したがって、この値を損失関数として各パラメータの勾配を計算することができる。ソースコードここでは簡単のため、共分散行列の対角成分のみを推定しています。変数とすることで、これらの変数が負の値にならないことを保証しています。間欠泉データを取得します。ビルトインされているデータを使います。オプティマイザの動作を改善するため、観測データを正規化します。二次元の散布図とガウス分布をレンタリングするためのコードです。ガウス分布の等高線を陰関数として描画します。軸それぞれの標準偏差です。ガウス積分を計算します。ステップを実行します。初期値を作るために使います。負担率を一様乱数で初期化し、潜在変数の初期値を作ります。この設定では学習に多くのイテレーションが必要となり、学習アルゴリズムの特徴を調べやすくなります。変換で使う方向ベクトルを作成します。距離を近似するための方向ベクトル集合を作成します。パラメータが指定されている場合、戻り値の一部を固定します。入力ベクトルと方向ベクトルの内積を計算し、ベクトルを射影した座標を計算します。指定した方向に射影した時の分散を計算します。次元ガウス分布の密度関数です。次元ガウス分布の累積密度関数です。次元混合ガウス分布の密度関数です。次元混合ガウス分布の累積密度関数です。次元混合ガウス分布の累積密度関数の逆関数を計算します。この値は解析的に求まらないため、関数が単調増加であることを利用してバイナリサーチを実行します。実装して自動微分に対応します。