machine_learningヘッダファイルパッケージで用いている計算式
5. 入力変数\(x_i^{(0,n)}\)の規格化
(Formula used in machine_learning header file package;
5. Normalization of the input variable \(x_i^{(0,n)}\))
入力変数\(x_i^{(0,n)}\)の範囲を例えば\([-1,1]\)などに揃えると
モデルパラメータの推定がやりやすくなる。
この規格化のための計算式について考えよう。
教師データにおける規格化前の入力変数を\(x_i^{(0,n;U)}\)と表し、
その最小値を\(x_{i,min}^{(0;U)}\)、最大値を\(x_{i,max}^{(0;U)}\)とする
(上付き添字の\(U\)はun-normalized(規格化無し)の意)。
入力変数を最小値が\(x_{min}^{(0;N)}\)、
最大値が\(x_{max}^{(0;N)}\)となるように規格化する
(上付き添字の\(N\)はnormalized(規格化有り)の意)。
規格化後の変数の値を\(x_i^{(0,n;N)}\)と表すことにする。
なお規格化は\(i\)毎に独立に行うものとする。
すなわち全ての\(n,i\)に対する\(x_i^{(0,n;N)}\)全体の最小値・最大値が
\(x_{min}^{(0;N)}\), \(x_{max}^{(0;N)}\)になるようにするのではなく、
どの\(i\)においても\(x_i^{(0,n;N)}\)の\(n\)に関する最小値・最大値が
\(x_{min}^{(0;N)}\), \(x_{max}^{(0;N)}\)になるようにする。
言い換えれば規格化後の変数\(x_i^{(0,n;N)}\)はどの\(i\)においても共通の範囲
\([x_{min}^{(0;N)},x_{max}^{(0;N)}]\)に入るようにする。
このとき\(x_i^{(0,n;U)}\)と\(x_i^{(0,n;N)}\)の間には以下の関係が成り立つ。
\[\begin{eqnarray}
x_i^{(0,n;N)}
&=& x_{min}^{(0;N)}+\left(x_i^{(0,n;U)}-x_{i,min}^{(0;U)}\right)
\frac{x_{max}^{(0;N)}-x_{min}^{(0;N)}}
{x_{i,max}^{(0;U)}-x_{i,min}^{(0;U)}}
\nonumber \\
& & \left(n=0,\cdots,N-1;i=0,\cdots,J^{(0)}-1\right)
\label{eq.x0.normalize}
\end{eqnarray}\]
The estimation of the model parameters becomes easier
by converting the input variables \(x_i^{(0,n)}\) to
a unified range of, e.g., \([-1,1]\).
Let us consider the formula for this normalization.
Let \(x_i^{(0,n;U)}\) be the input variables of the teaching data
before the normalization,
and let \(x_{i,min}^{(0;U)}\) and \(x_{i,max}^{(0;U)}\) be
the minimum and maximum, respectively, of them;
the superscript \(U\) means “un-normalized”.
Let us normalize \(x_i^{(0,n;U)}\)
to a range \([x_{min}^{(0;N)},x_{max}^{(0;N)}]\),
where the superscript \(N\) represents “normalized”.
Let \(x_i^{(0,n;N)}\) be the variables after the normalization.
Note that the normalization is conducted independently for each \(i\).
Namely, \(x_{min}^{(0;N)}\) and \(x_{max}^{(0;N)}\) are not defined
as the total minimum and maximum of \(x_i^{(0,n;N)}\)
for all \(n\) and \(i\)
but defined as the minimum and maximum of \(x_i^{(0,n;N)}\)
with respect to \(n\) for any \(i\).
In other wards, the variables \(x_i^{(0,n;N)}\)
after the normalization for any \(i\)
are in the same range \([x_{min}^{(0;N)},x_{max}^{(0;N)}]\).
Then Eq. (\ref{eq.x0.normalize}) holds
between \(x_i^{(0,n;U)}\) and \(x_i^{(0,n;N)}\).
規格化を行うとモデルパラメータ\(W_{j,i}^{(m)}\)も変化する。
規格化前の入力変数\(x_i^{(0,n;U)}\)に対応するモデルパラメータを
\(W_{j,i}^{(m:U)}\)、
規格化後の入力変数\(x_i^{(0,n;N)}\)に対応するモデルパラメータを
\(W_{j,i}^{(m:N)}\)
とする。
これらを用いて入力層の変数の線形結合\(y_j^{(0,n)}\)を表すと
以下のようになる。
まず、規格化前の変数とモデルパラメータを用いると
\[\begin{equation}
y_j^{(0,n)}
=\sum_{i=0}^{J^{(0)}-1}W_{j,i}^{(0;U)}x_i^{(0,n;U)}+W_{j,J^{(0)}}^{(0;U)}
\hspace{1em} \left(n=0,\cdots,N-1; j=0,\cdots,J^{(1)}-1\right)
\label{eq.y0.unnormalized}
\end{equation}\]
である。また規格化後の変数とモデルパラメータを用いると
\[\begin{equation}
y_j^{(0,n)}
=\sum_{i=0}^{J^{(0)}-1}W_{j,i}^{(0;N)}x_i^{(0,n;N)}+W_{j,J^{(0)}}^{(0;N)}
\hspace{1em} \left(n=0,\cdots,N-1; j=0,\cdots,J^{(1)}-1\right)
\label{eq.y0.normalized}
\end{equation}\]
と書ける。
これらが等しくなるように
\(W_{j,i}^{(0:U)}\)と\(W_{j,i}^{(0:N)}\)の関係を定めれば
それ以降の変数には影響が及ばずに済む。
(\ref{eq.y0.normalized})に(\ref{eq.x0.normalize})を代入すると
\[\begin{eqnarray}
y_j^{(0,n)}
&=& \sum_{i=0}^{J^{(0)}-1}W_{j,i}^{(0;N)}\left[
x_{min}^{(0;N)}+\left(x_i^{(0,n;U)}-x_{i,min}^{(0;U)}\right)
\frac{x_{max}^{(0;N)}-x_{min}^{(0;N)}}{x_{i,max}^{(0;U)}-x_{i,min}^{(0;U)}}
\right]+W_{j,J^{(0)}}^{(0;N)}
\nonumber \\
&=& \sum_{i=0}^{J^{(0)}-1}W_{j,i}^{(0;N)}
\frac{x_{max}^{(0;N)}-x_{min}^{(0;N)}}
{x_{i,max}^{(0;U)}-x_{i,min}^{(0;U)}}
x_i^{(0,n;U)}
\nonumber \\
& & +\sum_{i=0}^{J^{(0)}-1}W_{j,i}^{(0;N)}\left[
x_{min}^{(0;N)}-x_{i,min}^{(0;U)}
\frac{x_{max}^{(0;N)}-x_{min}^{(0;N)}}
{x_{i,max}^{(0;U)}-x_{i,min}^{(0;U)}}
\right]+W_{j,J^{(0)}}^{(0;N)}
\nonumber \\
& & \left(n=0,\cdots,N-1; j=0,\cdots,J^{(1)}-1\right)
\label{eq.normalized.arranged}
\end{eqnarray}\]
となり、これが(\ref{eq.y0.unnormalized})と等しくなるようにするには
\[\begin{equation}
W_{j,i}^{(0;U)}=
W_{j,i}^{(0;N)}
\frac{x_{max}^{(0;N)}-x_{min}^{(0;N)}}{x_{i,max}^{(0;U)}-x_{i,min}^{(0;U)}}
\hspace{1em} \left(i=0,\cdots,J^{(0)}-1;j=0,\cdots,J^{(1)}-1\right)
\label{eq.W0.unnormalize}
\end{equation}\]
\[\begin{eqnarray}
W_{j,J^{(0)}}^{(0;U)}
&=& \sum_{i=0}^{J^{(0)}-1}W_{j,i}^{(0;N)}\left[
x_{min}^{(0;N)}-x_{i,min}^{(0;U)}
\frac{x_{max}^{(0;N)}-x_{min}^{(0;N)}}
{x_{i,max}^{(0;U)}-x_{i,min}^{(0;U)}}
\right]+W_{j,J^{(0)}}^{(0;N)}
\nonumber \\
& & \left(j=0,\cdots,J^{(1)}-1\right)
\label{eq.WJ0.unnormalize}
\end{eqnarray}\]
とすれば良いことが分かる。
\(W_{j,i}^{(0:U)}\)と\(W_{j,i}^{(0:N)}\)の関係をこのように定めれば
\(y_j^{(0,n)}\)以降の変数は規格化の影響を受けないので
\[\begin{equation}
W_{j,i}^{(m;U)}=W_{j,i}^{(m;N)}
\hspace{1em} \left(m=1,\cdots,M;i=0,\cdots,J^{(m)};j=0,\cdots,J^{(m+1)}-1\right)
\label{eq.W.unnormalize}
\end{equation}\]
である。
The normalization results in changes in \(W_{j,i}^{(m)}\).
Let \(W_{j,i}^{(m:U)}\) and \(W_{j,i}^{(m:N)}\) be
the model parameters corresponding to \(x_i^{(0,n;U)}\)
(before the normalization)
and \(x_i^{(0,n;N)}\) (after the normalization), respectively.
The linear combinations of the variables in the input layer (\(y_j^{(0,n)}\))
are then expressed as follows.
Using the variables and model parameters before the normalization,
\(y_j^{(0,n)}\) values are represented by Eq. (\ref{eq.y0.unnormalized}).
Using those after the normalization,
\(y_j^{(0,n)}\) values are represented by Eq. (\ref{eq.y0.normalized}).
If they are set equal, then the subsequent variables are not affected
by the normalization.
Inserting Eq. (\ref{eq.x0.normalize}) into (\ref{eq.y0.normalized})
results in (\ref{eq.normalized.arranged}),
and requiring that this equation is equivalent to (\ref{eq.y0.unnormalized}),
we obtain the relations between \(W_{j,i}^{(0:U)}\) and \(W_{j,i}^{(0:N)}\)
expressed by Eqs. (\ref{eq.W0.unnormalize}) and (\ref{eq.WJ0.unnormalize}).
Setting the relations between \(W_{j,i}^{(0:U)}\) and \(W_{j,i}^{(0:N)}\),
all the variables after \(y_j^{(0,n)}\) are not affected by the normalization;
we thus have Eq. (\ref{eq.W.unnormalize}).