見出し画像

標準化と正規化の違い

どうもナオキチです。

正規化とは

データに対して何らかの計算を行い、全てのデータが0~1の間の大きさにすること
min-maxスケール変換とも呼ばれる。
min-maxスケール変換を行う場合には異常に小さかったり大きかったりする値(外れ値)の有無に注意する必要がある。
例えば、全てのデータを「100で割る」、「2乗する」という操作によって値を0から1の間にすることが正規化と言えるわけです。


標準化とは

データに対して平均値が0、標準偏差が1になるように計算すること 理由は数学の世界になるので省きますが、全ての値から平均値を引いて標準偏差で割れば平均値=0、標準偏差=1になります。 これをZスコアというそうです。

正規化と違って特徴量の最大値や最小値が特定の範囲に入ることを保証するものではありません。そのため一部のアルゴリズムで問題になる場合があります。

多くの機械学習のアルゴリズムにはこのStandardScalerを用いたスケール変換の方が実用的という見方が多いです。というのは平均値0、標準偏差1となるようにスケール変換するということは特徴量が正規分布に従うようになって機械学習アルゴリズムが重みを学習しやすくなる(※)ことを意味するからで、一般的に何か特別な理由がない限りStandardScalerを用いた方が良いようです。


この記事が気に入ったらサポートをしてみませんか?