特徴スケーリングは機械学習において重要な役割を果たし、局所最適性と密接な関係があります。特徴スケーリングとは、同様の数値範囲になるように特徴データをスケーリングすることを指します。この目的は、モデルのトレーニング中に特定の機能が結果に過度の影響を与えるのを回避し、それによってモデルをより安定して正確にすることです。 局所最適性とは、局所領域で見つかった最適解を指しますが、必ずしも大域最適解であるとは限りません。機械学習では、最適化アルゴリズムが繰り返し最適な解決策を見つけることがよくあります。特徴データの範囲が大きく異なる場合、モデルのトレーニング プロセス中に、一部の特徴が最適化アルゴリズムの収束に大きな影響を与える可能性があり、その結果、アルゴリズムが局所的な最適化に陥り、全体的な最適解を見つけることができなくなります。 この問題を解決するには、フィーチャをスケーリングします。特徴データを同様の値にスケーリングすることで、
#特徴スケーリングの目的は、さまざまな特徴の数値範囲が類似していることを確認し、特定の特徴がモデルのトレーニングに過度の影響を与えることを回避することです。結果。 住宅面積 (単位: 平方メートル) と住宅価格 (単位: 10,000 元) によって特徴付けられる単純な線形回帰問題があるとします。特徴をスケーリングせず、元のデータをモデリングに直接使用しない場合、局所最適の問題が発生する可能性があります。これは、特徴の数値範囲が異なる可能性があり、モデルが計算においてより大きな値を持つ特徴を優先するためです。この問題を解決するには、平均正規化や標準化などを使用して特徴をスケーリングし、特徴値を同じ値の範囲にスケーリングします。これにより、計算時にモデルがすべての特徴に同じ重要性を与えることが保証されます。import numpy as np from sklearn.linear_model import LinearRegression # 原始数据 area = np.array([100, 150, 200, 250, 300]).reshape(-1, 1) price = np.array([50, 75, 100, 125, 150]) # 不进行特征缩放的线性回归 model_unscaled = LinearRegression() model_unscaled.fit(area, price) # 缩放数据 area_scaled = (area - np.mean(area)) / np.std(area) price_scaled = (price - np.mean(price)) / np.std(price) # 进行特征缩放的线性回归 model_scaled = LinearRegression() model_scaled.fit(area_scaled, price_scaled)
以上が局所最適解に対する機能スケーリングの影響の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。