『音による故障予知の教科書たたき台:7.9 スケーリングと正規化』LLMと一緒に書いてみた—AIが導く研究メモ

7. 機械学習の基本  

7.9 スケーリングと正規化

まず土台となる考え方をやさしく整理する。スケーリングと正規化は、数値特徴の“物差し”をそろえる前処理である。センサAは0〜1の小さな値、センサBは0〜10,000の大きな値、というように桁や単位が大きく違うと、距離にもとづく手法や勾配降下で学ぶ手法は“大きい桁の特徴”ばかりを重視してしまう。そこで、特長の異なるスケーリング法を使って、学習アルゴリズムが公平に各特徴を扱えるようにするのが目的である。多くのアルゴリズム(k近傍法、SVM、ロジスティック回帰、ニューラルネットなど)はスケーリングで収束が速くなり、精度も安定しやすいと解説されている。[1][2][3]

なぜ必要かを具体的に押さえる。- 公平性の確保:桁の大きい特徴が支配するのを防ぎ、各特徴が同程度に学習へ寄与できる。- 収束の改善:勾配降下系の学習は、尺度が整うと損失関数の形が扱いやすくなり、学習が速く安定する。- 距離の妥当化:k近傍法やSVMのように距離・内積に敏感な手法で、スケール差による歪みを避ける。- 数値安定性:巨大/極小の値が混在する演算でのオーバーフロー・アンダーフローの回避にも役立つ。一方で、木系モデル(決定木・ランダムフォレスト・勾配ブースティングなど)はしきい値で分割する仕組みのため、スケーリングの影響は小さいと整理される(必須ではない)。[2][4][3][5][6][7][1]

代表的な手法を順に説明する。- 標準化(Standardization):平均0・分散1になるように各特徴を変換する(Zスコア)。多くの学習器で“最初の選択肢”になりやすい基本形で、PCAのように“中心化が前提”の手法とも相性がよい。- 最小最大スケーリング(Min-Max):各特徴を一定範囲(ふつう0〜1)へ線形に押し込める。ニューラルネットの入力などで使いやすいが、外れ値に引っ張られやすい。- ロバストスケーリング(Robust):中央値と四分位範囲(IQR)でスケーリングする。外れ値に強いのが特長で、外れが多い現場データに有効。- 単位ベクトル正規化(ベクトル正規化):各サンプル(ベクトル)をそのノルムで割って長さ1に揃える。コサイン類似度や方向性を重視する場面の下準備になる。これらは“どれが常に正解”ではなく、データ分布とアルゴリズムの性質で使い分けるのが定石である。[3][8][9][10][11][12][2]

手法ごとの向き不向きをもう一段噛み砕く。標準化は、平均と分散で揃えるため、多くの線形モデルやSVM、ニューラルネットで収束が安定しやすい。ただし平均・分散は外れ値に敏感なので、外れが多い分布では効きが悪いことがある。最小最大は範囲が揃って扱いやすい反面、1個の極端値でレンジ全体が圧縮され、ほとんどのデータが狭い区間に押し込まれて特徴差が埋もれることがある。ロバストは外れに強いが、IQR基準ゆえ分布の裾や密度の違いをどこまで拾うかに設計上の判断が必要だ。単位ベクトル正規化は“長さより方向”を重視したいときに向き、距離というより角度(コサイン)に近い解釈で使われる。[8][9][10][12]

アルゴリズム別の影響を具体化する。- 距離系(k近傍、k-means):スケール差がそのまま距離に効くため、スケーリングが本質的。スケーリングの有無で“まったく別の結果”になることもある。- SVM:マージン・カーネルがスケールの違いに敏感。標準化等で安定度と性能が上がりやすい。- 勾配降下系(線形/ロジスティック回帰、NN):勾配のスケールが揃い、収束が速くなる。- 主成分分析(PCA):スケーリングで各特徴の寄与が均され、成分の解釈・再現率が大きく変わることがある。- 木系(決定木/ランダムフォレスト/GBDT):基本的に無関係(しきい値分割)で、スケーリング必須ではない。[4][5][7][1][2][3]

実務での選び方の指針をまとめる。- 出発点:標準化を基本に、外れが多いならロバストを検討、レンジ制御や入力層仕様がある場合は最小最大を選ぶ。- 外れ値:平均・分散を使う方法(標準化、最小最大)は外れに弱い。四分位(IQR)ベースのロバストが有効。- 分析目的:PCAなど分散に基づく手法は、標準化(中心化)を前提に考えると整合が取りやすい。- モデル適合:距離系・SVM・勾配降下系はスケーリング必須級、木系は任意。混在させる場合は、距離・勾配に合わせたスケーリングを優先する。[10][11][12][2][3][8]

