Ch.01
データスケーリングと分布変換
年齢は20〜70、年収は2,000万〜2億と動きます。機械学習は「歳」や「円」を理解せず、数字の大きさだけを見ます。生データのまま渡すと、年収5,000万に引っ張られ「年齢30は無視していい」と誤解します。
データスケーリングは象サイズとネズミサイズの特徴量を同じ割合や点数に変換し、公平な土俵で比べるための必須工事です。大学入試の偏差値のような標準化、小箱に押し込むMin-Max、カラオケに現れたオペラ歌手を無視するRobustを学びます。
チャプター別 中級機械学習図
チャプターを選ぶと、下の図がそのチャプターの内容に切り替わります。中級機械学習の流れを一覧で確認できます。
データスケーリング:単位を揃え分布を扱う
1. スケーリングとは(身長合わせの靴)
マッチングAIが年齢差と年収差を比べる場面を想像してください。年齢5歳差と年収100万ウォン差は人間には「どちらもそこそこ近い」ですが、PCは「100万 vs 5」で年齢を塵扱いします。単位が違うとき起きる数字の大きさの独裁を防ぐため、すべての特徴量を0〜1や平均0付近の公平な目盛りに揃えるのがスケーリングです。
2. 標準化:偏差値の原理
数式:
易しい国語90点・難しい数学80点——素点だけでは不公平。平均()とばらつき()で直すと、難問をこなした側のが上がります。すべてのデータを平均0・分散1付近の公平な正規分布の運動場の中央に集めるのが標準化です。
3. Min-Max:ミニ箱に押し込む
数式:
最下位は、トップは、他は0.2・0.5・0.8のように配置。数十万単位の巨大な値もの小さな箱にぎゅうぎゅう押し込む直感的な圧縮です。ピクセルなど固定入力範囲に向きます。
4. Robust:カラオケのパヴァロッティを無視
数式:
世界クラスの歌手が近所のカラオケに現れると、平均点が壊れて全員が音痴扱いになります。Robustは中央値とIQR(正常な中央50%)だけで目盛りを引き、パヴァロッティ級の外れ値に揺られません。
5. スケーリング vs「正規化」という名前
同じ言葉でも文脈で意味が変わり、混同しやすいです。正規化はMin-Maxを指すことも、DLではL2重み正則化を指すこともあります。本章のスケーリングは特徴量の単位・範囲を揃える前処理であり、基礎ML Ch.13の正則化とは別物です。
距離の歪みも数字で見ると一目です。年齢差5・年収差100万ウォンだと、ユークリッド距離は に近く、ほとんどが年収軸から来ます。標準化で両軸の重みを揃えると、SVMのような距離・マージンモデルが年齢と年収をより公平に見られます。
スケーリング手法の比較
3手法がなぜそう動くか、どんなデータに向くかを文章でまとめました。
| 手法 | なぜこうなるか |
|---|---|
| 標準化 (Standardization) | は「平均から標準偏差何個分離れているか」に換えます。だから値は0付近・ばらつき1付近に集まり、SVMのような距離・マージンモデルが特徴量を同じ重みで比べやすくなります。一方 は全データの平均・散らばりなので、外れ値1つで平均がずれ、標準偏差が膨らみ、多くの点が変なに押し出されます。 |
| Min-Maxスケーリング | は最下位を、トップをに固定し、その間を比率で並べます。結果は常になので、ピクセル(0〜255)や固定入力を期待するNNに合います。ただし目盛りの両端は最小・最大の2点だけなので、極端値1つがを引き伸ばすと、他の値は0.01〜0.02のように潰れます。 |
| Robustスケーリング | は平均の代わりに中央値、標準偏差の代わりにIQR(中央50%の幅)を使います。外れ値が平均を引っ張っても中央値とIQRはほとんど動かないため、収入・決済のように裾が長い・外れ値が多いデータでも「普通の大半」の目盛りが保たれます。 |
なぜ重要か
1. 距離・マージンモデル(SVMなど)の生命線
これらのモデルは文字どおり「距離」やマージンを使います。スケールなしは、Xをcm・Yをkmで測る地図のようなものです。
年齢(約30〜40)と年収(約4,500〜6,100・万ウォン)だけの表を想像してください。年収の棒が画面を占めます。下のビジュアル左が範囲不均衡、右がz-score後に両軸の重みが揃った様子です。
2. 学習速度のブースター(ホットドッグ山 vs ご飯碗)
未スケールの損失地形は細長く、勾配降下がジグザグします。スケール後は丸い碗状になり、最適点へ素早く落ちます。
3. カンニング禁止(データリーク)
試験前に翌日の答案で模試点を直すのは完全な不正です。訓練(Train)とテスト(Test)をまとめて平均を取りスケーリングすると、未来を覗いたデータリークになります。練習では満点でも本番で崩れます。
どのように使われるか
状況に合うスケーラーを選ぶ
スケーラーに万能はありません。まずデータの形を見ます。
外れ値で平均が崩れたなら、平均・標準偏差に頼る標準化よりRobustが向きます。中央値とIQRで目盛りを引き、「パヴァロッティ1人」が全体の物差しを壊さないようにします。
ピクセルのように「0〜255」と範囲が決まっていて、入力をに揃えたいならMin-Maxが自然です。最小を、最大をにし、その間に並べます。
DLのように迷った一般数値なら、まず標準化を試すことが多いです。3手法の比較は下の表で確認できます。
訓練・検証・テストに同じ基準を適用する
実務ではまずデータを訓練・検証・テストに分けます。平均・最小・最大などのスケール基準は訓練データだけで決め、検証・テストにもそのまま適用します。検証やテストを混ぜて基準を作り直すと、模試の点数で明日の答案を先に見るようなデータリークになります。
交差検証でも同様です。各foldでそのfoldの訓練部分だけ基準を決め、検証行には決めた基準だけを適用します。模試を何度も受けても、採点基準は毎回訓練データだけから作らないと、本番の点数とずれます。
裾の長い分布はlog変換後にスケーリング
再生数・GDPなど右に長い裾があるデータは、いきなりスケーラーを当てず、先に で分布を丸めてから標準化するのが定石です。
モデル別に覚える例外
モデルによってスケーリングがほぼ必須か、省略できるかが分かれます。SVMのように距離やマージンを直接使う手法は、特徴ごとに目盛りが違うと大きい軸に引っ張られるため、スケールを外すと性能が大きく落ちることが多いです。
一方、決定木やランダムフォレストは「30は3より大きいか」という順位だけを見ます。年収が4,500万か4,500(万)かという絶対値より、誰が上か下かが重要なので、スケールを省略しても問題ないことが多いです。
ニューラルネットや勾配降下のように重みを少しずつ更新するモデルは、入力範囲がバラバラだと学習がジグザグになりやすくなります。Min-Maxや標準化で範囲を揃えると、損失の地形がなだらかに感じられ、学習が安定しやすくなります。
実践応用
一言: 象サイズとネズミサイズの特徴を公平な目盛りに揃え、距離・勾配モデルが一軸に引っ張られないようにする必須前処理です。
実務では次のように短く選べます。外れ値や裾の長い分布ならRobustまたはlog後の標準化。ピクセルや固定入力ならMin-Max。SVM・NNなど一般数値ならまず標準化。木・RFは順位だけ見るのでスケールは任意です。
守るべきルールは一つ。テスト・検証で基準を作り直さず、訓練(またはCVの訓練fold)だけで基準を決め、他にはそのまま適用することです。