機械学習やデータサイエンスでは、データの前処理が非常に重要です。その中でも似たような言葉である「正規化」「正則化」「標準化」について解説します。 それぞれ全く違う言葉で、比較すること自体おかしいかもしれませんが、個人的にまとめて覚えてしまったので、比較してみます。
正規化 (Normalization)
目的: データの範囲を一定にすること
詳細:
- データのスケールを統一することで、異なる尺度の特徴量を同等に扱えるようにします。
- 一般的には0から1の範囲、または-1から1の範囲にスケーリングします。
- 方法の例: 最小値最大値スケーリング (Min-Max Scaling)
$$ [ X' = \frac{X - X_{\min}}{X_{\max} - X_{\min}} ]$$
使用例:
- 画像処理でピクセル値を0から1に正規化
- 機械学習モデルの入力データの前処理
正則化 (Regularization)
目的: モデルの過学習を防ぐこと
詳細:
- モデルが訓練データに過剰に適合しすぎないようにするための技術です。
- モデルの複雑さを抑えるために、損失関数にペナルティを追加します。
- 主な方法: L1正則化 (Lasso) と L2正則化 (Ridge)
-
L1正則化: 絶対値の和をペナルティとして追加
$$[ L = \sum (y_i - \hat{y}_i)^2 + \lambda \sum |w_i| ]$$ -
L2正則化: 二乗和をペナルティとして追加
$$ [ L = \sum (y_i - \hat{y}_i)^2 + \lambda \sum w_i^2 ]$$
-
L1正則化: 絶対値の和をペナルティとして追加
使用例:
- 回帰モデルでの過学習防止
- ニューラルネットワークの重みの制約
標準化 (Standardization)
目的: データを標準正規分布に変換すること
詳細:
- データの平均を0、標準偏差を1にスケーリングします。
- 標準正規分布 (( \mu = 0 ), ( \sigma = 1 )) に従うように変換します。
- 方法の例: Zスコア標準化
$$[ X' = \frac{X - \mu}{\sigma} ]$$
使用例:
- 機械学習アルゴリズムの前処理
- 特にサポートベクターマシン (SVM) やK-平均クラスタリングなどで効果的
比較表
特徴 | 正規化 (Normalization) | 正則化 (Regularization) | 標準化 (Standardization) |
---|---|---|---|
目的 | データ範囲の統一 | モデルの過学習防止 | データの平均と標準偏差の統一 |
スケーリング方法 | 0から1、または-1から1にスケーリング | モデルの損失関数にペナルティを追加 | 平均0、標準偏差1に変換 |
使用例 | 画像処理、機械学習の前処理 | 回帰モデル、ニューラルネットワークの過学習防止 | 機械学習アルゴリズムの前処理、SVMやクラスタリング |
代表的な手法 | 最小値最大値スケーリング | L1正則化(Lasso)、L2正則化(Ridge) | Zスコア標準化 |
データの前処理は機械学習モデルの性能や精度に大きな影響を与えます。それぞれの手法を適切に理解し、目的に応じて使い分けることが重要です。
この記事が、データ前処理の理解を深め、実際のプロジェクトでの適用に役立てば幸いです。