実務フローの要点は“漏えい防止”と“一貫性”に尽きる。- 学習パイプライン:訓練データでスケーラーを学習し、その変換だけを検証・本番に適用する(全体で先に平均・分散を計算しない)。これにより情報漏えいを防ぎ、汎化評価の公正さを保てる。- 指標での確認:スケーリングなし/ありを比べて、kNN・SVM・ロジスティック回帰・PCAなどで性能と収束の差を見る。PR曲線・F1やAUCで評価設計を一定に保つ。- 外れ値診断:箱ひげ・IQR・分位点で分布を確認し、標準化で崩れるならロバストへ切替や外れ処理(削除/代入)を検討する。- 再現性:スケーラーの学習統計(平均、標準偏差、分位など)と乱数シードを保存し、再学習・本番適用で整合を取る。[12][2][3][8][10]

よくある落とし穴と回避策。- すべてに最小最大:外れ値1つでレンジが潰れ、ほとんどの点が0付近に圧縮されることがある。ロバストや外れ処理を検討。- 標準化=万能と誤解:外れが多いと平均・分散が歪み効きが悪い。ロバストや分布変換(対数など)と併用。- 木系にも必ず適用:不要な処理で解釈や再現性を複雑化。木系は原則不要、ただし他モデルと併用する統一パイプライン上では一貫性を考慮。- 分析ごとに別のスケーリング:学習・推論の整合が崩れる。学習時に確定したスケーラーを本番で必ず使う。[2][3][8][10][12]

現場導入のミニ手順。1) 事前診断:各特徴の単位・範囲・外れを確認(ヒストグラム・箱ひげ)。距離系や勾配降下を使うならスケーリング前提とする。2) 仮適用:標準化を起点に、外れが多ければロバストへ切替、入力仕様が0〜1前提なら最小最大にする。3) 検証:スケーリング別に学習・PR/AUC等で比較、収束速度も観察(エポック・時間)。PCA採用時は標準化あり/なしの主成分差も確認。4) 固定:最良のスケーリングを決め、訓練統計を保存。パイプライン化して分割・前処理・学習・推論の順序を固定。5) 運用:分布のドリフトが起きたら、訓練統計の更新(再フィット)や手法の再選定(標準化↔ロバスト)を計画的に実施。[11][3][10][12][2]

最後に要点をひとことでまとめる。スケーリングと正規化は「特徴の物差しをそろえる」ための基礎工程であり、距離系と勾配降下系の性能・収束・安定性に直結する。標準化・最小最大・ロバスト・ベクトル正規化を、分布と外れの状況、アルゴリズムの性質に合わせて選び、訓練基準の統計で一貫適用することが、再現性と汎化性能を両立させる近道である。[3][12][2] [1] https://www.geeksforgeeks.org/machine-learning/ml-feature-scaling-part-2/

[2] https://scikit-learn.org/stable/auto_examples/preprocessing/plot_scaling_importance.html

[3] https://www.muegenai.com/docs/datascience/machine_learning_intro/ml_pipeline/feature_scaling

[4] https://milvus.io/ai-quick-reference/what-is-feature-scaling-and-why-is-it-necessary-when-working-with-datasets

[5] https://apxml.com/courses/intro-feature-engineering/chapter-4-feature-scaling-transformation/need-for-scaling

[6] https://dev.to/vikas_gulia/feature-scaling-in-machine-learning-why-it-matters-and-how-to-do-it-45m5

[7] https://www.linkedin.com/pulse/which-machine-learning-algorithm-does-require-data-dilek-celik-phd-n1jde

[8] https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html

[9] https://en.wikipedia.org/wiki/Feature_scaling

[10] https://www.geeksforgeeks.org/machine-learning/standardscaler-minmaxscaler-and-robustscaler-techniques-ml/

[11] https://towardsdatascience.com/data-scaling-101-standardization-and-min-max-scaling-explained-60789833e160/

[12] https://scikit-learn.org/stable/modules/preprocessing.html

[13] https://apxml.com/courses/introduction-to-machine-learning/chapter-6-preparing-your-data/introduction-feature-scaling

[14] https://www.youtube.com/watch?v=bqhQ2LWBheQ

[15] https://www.lyzr.ai/glossaries/feature-scaling/

[16] https://www.kaggle.com/code/marcinrutecki/standardize-or-normalize-ultimate-answer

[17] https://mkang32.github.io/python/2020/12/27/feature-scaling.html

[18] https://arxiv.org/pdf/2212.12343.pdf

※本ページは、AIの活用や研究に関連する原理・機器・デバイスについて学ぶために、個人的に整理・記述しているものです。内容には誤りや見落としが含まれている可能性もありますので、もしお気づきの点やご助言等ございましたら、ご連絡いただけますと幸いです。

※本ページの内容は、個人的な学習および情報整理を目的として提供しているものであり、その正確性、完全性、有用性等についていかなる保証も行いません。本ページの情報を利用したこと、または利用できなかったことによって発生した損害(直接的・間接的・特別・偶発的・結果的損害を含みますが、これらに限りません)について、当方は一切責任を負いません。ご利用は利用者ご自身の責任でお願いいたします。

おすすめの記事