参考文献;
機械学習における予測器のようなものは一種の写像と見なせて, 「画像分類器」なら, 画像の集合 \(A\) からラベルの集合 \(B\) への写像
\[f \colon A \to B\]と思える. これを射とする圏を \(\mathcal C\) とする. ただし適当な \((I, \otimes)\) によってモノイダル圏になってるとする.
さて, 機械学習においては直接扱うのはパラメータも入力とする
\[f \colon P \otimes A \to B\]という形式であることが普通だ. 例えば線形回帰なら(簡単のためにバイアスを除いてるが),
\[f \colon P \times A \to B ~~ \text{ where } P=A=\mathbb R^n, B=\mathbb R\] \[f \colon (\theta, x) = \langle \theta, x \rangle\]と記述される(右辺は内積). モデルを「学習する」とは都合の良い \(\theta\) を見つける操作のことであり, これを固定した「学習済み」の予測器になって初めて,
\[f_\theta \colon A \to B\]と書くことが出来る.
圏 \(\mathcal C\) における対象 \(A,B,\ldots\) をそのまま対象として, 圏 \(\mathcal C\) における射(写像) \(f \colon P \otimes A \to B\) に対応して, \((P,f) \colon A \to B\) を射として持つような圏を, \(\mathcal C\) をパラメタライズした圏 \(Para(\mathcal C)\) と呼ぶ.
Para 圏での2つの射 \((P,f) \colon A \to B\) と \((Q,g) \colon B \to C\) の合成を考える. 元の圏に戻すと,
\[f \colon P \otimes A \to B ,~ g \colon Q \otimes B \to C\]ここから
\[\_ \otimes A \to C\]を作りたい. 適当に型を合わせれば自然に決まって,
\[1_Q \otimes f ~\colon~ Q \otimes P \otimes A \to Q \otimes B\]これに \(g\) を合成して,
\[(1_Q \otimes f) ; g ~\colon~ Q \otimes P \otimes A \to C\]が元の圏で得られる. これは Para 圏では,
\[(Q \otimes P, (1_Q \otimes f) ; g) ~\colon~ A \to C\]となる. というわけで,
\[(P,f) ; (Q,g) := (Q \otimes P, (1_Q \otimes f) ; g)\]とすればよい.
2つの射
があるときにこの間の自然変換とは, もとの圏での射
\[r \colon P \to P'\]であって,
\[f = f' ; (r \otimes 1_A)\]となるようなもの.
\[ \begin{CD} P \times A @>r \times 1>> P' \times A \\ @VVV @VVV \\ B @= B \end{CD} \]この \(r\) をパラメータ変換 (re-parameterization) と呼ぶ.