データ前処理(Data Preprocessing) には、(1)データクリーニング(Data Cleaning), (2)データインテグレーション(Data Integration), (3)データリダクション(Data Reduction), (4)データトランスフォーメーション(Data Transformation)があります。
正規化(Normalization) は、データトランスフォーメーションに関する手法です。正規化は、例えば、データセットの特徴量を、0-1のような小さい範囲のレンジに落とし込みます。
- 正規化を扱うメリットは何か?
- 正規化にはどんな種類の方法があるか?
正規化を利用するメリット
そもそも正規化は何のために利用するんですか?
- モデル学習の効率化
- レンジが大きな特徴量の影響を抑制
- 前知識がないデータの処理
正規化(Normalization)は、距離を計測するアルゴリズムの効率性・予測精度を向上するために扱います。数値の範囲が大きく異なる特徴量を扱うと、学習がうまく進まなかったりするからです。
例えば、長さの単位を「メートル」から「ミリメートル」に変更すると、データのレンジはより大きくなります。一般的に、レンジが大きな特徴量の影響は、大きくなる傾向にあります。
正規化は、異なる単位のデータを[-1,1]や[0,1]などの小さな共通レンジに落とし込み、単位の違いの影響を避ける手助けをします。
ニューラルネットワーク、k-NNなどの分類アルゴリズムでも、正規化を利用します。
正規化の種類
正規化っていくつかアプローチがあるんでしょうか?
正規化の例として、ここでは、(1)min-max normalization, (2)z-score normalization, (3)log-scaling、の3つをまとめます。
Min-Max Normalization
Min-Max Normalizationは、特徴量の最大値と最小値を利用して、オリジナルのデータセットに対して変換を行います。
データセットの特徴量Aの最小値と最大値をそれぞれ\(min_A, max_A\)、特徴量Aの変換したい値を\(x_i\)、正規化によって得られる値を\(x^{\prime}_i\)とおくと、\(x^{\prime}_{i}\)は
$$x^{\prime}_{i} = \frac{x_i-min_A}{max_A – min_A}$$
から計算します。
Min-Max Normalizationの特徴として、オリジナルのデータ同士の関係性を保存することが挙げられます。
Min-Max Normalizationは、scikit learnでも扱えます。
z-score Normalization
z-score Normalizationは、特徴量Aの平均\(\mu_A\)と標準偏差\(\sigma_A\)を使う方法です。
特徴量Aの変換したい値を\(x_i\)、正規化によって得られる値を\(x^{\prime}_i\)とおくと
$$x^{\prime}_{i}=\frac{x_i – \mu_A}{\sigma_A}$$
から計算できます。
z-score Normalizationは
- 実際の最小値・最大値が不明なとき
- min-max normalizationで影響が大きな外れ値が存在するとき
に役立ちます。
log scaling
log scalingは、広いレンジのデータを狭いレンジに収めるために利用します。特徴量Aの変換したい値を\(x_i\)、正規化によって得られる値を\(x^{\prime}_i\)とおくと
$$x^{\prime}_{i}=\log x_i$$
から計算できます。
log scalingは、ベキ分布(power-law distribution)に従うデータに利用できます。log scalingはデータの分布形状を変え、線形モデルのパフォーマンスの向上に役立ちます。
正規化(特にz-score normalization、log scaling)は大きくデータの分布を変えます。
まとめ
この記事は正規化についてまとめました。
- 正規化は、データのレンジを共通尺度に落とすためのデータ前処理に関する手法
- 正規化を扱うメリット
- モデル学習の効率化
- レンジが大きな特徴量の影響を抑制
- 前知識がないデータの処理
- 正規化の種類
- Min-Max Noramlization
- z-score Normalization
- log scaling
この記事は以上です。最後まで読んで頂きありがとうございました!
参考資料
(1) Jiawei Han, Micheline Kamber, Jian Pei, Data Mining: Concepts and Techniques, 2011
(2) Data Preparation and Feature Engineering for Machine Learning (4/24/2022 アクセス)
(3) Kaggle, Data Cleaning Challenge: Scale and Normalize Data (4/20/2022 アクセス)
この記事は「正規化」についてまとめます。