データの正規化(最大値・最小値バージョン、平均・分散バージョン)

最終更新日 2018/10/28

データを一次式で変換することで、最大値や最小値を調整したり、平均や分散を調整することができます。

最大値を $1$、最小値を $0$ にする正規化

データ $X$ が与えられたとき、
$Y=\dfrac{X-x_{\min}}{x_{\max}-x_{\min}}$
と変換すると、$Y$ の最大値は $1$、最小値は $0$ になる。

ただし、$x_{\max}$ はデータの最大値、$x_{\min}$ はデータの最小値です。

例題:$1,2,3,4,5$ という $5$ つのデータを、最大値が $1$、最小値が $0$ になるように正規化してみましょう。

データの中の最大値は $x_{\max}=5$、最小値は $x_{\min}=1$ なので、
$Y=\dfrac{X-1}{5-1}=\dfrac{1}{4}(X-1)$
という変換をすれば正規化されます。

$X=1$ のとき $Y=0$
$X=2$ のとき $Y=0.25$
$X=3$ のとき $Y=0.5$
$X=4$ のとき $Y=0.75$
$X=5$ のとき $Y=1.0$

なので、正規化後のデータは、
$0,0,25,0.5,0.75,1.0$
となり、最大値は $1$、最小値は $0$ となっています。

最大値を $M$、最小値を $m$ にする正規化

データ $X$ が与えられたとき、
$Y=\dfrac{X-x_{\min}}{x_{\max}-x_{\min}}(M-m)+m$
と変換すると、$Y$ の最大値は $M$、最小値は $m$ になります。

$M=1$、$m=0$ としたら先ほどの変換と一致します。

例えば「データを $-\pi$ から $\pi$ の間におさめたい」というときは $M=\pi$、$m=-\pi$ としてください。

平均を $0$、分散を $1$ にする正規化

確率変数(またはデータ) $X$ に対して、
$Y=\dfrac{X-\mu}{\sigma}$
と変換すると、$Y$ の平均は $0$、分散(および標準偏差)は $1$ となる。

ただし、$\mu$ は $X$ の平均、$\sigma$ は標準偏差です。

この操作は正規化というよりも標準化と言われることが多いです。こちらの正規化については、
統計における標準化の意味と目的
で詳しく説明しています。

また、本ページで解説したデータの正規化が、pythonの機械学習ライブラリであるsklearnなどを使って行うことができます。
関連:fit、transform、fit_transformの意味を、正規化の例で解説

ページ上部へ戻る