【せいきか】

正規化(機械学習) とは?

最終更新:
💡 値の尺度を整えて、モデルが扱いやすくする

データの値を決めた尺度や基準へ変換する処理。機械学習では特徴量を0〜1の範囲へ変換する方法や、各入力を長さ1にそろえる方法などがある。必要性と方式はモデルや目的によって異なる。

📌 このページのポイント
Min-Max変換の数値例 学習データの列ごとに、0〜1へ 変換前 変換後 年齢 年収 年齢 年収 20 200万 0 0 40 400万 0.5 0.5 60 600万 1 1 (値 − 最小値)÷(最大値 − 最小値) 列の値が一定ではない場合の式 評価用にも、学習時の基準を使う 範囲外の新しい値は、0〜1を超えることも
同じ三つの学習例を列ごとに変換。値の尺度をそろえても、特徴量の重要度が等しくなるわけではない。
ひよこ ひよこ
なんで値の尺度をそろえる必要があるの?
ペンギン先生 ペンギン先生
距離や値の大きさを使うモデルでは、年齢と年収のように尺度が違う特徴量が結果に強く影響することがあるよ。尺度をそろえると扱いやすくなる場合がある。ただし、決定木のように通常は尺度をそろえる必要がないモデルもあるんだ。
ひよこ ひよこ
0〜1にすれば、みんな平等に学習できる?
ペンギン先生 ペンギン先生
数値の範囲をそろえる処理であって、重要度まで等しくするものではないよ。Min-Max変換なら学習データの最小値を0、最大値を1にする。範囲外の新しい値は、同じ変換を使うと0未満や1超になることもあるんだ。
ひよこ ひよこ
標準化とMin-Max変換はどう違うの?
ペンギン先生 ペンギン先生
標準化は、特徴量ごとの平均を引いて標準偏差で割る方法だよ。Min-Max変換や、入力ごとの長さを1にする処理とは違う。「Normalization」を広い意味で使う資料もあるので、名前だけで判断せず処理を確認するんだ。
ひよこ ひよこ
学習用と評価用は別々に変換すればいい?
ペンギン先生 ペンギン先生
Min-Maxや標準化では、学習用のデータで求めた基準を評価用にも使うよ。評価用まで含めて最小値や平均を求めると、評価用の情報が学習へ混ざるデータリークになる。評価用だけで別の基準を作るのも、尺度がずれる原因になるんだ。
ひよこ ひよこ
バッチ正規化も同じ前処理なの?
ペンギン先生 ペンギン先生
バッチ正規化はニューラルネットワーク内部の値を調整する層だよ。学習時はバッチの統計量、通常の推論時は学習中に蓄えた統計量を使い、学習する倍率や偏りもある。Layer Normalizationは各入力の指定した軸で統計量を求める。どちらも、入力データを一度0〜1へ変換する前処理とは区別するんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Normalization」って出てきたら「データの値を決めた尺度や基準に変換する処理」と思えばだいたいOK!
📖 おまけ:英語の意味
「Normalization」 = 正規化
💬 同じNormalizationでも、特徴量の範囲をそろえる処理や、入力ベクトルの長さをそろえる処理などを指すよ。使うライブラリや文脈で、変換の基準を確かめよう。

参考資料

← 用語集にもどる