📘

正規化と標準化

2024/11/18に公開

正規化(Normalization)

→データのスケールを0~1の範囲に揃えること

標準化(Standardization)

→データの平均を0、標準分散を1に揃えてスケールを整えること

実際の使用例

健康管理アプリでユーザーの体重と体脂肪率を使って健康状態を分析するモデルを作るという例に沿って説明していきます。

正規化

体重は40kgから150kgまで変動するのに対して、体脂肪率は通常5%から30%の範囲内です。このままだと、数値のスケールが大きく異なるため、モデルが体重に強く影響されてしまう可能性があります。

ここで正規化を使うことで、体重と体脂肪率を0から1の範囲に変換します。具体的には、体重の最大値(150kg)を1、最小値(30kg)を0に設定し、その間の体重データを0から1の範囲にスケーリングします。同じように、体脂肪率も最大値(40%)を1、最小値(5%)を0にして揃えます。

こうすることで、体重と体脂肪率が同じスケールになり、どちらのデータも均等に考慮されるようになります。これにより、モデルが体重だけに偏ることなく、体脂肪率も重要な情報として扱えるようになります。

標準化

健康管理アプリで体重と体脂肪率を分析するとき、これらのデータが異なる分布を持つことがあります。体重は大きくばらつく場合もあれば、体脂肪率は多くの人が似たような範囲に収まることが多いです。

標準化では、各データを「平均が0、ばらつき(標準偏差)が1」になるように調整します。具体的には、次のように行います。

  1. 体重の標準化:体重データの平均値を計算し、各体重の値からその平均を引きます。その結果を、体重データのばらつきを示す標準偏差で割ります。これで、体重のデータが平均0、標準偏差1のスケールに変換されます。
  2. 体脂肪率の標準化:同様に、体脂肪率データの平均を引き、標準偏差で割ります。これで、体脂肪率も平均0、標準偏差1に揃えられます。

バラつきを揃えることで、体重と体脂肪率が均等に扱われ、分析がより正確になります。

まとめ

正規化

→データの数値を0から1の範囲に揃えることで、異なるスケールの特徴量を比較しやすくする。

標準化

→データの平均を0、標準偏差を1に調整することで、ばらつきや分布の違いを揃える。

Discussion