正規化とは
(セイキカ,ノーマライズ,カノニカライズ,normalize,canonicalize,canonicalization,)一般的に正規化(Normalization)とは、さまざまな大きさや単位の情報/データを、比べやすく考えやすくするために、共通の基準やルールに合わせること、つまりデータを「普通の(Normal)」状態にする作業のことを指す。例えば走った距離を比較する際に、メートル(m)単位とキロメートル(km)単位が混在していると理解しづらいため、共通の単位に合わせる(例えば全てをkmに統一する)ことで情報が扱いやすくなる。
「正規化」や「標準化」という用語はさまざまな分野で用いられており、各分野で意味も異なる場合がある。例えばデータベース設計の「正規化」は、同じテーブル内のデータの重複をなくすなどの目的で、データを複数のテーブルに分割したりして整理することを指す。以下では「数学/統計学/機械学習における正規化」について説明している。
数学/統計学/機械学習における正規化(Normalization)とは、データのスケール(単位)を扱いやすいものに整えることである。正規化にはさまざまな方法が考えられるが、主要な方法に、
- 最小値0~最大値1にスケーリングする「Min-Max normalization」
- 平均0、分散1にスケーリングする「Z-score normalization」
の2つがある。
通常、単に「正規化」と言った場合は、Min-Max normalizationを指す。この場合の正規化とは、データの最小値からの偏差(=最小値を中心0にした場合の値)をデータ範囲(=最大値-最小値)で割ることである。これにより、データの最小値は0、最大値は1に変換される。
Z-score normalizationは、標準化(Standardization)と呼ばれるのが一般的である。標準化とは、データの平均値からの偏差(=平均値を中心0にした場合の値、中心化した値)を標準偏差で割ることである。これにより、データの平均は0、分散(標準偏差)は1に変換される(※分散1の平方根(√)はやはり1なので、標準偏差も1となる)。ちなみに、標準化を応用したのが「偏差値」である
機械学習における正規化や標準化は、主に機械学習モデルに入力する前のデータに対して行われる。例えばデータの列(特徴量)によっては、その範囲が0~1の場合もあれば、-50~+5000の場合もあり得るが、このように列によって数値の範囲が違いすぎると機械学習がうまくできなかったり、学習により多くの時間がかかったりする可能性がある。よって多くの場合では、データの前処理として正規化/標準化を行った方がよい。
正規化(せいきか、英語: normalization)とは、データなどを一定の規則に基づいて変形し、利用しやすくすること。言い換えると、正規形でないものを正規形(比較・演算などの操作のために望ましい性質を持った一定の形)に変形することをいう。多くの場合、規格化と訳しても同義である。
用語「正規化」は、非常に多くの分野で使われていて、分野によって意味も大きく異なるので、頻度が高い分野についてそれぞれ個別に説明する。
ベクトル[編集]
ノルムが定義されたベクトル空間のベクトル v に対し、それにノルムの逆数 ‖ v ‖−1 を掛けてノルムが 1 であるベクトルにすることを、正規化という。
なお、数学的なベクトルでなく、情報科学分野で数列を意味するベクトルの正規化は、この意味での正規化ではなく、後で述べる数量の正規化になる。多変量データをベクトル空間に表した場合などはどちらの意味にもとれ、結果が定数倍異なるので、注意が必要である。
波動関数[編集]
量子力学で現れる波動関数 Ψ は二乗可積分関数の空間のベクトルとみなすことができる。この意味でベクトル Ψ は正規化されることが多い。物理的には、この操作は全空間での存在確率の合計を 1 にすることと解釈される。
代数多様体の正規化[編集]
ネーターの正規化定理[編集]
数量[編集]
数量を代表値で割るなどして無次元量化し、互いに比較できるようにすることを、正規化という。
正規化した結果は単位系によらない。したがって、正規化することによって、たとえば身長と体重など、次元が異なりそのままでは比較できない数量が比較できる。次元が同じでも、夏と冬の1日の気温変化のように、条件が異なるデータも正規化によって比較しやすくなる。
正規化は特に多変量解析の前処理として行われ、この用途の正規化を特徴軸の正規化という。
正規化の方法には様々なものがあり、次の2つが基本的である。
どちらが適しているかは、どのようなデータをどのような解析のために正規化するかによる。多変量解析には2.が用いられる。
用途によっては、同じように比例変換やアフィン変換をするのでも、最大値が 1、最小値が 0(または −1)となるように正規化をすることもある。また、べき乗して歪度を 0 にする、あらかじめ与えられた分布に一致させるなど、もっと強い正規化が用いられることもある。
浮動小数点数[編集]
浮動小数点数には、「正規化数」と「非正規化数」という概念がある。浮動小数点数において(ゼロを除く)正規化数は、仮数部が必ず1以上基数(通常は2)未満である。